Testes exploratórios fazem sentido em terra de Testes automatizados?
No mundo da tecnologia, mais precisamente na área de qualidade é muito comum querermos facilitar nosso trabalho e não precisar realizar a mesma ação diversas vezes em um teste, por isso automatizamos algumas funcionalidades para nos poupar tempo e acrescentar valor ao nosso trabalho. Mais já nos perguntamos se ao automatizar ̶q̶u̶a̶s̶e̶ ̶t̶u̶d̶o̶ não estamos deixando algumas funcionalidades e experiências do usuário de lado? Veremos se isso é verídico sabendo um pouco mais sobre testes exploratórios.
O que são testes exploratórios
O teste exploratório é a criação e a execução ao mesmo tempo de um teste. Quando realizamos um teste exploratório, normalmente o testador não possui informações detalhadas sobre o que vai testar e como vai testar se baseando na sua experiência, assim como no conhecimento que ele vai adquirindo sobre o produto durante a execução do teste exploratório.
Além de descobrir erros o teste exploratório também pode servir de base para a criação de outros tipos de testes. Esse tipo de teste ganha importância quando, por exemplo, se deseja reproduzir um bug aleatório não pensado no planejamento inicial ou quando se deseja saber a qualidade inicial de uma determinada aplicação.
Para que usamos esses testes?
- Muitas vezes o teste automatizado não consegue prever a ação do usuário perante a aplicação, sendo assim o teste exploratório mais vantajoso devido a sua possibilidade de testar vários cenários possíveis de bugs.
- Podemos usar esse tipo de teste em projetos ágeis por causa de prazos apertados e com o foco em resultados rápidos. Uma vez que os requisitos são entendidos pelo testador, ele pode realizar os testes com base em sua habilidade e intuição.
- No início e no fim do ciclo de desenvolvimento do software. Quando o código passa por mudanças rápidas, os testes exploratórios podem ser altamente eficazes.
- A experiência adquirida com o teste exploratório pode ser valiosa na preparação de scripts de teste e na realização de testes adicionais nos estágios posteriores do ciclo de vida de desenvolvimento de software.
- Os desenvolvedores podem usar essa técnica para realizar testes de unidade, enquanto os testadores podem se familiarizar com o aplicativo usando essa abordagem de teste.
Quais são as vantagens?
- Úteis quando existe pouca ou nenhuma documentação.
- Diagnóstico de comportamentos inesperados.
- Possibilidade de encontrar mais erros do que testes com um caminho bem definido.
- Geram novas ideias para os testes, também ajuda a incentivar a intuição e a criatividade do testador.
Quais são as desvantagens?
- A sua eficiência depende da experiência/habilidade do testador.
- Existe a possibilidade de mais defeitos serem perdidos se o testador tiver menos conhecimento do sistema.
- Não devem ser levados como principal abordagem de teste.
Testes exploratórios X Testes automatizados
A conclusão dessa história é que não existe disputa entre um ou outro. O que acontece é que cada um tem o seu ponto positivo e negativo mesmo com o mundo automatizando tudo algumas coisas não podem ser substituídas ou esquecidas como a experiência do usuário perante um software, tempo, custo e análise de projeto para saber se algo pode e DEVE realmente ser automatizado e se cobre alguma carência que o usuário final possa ter com a aplicação.
Olá meu nome é Ingrid Carvalho Moreira, vou relatar aqui meu aprendizado com testes de software com uma série de textos descrevendo minha rotina diária de aprendizado, se quiser ler esse e os outros textos siga o link abaixo. Obrigada.
- Caminho para a Vida de Tester (part 1)
- Diálogo Sobre Teste de Software (part 2)
- Teste Não é Essencial (part 3)
- Tipos e Níveis de Teste (part 4)
- Quais são as funções do Teste alfa, Beta e Regressão? (part 5)
- Você sabe o que é Teste Caixa Branca e Teste Caixa Preta ? (part 6)
- Testes Manuais x Testes Automatizados: Quem Leva a Melhor ? (part 6)
- Testes Dinâmicos e Testes Estáticos (part 7)
- Teste de Funcionalidade, Teste de Desempenho e Teste de Usabilidade (part 8)
- Teste de Segurança, Teste de Portabilidade e Teste de Stress (part 9)
- Quando e como os testes entram no processo de Desenvolvimento de Software ? (part 10)
- Boas Práticas de Teste (part 11)
- Como Garantir um Certificado de Qualidade com Testes de Software? (part 12)
- Algoritmos e Lógica de Programação (part 13)
- Fases do Algoritmo (part 14)
- Tipos de Dados (part 15)
- Operações Lógicas (part 16)
- Variáveis Compostas (part 17)
- Projeto apenas começando! (part 18)
- O Javascript Controla o Html e o Css? (part 19)
- Você sabe o que é Document Object Model? (part 20)