Este artigo descreve a importância e planejamento da
abordagem de testes exploratórios durante o processo de teste de software. No
decorrer do artigo é explicado toda a organização e planejamento dos testes
exploratórios. Este artigo discutirá pontos relevantes sobre esta abordagem
durante o projeto com o intuito de fazer com que profissionais da área de
qualidade estejam preparados para executar os testes exploratórios em
plataformas. Isso para se atingir um
maior nível de cobertura na execução dos testes agregando qualidade ao
software desenvolvido.
Para desenvolver softwares com qualidade é importante que ocorra um planejamento na elaboração e execução dos testes durante todo o projeto, sempre levando em consideração os riscos, custos e o tempo a ser gasto para estas atividades. Tais requisitos colaboram para que o ciclo de testes seja realizado de forma correta com o objetivo de cobrir a maior área possível do software.
Aliado a isso e com o intuito de ajudar a realizar a validação do produto, será enfatizado no primeiro momento deste artigo a abordagem de testes exploratórios, a qual é muito utilizada durante o processo de teste.
Isso porque os profissionais desta área sempre investigam situações ou caminhos que estão fora do escopo dos testes que seguem roteiros pré-estabelecidos. Além disso, testes exploratórios são uma excelente alternativa para ganharmos agilidade na realização das atividades de teste.
Os testes exploratórios são sempre associados à ideia de testes aleatórios ou desorganizados, cujos resultados podem acontecer esporadicamente e sem nenhuma estrutura lógica a respeito do defeito encontrado.
Isto acontece devido a falta de entendimento da gestão, estrutura e técnicas deste tipo de teste pelos profissionais, o que contribui para a não disseminação deste tipo de abordagem durante a execução de um projeto.
Durante o processo de teste de software, os testes exploratórios, se bem estruturados e executados, são de extrema importância para o projeto, uma vez que contribuem significativamente nos resultados alcançados.
Com este princípio, além da execução dos testes exploratórios em funcionalidades nos aplicativos, mostraremos no decorrer deste artigo a vinculação desta abordagem nas plataformas em que são desenvolvidos os aplicativos, sempre buscando enriquecer, estruturar e aguçar o pensamento lógico do testador para o mapeamento de caminhos de testes ou investigação de defeitos difíceis de serem encontrados.
Testes Exploratórios
Para o melhor entendimento das técnicas e resultados que serão abordados nos próximos tópicos, faz-se necessário o conhecimento conceitual da abordagem e definição sobre testes exploratórios.
Esta abordagem, por não ser orientada por script, muitas vezes é confundida com testes ad hoc, o qual é comumente definido como uma abordagem informal e improvisada, onde não há nenhum planejamento das atividades exercidas.
Segundo James Bach, o teste exploratório é um processo onde é realizada a análise e a elaboração do projeto, juntamente com a execução dos testes. Esta abordagem de teste não é baseada em testes orientados por scripts ou testes com roteiros. Na verdade, nesse tipo teste o testador elabora seus casos de testes no decorrer da execução dos mesmos, ou seja, improvisa os testes com o objetivo de buscar erros.
Com isso vemos que os testes exploratórios ultrapassam a ideia de um simples teste ad hoc, pois são baseados em estruturas de aprendizagem contínua e possuem um planejamento com técnicas e métodos para gerenciar esta abordagem durante a sua execução, o que gera o entendimento completo das atividades e defeitos gerados durante o processo de teste.
Um testador exploratório qualificado pode explorar funcionalidades do aplicativo sem restrições, podendo diversificar seus testes de acordo com a resposta de sua execução. Com base nisto, podemos vislumbrar que os testes exploratórios não são somente testes realizados sem nenhum propósito.
Esse tipo de teste exige uma abordagem sofisticada e pensativa no intuito de alcançar resultados e variações de testes que já foram implementados, uma vez que combina aprendizagem contínua com o estudo de heurísticas e técnicas que contribuem para o sucesso na elaboração e execução dos testes exploratórios.
Importância dos testes exploratórios
Em um
projeto de software, além da execução de testes baseados em scripts, o testador
realiza testes exploratórios durante todo o processo de testes. ...