Automação de teste. Sim ou não?

A tradução do artigo foi preparada em antecipação ao início do curso "Python QA Engineer" .










Antes de perguntar: "O que automatizar?", Você precisa responder à seguinte pergunta: "É racional automatizar alguma coisa no projeto atual?" Se a resposta for sim (o que significa que você tem todos os recursos necessários para garantir a automação, como especialistas qualificados em QA, tempo, dinheiro, etc.), você precisa criar um plano com base nos requisitos do objeto testado, para o qual será desenvolvido testes automatizados. Ao criar tal documento, você deve ter uma compreensão clara do que exatamente deseja automatizar, como e quais ferramentas de automação escolher. Agora não entraremos em detalhes de como exatamente testar esta ou aquela função, já que nos interessa onde, em nossa opinião, a automação deve ser implementada.



Claro, a lista abaixo está longe de ser completa, e uma lista detalhada de testes para verificar cada função parece uma tarefa inútil. Nossa tarefa é selecionar as partes do projeto que precisam ser automatizadas em primeiro lugar:



  1. Funcionalidade usada com frequência onde o risco de erros é alto. O teste automatizado dos principais pontos funcionais reduzirá o tempo para localizar erros e, consequentemente, o tempo necessário para eliminá-los também será reduzido.
  2. Operações de processamento de dados típicas e realizadas com frequência. Por exemplo, formulários nos quais o número de campos a serem preenchidos é grande o suficiente. O objetivo aqui é automatizar a entrada de dados no campo obrigatório e verificar se a tarefa foi concluída corretamente após o recebimento do resultado.
  3. Mensagens de validação. É necessário automatizar o envio de dados incorretos para os campos apropriados e testar a exatidão da validação dos dados e das mensagens de erro.
  4. Teste abrangente do comportamento de todo o sistema como um objeto integral (teste de ponta a ponta).
  5. A validação de dados requer cálculos matemáticos precisos (software de contabilidade ou analítico).
  6. Verificar a exatidão dos resultados da pesquisa exibidos em resposta a uma consulta de dados (verificar a exatidão da pesquisa de dados).
  7. Validação de recuperação de dados.


O que não automatizar?



Que tipos de testes não devo incluir nos testes automatizados? Vamos listar as situações em que os casos de teste não precisam ser automatizados:



  1. Testes de usabilidade que requerem intervenção manual para verificação de erros ou desvios do comportamento esperado;
  2. Casos de teste, que incluem instalação ou não requerem reexecução da função (no entanto, testes que implicam entrada de dados são necessários para automatizar);
  3. Evite automatizar testes que podem levar a resultados imprevisíveis (por exemplo, novos recursos, testes temporários, verificações de expiração).
  4. Testes de UX, que incluem verificar o comportamento de objetos em telas de vários tamanhos.


Para melhorar a eficiência dos testes automatizados, atenção especial deve ser dada aos casos de teste. É necessário destacar aqueles que estão focados em testar os seguintes aspectos:



  1. Criar / ler / atualizar / excluir operações (operações CRUD). O exemplo mais simples é a interface do usuário. Inserção, visualização e edição de dados do usuário, exclusão de informações.
  2. Cenários padrão para usar o aplicativo. Um exemplo é trabalhar com um cliente de e-mail: autorização, visualização de cartas, navegação pelas cartas recebidas, criação de novas e envio, logout. Essa sequência ponta a ponta testa toda a gama de ações e manipulações. A vantagem de tais cenários é que, ao final do teste, o sistema retorna ao seu estado original (ou próximo a ele), o que significa que o impacto nos resultados de outros testes é reduzido.
  3. Outros casos em que o teste manual não é adequado por algum motivo. Por exemplo, verificar a estrutura dos arquivos criados pelo sistema.


É da automação de tal funcionalidade que você pode obter o máximo benefício!







Consulte Mais informação:






All Articles