Apesar de ser considerada por muitos desenvolvedores como uma atividade desagradável, a prática de testes contribui de forma decisiva para a qualidade de um sistema. Se for feita de forma correta e eficaz, ela permite maximizar a satisfação do usuário e minimizar os problemas de funcionamento do sistema. Qual das seguintes explicações representa um conceito correto sobre os testes de software?
- A. A utilização da metodologia de desenvolvimento com base em testes (test first development) permite eliminar a fase de análise de requisitos, pois a realização dos testes de aceitação antes do desenvolvimento fazem com que a visão do usuário esteja presente dentro do sistema.
- B. Testes unitários buscam avaliar não só se a rotina compila e executa mas se os resultados da mesma são exatamente iguais aos esperados, de forma a garantir que a rotina tenha a funcionalidade esperada.
- C. Testes unitários são desenvolvidos e executados de forma automática após a implementação de cada rotina ou método criado, podendo garantir que o novo desenvolvimento é correto do ponto de vista sintático e semântico.
- D. A necessidade de testes de aceitação é diretamente proporcional à qualidade da fase de análises de requisitos se esta for muito bem feita, está implícito o aceite final por parte do cliente/usuário do sistema.
- E. O tempo gasto na fase de testes (tanto unitários quanto de validação e de aceitação) deve necessariamente ser menor do que o tempo gasto na parte de implementação, pois do contrário se estará diminuindo a produtividade geral do processo de desenvolvimento.