O desenvolvedor deve fazer o teste inicial para que possamos saber que a peça que codificamos funcionaria da maneira que se espera que funcione, conforme os requisitos que obtivemos. Portanto, realizamos os testes normais e escrevemos testes de unidade para o código que escrevemos.
O próximo passo é o trabalho dos QAs para descobrir o que os desenvolvedores não veem quando escrevemos o código. Um desenvolvedor pensa em um nível superior, mas o usuário pode não pensar no mesmo nível. Quando o desenvolvedor está testando sua peça e precisa inserir algum texto em uma caixa de texto, ele pode sempre inserir uma string completa, pensando que o usuário também faria isso. Pode ser que o usuário faça isso também, mas aleatoriamente quando ele digita um caractere especial como% & $ ^ no texto e que quebra o aplicativo, ele não fica bem no usuário final. Um desenvolvedor não pode nem vai pensar em todas as possibilidades que poderiam acontecer porque ele não é treinado para pensar dessa maneira. Quando se trata de um controle de qualidade (testador), eles sempre pensam no que o usuário pode fazer para quebrar esse aplicativo e tentar todas as coisas estúpidas do livro, não os usuários são estúpidos, mas não devemos deixar nada ao acaso.
Agora também temos que entender que geralmente há mais de uma peça feita ao mesmo tempo e ambas irão para a produção. O desenvolvedor pode testar apenas sua peça e achar que está funcionando bem, mas o teste de regressão geral precisa ser feito para todas as peças que estão sendo empurradas, além de descobrir que a combinação de duas peças diferentes pode interromper o aplicativo. também não parece bom. Também precisamos considerar os cenários de teste de carga e outras coisas com as quais os testadores estão mais familiarizados.
Finalmente, temos que passar pelo UAT (Teste de aceitação do usuário) para ver se a peça que fizemos é o que é esperado. Geralmente, embora os requisitos atinjam os bacharéis, a pessoa final pode não saber exatamente como ela se parece e ele / ela pode pensar que não é o que eles esperavam ou podem querer adicionar outra coisa para torná-la melhor ou, por algum motivo, eles podem descartar o peça inteira como eles acham que a peça não iria com a funcionalidade já disponível.
Conforme explicado acima, eles são muito importantes e não podem ser feitos apenas pelo desenvolvedor e são absolutamente necessários para que o aplicativo funcione bem. A gerência pode dizer que esta é uma abordagem conservadora, mas é a melhor abordagem. Podemos fazer alguns ajustes no que foi dito acima, mas não podemos evitar o todo.