Processo para realizar os testes de software

 

Processo de Desenvolvimento e Teste
Processo de Desenvolvimento e Teste

Em um processo de desenvolvimento de software, encontramos diferentes atividades que precisam ser realizadas para que um sistema seja disponibilizado para os usuários finais, como pode ser observado na figura acima. Se pensarmos em um processo genérico, sem levarmos em consideração se são processos ágeis ou tradicionais, encontramos um conjunto de passos e artefatos para essa finalidade.


A primeira coisa que precisamos criar antes de desenvolver um sistema é a sua documentação. Há diferentes formas de descrever essa documentação, como por exemplo, casos de uso, user stories, lista de requisitos, backlog list, entre outras.

No entanto, para verificar se o sistema foi construído conforme a sua documentação, existem atividades que são realizadas com esse objetivo. O teste de software é a arte de realizar uma simulação em um software, com o objetivo de encontrar defeitos. ¹ Esses testes podem ser realizados de forma planejada em paralelo ao desenvolvimento do sistema. Para isso é importante criar um roteiro de teste, que é composto por um conjunto de casos de teste. Esses casos de teste descrevem cenários com base nas regras de negócio descritas para o sistema.

Durante a execução dos testes, o sistema pode conter erros que devem ser cadastrados em um relatório de defeitos. Esse relatório é enviado para o desenvolvedor, para que ele possa reproduzir os defeitos e corrigi-los. Assim que os defeitos forem corrigidos, é importante realizar uma atividade de reteste para confirmar se o sistema não possui mais os erros encontrados.

Apesar da atividade de teste de software ter a intenção de livrar o sistema de erros, no entanto os testes conseguem identificar apenas a presença de defeitos, mas não a ausência deles. ²

Dessa forma, à medida que o sistema é testado e os erros são corrigidos, ainda no ambiente de desenvolvimento, mais confiança a equipe possui ao lançar o sistema em produção. Dessa forma, há uma chance maior de o sistema ser aceito pelos usuários e também há uma redução com manutenção de sistema referente à erros em produção.

Referências:

¹ MYERS, G. J. The Arts of Software Testing.

² Dijkstra, E. A Case against the GO TO Statement.

Vídeo sobre o tema: