Testes de Software – O antes e o depois!
Octavio Oliveira, sales manager da Atos Portugal

Os testes de software não são propriamente uma novidade no mundo das tecnologias de informação, desde que se programa que se testa também, então o que evoluiu nesta área? A maior evolução prendeu-se com a necessidade de separação de quem programa e de quem testa (quem programa não deve testar e quem testa não deve programar) um pouco na linha da separação entre o desenvolvimento aplicacional e a operação.
Atualmente o mercado tem elevadas preocupações em termos do nível do desempenho e da segurança das aplicações, implicando desta forma novos desafios para quem testa e responsabilidades acrescidas para quem programa implicando para ambos uma contínua evolução de competências.
Longe vão os tempos em que programar estava limitado pelas capacidades do hardware, ainda me lembro de programar nos processadores 8086, utilizando diretamente linguagem de máquina Assembly o que obrigava a uma otimização do código com níveis hoje não utilizados pois não é necessário, mas também a anos luz do que hoje se consegue fazer. No começo, programar um microprocessador para executar uma determinada tarefa não era uma das coisas mais fáceis que existiam, o programador inicialmente estava limitado à programação diretamente em binário ou em hexadecimal o que não era intuitivo.
As falhas de software podem ter resultados inimagináveis…
Hoje tudo isto pertence ao passado, a programação evoluiu para a correlação de objetos, programar deixou de estar perto do hardware para estar perto dos utilizadores, atualmente existe uma enorme variedade de linguagens de programação, cada uma com os seus seguidores e defensores e a sua adaptabilidade ao que se pretende mas sempre vocacionadas para uma experiência e ou utilização fácil por quem utiliza as soluções finais.
Por tudo isto os testes de software tornaram-se tão importantes atualmente, já não basta criar software, não chega criar rapidamente, não é suficiente ser inovador, hoje tem de se ser perfeito, as falhas de software podem ter resultados inimagináveis, quem não se lembra da situação recente com os Boeing 737 Max.
Assim a função de testar software deverá ser desempenhada por alguém que conheça e domine práticas, técnicas e metodologias de testes, que saiba avaliar os resultados para o que os softwares foram criados levando a resultados mais rápidos, menos onerosos e com mais qualidade deixando para os programadores o que eles sabem fazer bem – programar. Olhando para as equipas altamente profissionais como o exemplo da Fórmula 1 e fazendo uma analogia com os projetos de TI, o piloto (programador) é quem brilha em pista, no entanto o seu desempenho resulta de uma equipa (garantia da qualidade) de profissionais altamente qualificados, cujo papel é crucial para a performance do piloto em prova.
toda e qualquer aplicação que passe em testes funcionais estará votada ao fracasso, se não for testada em situações de stress
O desenvolvimento de frameworks que permitam esta análise e esta ligação entre requisitos, analises e testes é hoje um desafio crucial que as empresas necessitam de pôr em prática pois o time-to-market está altamente dependente não só do que se constrói, mas acima de tudo da qualidade do que se faz.
É, pois, atualmente possível garantir a qualidade das aplicações através de uma metodologia preventiva de deteção de defeitos, e uma abordagem Risk Base Testing, intervindo no que realmente é critico para as organizações. Para sites e aplicações Web, especialmente em negócios B2C, os Testes de Performance são fundamentais, toda e qualquer aplicação que passe em testes funcionais estará votada ao fracasso, se não for testada em situações de stress e capaz de lidar com um pico significativo de demanda.
O teste automático tornou-se vital para garantir a rápida disponibilização de aplicações, tirando partido das vantagens competitivas no mercado. Nos dias de hoje é possível automatizar e reproduzir qualquer ação necessária ao teste, realizada por um utilizador ou não, numa qualquer aplicação/terminal, independentemente da sua tecnologia, permitindo assim realizar testes end to end ao ecossistema aplicacional, bem como realizar a Análise Estática de Código e Testes de Penetração, possibilitando validar os seus critérios de segurança e aperfeiçoá-los criando assim valor para as empresas na qualidade das aplicações que oferecem aos seus clientes.
Publicado em:
OpiniãoPartilhe nas Redes Sociais