Exploratory Testing Tours: Uma "excursão" na metáfora do turista
Por: Tiago Pereira • 18/7/2019 • Artigo • 1.572 Palavras (7 Páginas) • 215 Visualizações
Exploratory Testing Tours: Uma "excursão" na metáfora do turista
Teste exploratório ainda é um tema muito discutido e estudado. Atualmente vem sendo cada vez mais utilizado em fábricas de testes, até mesmo em projetos ágeis onde o foco são testes de software para entrega contínua. Ao meu ver, o teste exploratório não é uma metodologia de teste. Pelo contrário, é uma abordagem para verificação de qualidade.
Todavia, ainda existem problemas e desafios que fazem os testes exploratórios não serem implementados dentro de um escopo de projeto. São eles:
- Depender da experiência e habilidade do testador;
- Ausência de um plano de testes (falta de visão do que testar e porque);
- Dificuldade de ter visão do progresso dos testadores;
- Dificuldade em casos de reprodução dos testes;
- A limitação dos documentos gerados por testes exploratórios geram falta de informação e dificultam a manutenção do sistema;
- Não é normalmente indicado para sistemas de tempo real
Tendo isso em vista, James A. Whittaker no seu livro exploratory software testing: tips, tricks, tours, and techniques to guide test design (publicado em 2009), lista ferramentas e metodologias a serem associadas aos testes exploratórios com a finalidade de mitigar alguns desses problemas.
[pic 1]
Dentre as soluções criadas pelo especialista, está presente o conceito de Tours - uma estratégia que irei focar nesse artigo e mais especificamente na metáfora do turista.
Cem Karner, o precursor do termo Teste Exploratório e um entusiasta do conceito de Tour define:
Tour Testing é uma abordagem estruturada para testes exploratórios, onde a exploração de um produto é organizada em torno de um tema específico
Uma Tour é uma exploração de um produto organizada em torno de um tema. Você decide sobre um tema, depois navega e percorre o aplicativo para documentar as descobertas do tema. As excursões são excelentes para criar uma coleção de ideias, o qual pode ser explorada uma de cada vez, em profundidade. Pense sobre isso como explorar com muito mais detalhes do que se estivesse realizando testes sem estrutura ou orientação.
Vamos usar o exemplo de um turista para explicar algumas coisas. Na metáfora do turista, enquanto realizam testes exploratórios, os testadores se parecem com os turistas que chegam no lugar onde nunca estiveram antes. Os turistas gostariam de visitar e ver o maior número possível de lugares dentro de um prazo limitado. Então, por exemplo, você está visitando Roma pela primeira vez:
- Você pode tentar conhecer a cidade por conta própria;
- Você pode comprar um mapa turístico;
- Você pode contratar um guia;
- Você pode pegar o ônibus de turismo.
No retorno da sua visita você pode:
- Repetir os melhores passeios;
- Escolher visitar novos lugares da cidade.
Utilizando a rotina acima como metáfora, suponha que você está testando agora uma aplicação. O que você usa como guia? Não fique imaginando o aplicativo, sempre tenha um objetivo em mente. Quando apresentado com uma escolha, permita que o objetivo o guie. Rastreie quais metas funcionam para você - cobertura de códigos/features/UI, encontrar falhas importantes, forçar o software a exibir melhor sua funcionalidade.
Cada cidade na metáfora do turista tem vários Distritos. E, com base em seu conforto, os turistas escolhem um ou vários lugares para visitar. Como por exemplo, distritos de negócios ou histórico. Em termos de teste de software, a cidade onde os turistas vão é um produto de software a ser testado. Os distritos são recursos e módulos de software.
[pic 2]
Whitakker aponta seis principais distritos com vários passeios disponíveis. Abaixo utilizarei os termos em inglês com a finalidade de manter seu significado original:
Business District
Onde se movimenta o dinheiro. Só há bancos e prédios empresariais e, na maioria dos casos, os turistas não gostam de andar no distrito comercial, pois não há nada interessante para ver.
Um produto de software também tem seus próprios recursos de "Distrito Comercial" que são projetados para aumentar as vendas. O material promocional informa sobre os recursos que diferenciam um produto de software dos similares disponíveis no mercado para atrair mais usuários. Um exemplo seria 30 dias de acesso grátis ao conteúdo de um software após se cadastrar.
Tours desse distrito:
- Guidebook Tour;
- Money Tour;
- Landmark Tour;
- Intellectual Tour;
- FedEx Tour;
- After-Hours Tour;
- Garbage Colletor Tour.
Historic District
Um passeio típico inclui um passeio por bairros antigos repletos de edifícios antigos e locais de valor histórico. Nos testes, um distrito histórico significa os recursos relacionados às versões anteriores do produto, código ou funcionalidade.
Tours desse distrito:
- Bad-Neighborhood Tour;
- Museum Tour;
- Prior Version Tour.
Entertainment District
Depois de uma longa caminhada, os turistas desejam se divertir. Um distrito de entretenimento simboliza a opção de personalização de software. Ele se concentra na funcionalidade relacionada ao core. Os tours podem ajudar a detectar bugs de interface do usuário, erros de localização, problemas de usabilidade e bugs funcionais não críticos.
Tours desse distrito:
- Supporting Actor;
- Back Alley;
- All-Nighter ou Clubbing tours.
Tourist District
Cada cidade tem lugares onde os turistas gastam muito dinheiro. Aqui há muitos restaurantes e lojas de presentes, além de muitas coisas e informações que o turista não conseguem absorver totalmente à primeira vista.
Nos testes, um distrito de turismo significa examinar a funcionalidade do software sem se concentrar em nenhum detalhe
Tours desse distrito:
- Collector Tour;
- Lonely Businessman;
- Supermodel;
- Scottish Pub tour.
Hotel District
Normalmente os turistas ficam em hotéis onde eles podem descansar um pouco e relaxar depois de um dia agitado. Nos testes, um distrito de hotel é um local para verificar a funcionalidade não crítica.
...