# Como Identificar o que Testar

Durante o processo de testes é necessário identificar o que deve ser testado, para isso, é necessário entender o que é um teste, e como ele é realizado.

# As 3 Principais formas de Documentar um Teste

Vamos entender as 3 formas de documentar um teste, para que possamos entender como identificar o que deve ser testado.

# Scripts de Teste

Forma mais detalhada de documentar um teste, quando os scripts são mencionados, geralmente detalham linha a linha as ações e dados necessários para rodar o teste. Tipicamente tem etapas para entender como o usuario programa, quais ações e em qual ordem para executar, incluindo resultados específicos de cada etapa, como verificação de mudanças. A ação é clicar em botão X, o resultado é uma janela fechar. Ao iniciar o trabalho, não necessariamente o tester entende de forma aprofundada a função, os scripts auxiliam no desenvolvimento suave do processo e compreensão do sistema. Entretanto, devemos considerar que o projeto sempre sofre alterações, com páginas refeitas, novas funcionalidades, etc, portanto, os scripts devem ser sempre atualizados. O empecilho gerado nesta modalidade é que o tempo gasto para atualização do script poderia ser investido na execução de mais testes, além disso, são feitos para testar coisas muito específicas e repetitivas, abrindo margem para que bugs localizados nas margens deste caminho não sejam detectados, sendo necessária a evolução constante.

# Casos de Teste

Segunda forma mais detalhada, descrevem uma ideia específica a ser testada, sem detalhar as etapas exatas a serem executadas. Por exemplo, testar se um código de desconto pode ser aplicado a produto em promoção, isto não descreve quais códigos serão utilizados, variando as abordagens utilizadas para encontrar o resultado. Proporciona maior flexibilidade de decisão ao tester para completar o teste, sendo benéfica para testers experiêntes e com boa compreensão da natureza e funções do sistema, entretanto, a ausência dessa familiaridade e experiência permite que bugs passem despercebidos.

# Cenários de Teste

Tipo menos detalhado de documentação, descrição de objetivo que o usuário pode encontrar ao utilizar o programa. Como por exemplo, testar se o usuário pode deslogar do programa ao fechá-lo, serão necessárias diversas técnicas para validar e testar a função apropriadamente, uma vez que os cenários oferecem pouca especificação o tester possui ampla flexibilidade para desenvolvimento do teste, esta flexibilidade oferece os mesmos prós e contras vistos nos casos de teste, sendo livre para o tester experiente e quase impossível ao profissional novato.

Pode ser feito o uso de todos estas modalidades, muitas vezes simultâneamente, e divida entre a equipe com base em suas diferentes habilidades e competências dentro do contexto específico do projeto.

# Como identificar o que testar

Vamos entender as diferentes formas de testar.

# Teste baseado em documentação

Ao efetuar qualquer teste, a documentação mais atualizada deve ser solicitada, como casos de uso, regras de negócio e qualquer documentação relevante.

É importante, uma vez com as documentações em mãos, iniciar, terminar e reportar os casos de teste de forma contínua, evitando esquecimentos e retrabalho futuro.

# Técnicas de Teste

É impossível testar tudo, sendo fundamental a aplicação das técnicas de forma a contemplar o máximo do sistema no menor tempo possível.

  • Soft Skills
  • Curiosidade Exploratória
  • Sabe ouvir: Nem sempre todas as informações estão em documentos, por vezes encontram-se em pessoas.
  • Team Player: Contribuir ativamente no grupo a fim de completar tarefas, cumprir metas e colaborar para o objetivo em comum.