V&V Artigo 1
Todo software precisa ser testado. Essa tarefa esta enfim recebendo a sua devida importância, mas testar aplicações de grande porte pode tornar esse trabalho um tanto repetitivo e dispendioso, principalmente quando precisamos executar os chamados testes regressivos, que são testes reexecutados com o intuito de identificar defeitos introduzidos por novas funcionalidades ou correção de defeitos.
Com vista nisso, existem diferentes tipos de testes automáticos, para que juntamente com os testes manuais, possam garantir um mínimo de confiabilidade ao software, e manter o trabalho da equipe de testes mais produtivo. Os testes automatizados podem ser realizados usando de sua interface gráfica, e com o auxilio de um programa de execução de testes, “captura” as ações do testador, de forma que o mesmo possa reproduzir esse mesmo teste de forma automática sempre que necessário.
Além disso, essa abordagem permite escolher os dados que serão inseridos, para testar com diferentes dados de entrada. Essa abordagem traz como vantagem principalmente a facilidade em sua utilização, tendo em vista que nenhuma alteração é necessária no software a ser testado. Porém não tem um bom desempenho para testes que devem ser exaustivamente repetidos.
Outra abordagem é a chamada de testes baseados em lógica de negócio, que podem oferecer uma interface em linha de comando para os testes, ou oferecer os chamados hooks, que são uma forma de expor as funcionalidades internas do sistema, e oferecer uma interface para que a ferramenta de testes possa acessá-las. Seu desempenho é melhor do os testes baseados em interface gráfica. Porém sua aplicação é mais complicada, pois depende de alterações na aplicação a ser testada.
Com essas diferentes abordagem, fica claro que a automação de testes está ao alcance das empresas de desenvolvimento de software seja qual for o porte, e todas devem aproveitar as vantagens oferecidas por essas abordagens de teste.