Estamos integrando um processo de teste em nosso processo SCRUM. Minha nova função é escrever testes de aceitação de nossos aplicativos da web para automatizá-los posteriormente. Eu li muito sobre como os casos de teste devem ser escritos, mas nenhum me deu conselhos práticos para escrever casos de teste para aplicativos Web complexos e, em vez disso, lançaram princípios conflitantes que achei difíceis de aplicar:
Os casos de teste devem ser curtos: tome o exemplo de um CMS. Casos de teste curtos são fáceis de manter e identificar as entradas e saídas. Mas e se eu quiser testar uma longa série de operações (por exemplo, adicionar um documento, enviar uma notificação para outro usuário, o outro usuário responder, o documento mudar de estado, o usuário receberá um aviso). Parece-me bastante que os casos de teste devem representar cenários completos. Mas posso ver como isso produzirá documentos de teste abertamente complexos.
Os testes devem identificar entradas e saídas:: E se eu tiver um formulário longo com muitos campos em interação, com comportamentos diferentes. Escrevo um teste para tudo ou um para cada um?
Os casos de teste devem ser independentes: Mas como posso aplicar se o teste da operação de upload exige que a operação de conexão seja bem-sucedida? E como isso se aplica à escrita de casos de teste? Devo escrever um teste para cada operação, mas cada teste declara suas dependências ou devo reescrever o cenário inteiro para cada teste?
Os casos de teste devem ser levemente documentados: Este princípio é específico para projetos Agile. Então, você tem algum conselho sobre como implementar esse princípio?
Embora eu achasse que escrever casos de teste de aceitação seria simples, fiquei impressionado com todas as decisões que tinha que tomar (FYI: sou desenvolvedor e não testador profissional). Portanto, minha principal pergunta é: Quais etapas ou conselhos você tem para escrever casos de teste de aceitação sustentável para aplicativos complexos. Obrigado.
Editar : Para esclarecer minha pergunta: Estou ciente de que o teste de aceitação deve começar com o requisito e considerar todo o aplicativo como uma caixa preta. Minha pergunta está relacionada às etapas práticas para escrever o documento de teste, identificar os casos de teste, lidar com dependências entre testes ... para aplicativos Web complexos