ad hoc testing how find defects without formal testing process
O próprio termo ad-hoc implica a falta de estrutura ou algo que não é metódico. Quando você fala sobre teste ad-hoc , significa que é uma forma de um caixa preta ou testes comportamentais realizados sem qualquer processo formal em vigor.
O processo formal aqui significa ter documentação como documentos de requisitos, Planos de Teste, Casos de Teste e planejamento de Teste adequado em termos de sua programação e ordem dos testes realizados. Além disso, quaisquer ações executadas durante o teste geralmente não são documentadas.
Isso é feito principalmente com o objetivo de tentar descobrir defeitos ou falhas que não podem ser capturados por meio de processos tradicionais ou formais seguidos durante o ciclo de teste.
Como já entendido, a essência desse teste está em não ter uma forma formal ou estruturada de teste. Quando esse tipo de técnicas de teste aleatório é realizado, é evidente que os testadores fazem isso sem nenhum caso de uso específico em mente, com o objetivo de quebrar o sistema.
Portanto, é definitivamente ainda mais óbvio que essa metodologia de teste intuitiva ou criativa requer o testador deve ser extremamente qualificado, capaz e ter um conhecimento profundo do sistema. O teste ad-hoc garante que o teste executado seja completo e é particularmente útil para determinar a eficácia do intervalo de teste.
Leitura recomendada=> Teste exploratório - Como pensar além dos limites dos testes tradicionais?
O que você aprenderá:
- Vamos começar com um exemplo de teste ad-hoc
- Quando fazemos testes ad-hoc?
- Tipos de teste ad-hoc
- Benefícios do teste ad-hoc
- Desvantagens do teste ad-hoc
- Melhores práticas para tornar este teste mais eficaz
- Conclusão
- Leitura recomendada
Vamos começar com um exemplo de teste ad-hoc
Aqui está um exemplo de como podemos realizar este teste quando se trata do UI Wizard.
Digamos que você precise criar um plano ou modelo para algum tipo de tarefa a ser executada usando este assistente de IU. O assistente é uma série de painéis que possuem entradas do usuário como nome, descrição, etc.
Conforme o assistente avança: digamos em um dos painéis, os dados do usuário devem ser inseridos, o que envolve o assistente de IU para lançar uma caixa pop-up de contexto que adiciona os dados associados para completar o assistente e implantar / ativar o assistente.
Para testar este testador faz seus testes regulares, como:
melhor software espião para iphone 5
- Conclua o assistente com êxito com todos os dados válidos e crie o plano.
- Cancele o assistente no meio do caminho.
- Edite um plano criado por meio do assistente.
- Exclua o plano criado e veja se não há nenhum resíduo dele.
- Insira um valor negativo no assistente e veja se as mensagens de erro apropriadas são vistas.
Agora, para o exemplo acima aqui estão alguns casos de teste para testes ad-hoc que poderia ser realizado para descobrir tantos defeitos quanto possível:
- Ao tentar adicionar dados negativos, adicione certos caracteres especiais que não são restritos para ver se eles são tratados corretamente. Por exemplo, às vezes, os assistentes não restringem {ou (colchetes, mas em certas situações, isso pode entrar em conflito com o código baseado na linguagem em que está escrito e causar um comportamento pouco confiável.
- Outro teste é especificamente com relação a pop-ups. Um usuário pode fazer com que o pop-up seja iniciado e, em seguida, tentar pressionar o botão Backspace no teclado. Muitas vezes observei que, ao fazer isso, o assistente de plano de fundo desaparece completamente e todos os dados do usuário que foram inseridos até o momento em que o pop-up foi iniciado, são perdidos!
Características do teste Ad-hoc:
Se você observar os cenários acima, verá características muito distintas desse tipo de teste.
Eles estão:
- Eles estão sempre alinhados com o objetivo do teste. No entanto, são certos testes drásticos realizados com a intenção de quebrar o sistema.
- O testador precisa ter conhecimento e consciência completos sobre o sistema que está sendo testado. O resultado desse teste encontra bugs que tentam destacar as lacunas do processo de teste.
- Também olhando para os dois testes acima, a reação natural a isso seria que - esse tipo de teste pode ser realizado apenas uma vez, pois não é viável para um novo teste a menos que haja um defeito associado.
Quando fazemos testes ad-hoc?
Uma pergunta de um milhão de dólares, de fato!
Na maioria das vezes, as equipes de teste estão sempre sobrecarregadas com muitos recursos para testar dentro de prazos limitados. Nesse período de tempo limitado, existem muitas atividades de teste derivadas do processo formal que também devem ser concluídas. Em tais situações, o teste ad-hoc é limitado.
No entanto, por experiência própria, uma rodada de testes ad-hoc pode fazer maravilhas pela qualidade do produto e levantar muitas questões de design.
Uma vez que o teste ad-hoc é mais uma técnica de teste 'filho selvagem' que não precisa ser estruturada, a recomendação geral é que deve ser realizado após a execução do intervalo de teste atual. Outro ponto de vista é que isso pode ser feito quando o teste detalhado não pode ser realizado devido ao menor tempo.
Na minha opinião, eu diria que O teste ad-hoc pode ser feito quase a qualquer momento - no início, no meio e no final! Ele simplesmente encontra seu lugar a qualquer momento. No entanto, quando o teste ad-hoc deve ser feito para obter o valor máximo, é melhor julgado por um testador experiente que tem conhecimento profundo sobre o sistema que está sendo testado.
Quando não executar?
Se a pergunta anterior valeu um milhão de dólares, isso deveria valer um bilhão!
Embora tenhamos estabelecido o quão eficaz e frutífero o teste ad hoc pode ser, como um testador habilidoso e capaz, também precisamos decifrar quando não devemos investir neste tipo de teste. Embora fique a critério do testador, aqui estão algumas recomendações / exemplos quando pode não ser necessário.
- Evite esse teste quando houver um caso de teste para o qual exista um defeito. Em tal situação, é necessário documentar o ponto de falha do caso de teste e então verificar / testar novamente o defeito quando ele for corrigido. Portanto, não será aplicável aqui.
- Também pode haver certos cenários em que os clientes ou clientes podem ser convidados para teste a versão beta do software . Nesses casos, esse teste não deve ser realizado.
- Outro cenário é quando há uma tela de IU muito simples que é adicionada. Os testes tradicionais positivos e negativos devem bastar aqui para revelar o máximo de defeitos.
Tipos de teste ad-hoc
O teste ad-hoc pode ser categorizado em três categorias abaixo:
# 1) Teste de camaradagem
Nesta forma de teste, haverá um membro de teste e um membro de desenvolvimento que será escolhido para trabalhar no mesmo módulo. Logo depois do o desenvolvedor conclui o teste de unidade , a testador e desenvolvedor sentam-se juntos e trabalhar no módulo. Esse tipo de teste permite que o recurso seja visto em um escopo mais amplo para ambas as partes.
O desenvolvedor terá uma perspectiva de todos os diferentes testes que o testador executa e o testador terá uma perspectiva de como é o design inerente, o que o ajudará a evitar o design de cenários inválidos, evitando assim defeitos inválidos. Isso vai ajudar um a pensar como pensar o outro.
# 2) Teste de par
Neste teste, dois testadores trabalham juntos em um módulo com a mesma configuração de teste compartilhada entre eles. A ideia por trás dessa forma de teste é fazer com que os dois testadores façam um brainstorming de ideias e métodos para ter uma série de defeitos. Ambos podem compartilhar o trabalho de teste e fazer a documentação necessária de todas as observações feitas.
# 3) Teste do macaco
Esse teste é executado principalmente no nível de teste de unidade. O testador analisa dados ou testes de forma completamente aleatória para garantir que o sistema seja capaz de resistir a quaisquer travamentos. Este teste pode ser classificado em duas categorias:
site de streaming de filme substituto para filme 4k
Benefícios do teste ad-hoc
O teste garante ao testador bastante poder para ser tão criativo quanto necessário.
Isso aumenta a qualidade e eficiência do teste conforme abaixo:
- A maior vantagem que se destaca é que um testador pode encontrar o número de defeitos do que no teste tradicional, devido aos vários métodos inovadores que podem aplicar para testar o software.
- Esta forma de teste pode ser aplicada em qualquer lugar do SDLC; não está restrito apenas à equipe de teste. Os desenvolvedores também podem realizar esse teste, o que os ajudaria a codificar melhor e também prever quais problemas podem ocorrer.
- Pode ser acoplado a outro teste para obter os melhores resultados, o que às vezes pode reduzir o tempo necessário para o teste regular. Isso permitiria que casos de teste de melhor qualidade fossem gerados e melhor qualidade do produto como um todo.
- Não obriga a que qualquer documentação seja feita, o que evita a sobrecarga extra para o testador. Um testador pode se concentrar em realmente entender a arquitetura subjacente.
- Nos casos em que não há muito tempo disponível para o teste, isso pode ser muito valioso em termos de cobertura e qualidade do teste.
Desvantagens do teste ad-hoc
O teste ad-hoc também tem algumas desvantagens. Vamos dar uma olhada em alguns dos desvantagens que são pronunciadas:
Uma vez que não é muito organizado e não há documentação obrigatória, o problema mais evidente é que o testador tem que lembrar e recolher todos os detalhes dos cenários ad-hoc na memória. Isso pode ser ainda mais desafiador, especialmente em cenários onde há muita interação entre diferentes componentes.
- Seguido do primeiro ponto, isso também resultaria em não ser capaz de recriar defeitos nas tentativas subsequentes, se solicitadas informações.
- Outra questão muito importante que isso traz à tona é a responsabilização do esforço. Como isso não é planejado / estruturado, não há como contabilizar o tempo e o esforço investidos nesse tipo de teste.
- O teste ad-hoc deve ser realizado apenas por um testador muito experiente e habilidoso na equipe, pois exige ser proativo e intuição em termos de previsão de áreas potencialmente infectadas com defeitos.
Melhores práticas para tornar este teste mais eficaz
Discutimos longamente os pontos fortes e fracos associados a este teste.
Idealmente, o teste ad-hoc deve encontrar seu lugar no SDLC; no entanto, se não for abordado da maneira adequada, pode ser caro e uma perda de tempo valioso de teste. Portanto, a seguir estão algumas dicas para tornar os testes ad-hoc eficazes:
# 1) Identificar áreas propensas a defeitos:
Quando você tiver um bom controle sobre o teste de um determinado software, concordará que haverá alguns recursos mais sujeitos a erros do que outros. Se você é novo no sistema, vá em frente e verifique os recursos versus defeitos abertos neles.
O número de defeitos em um determinado recurso mostrará que ele é sensível e você deve escolher precisamente essa área para realizar o teste ad-hoc. Isso prova ser uma maneira muito eficiente de expor alguns defeitos graves.
# 2) Construindo experiência:
Sem dúvida, um testador com mais experiência é mais intuitivo e pode adivinhar onde estão os erros, quando comparado a alguém que não tem muita experiência. Eu diria, experiente ou não, cabe ao indivíduo dar o mergulho e construir experiência no sistema que está sendo testado.
Sim, testadores experientes têm uma vantagem à medida que suas habilidades adquiridas ao longo dos anos são úteis, mas os novos testadores devem usar isso como uma plataforma para obter o máximo de conhecimento possível para projetar melhores cenários ad-hoc.
# 3) Crie categorias de teste:
Assim que você estiver ciente da lista de recursos a serem testados, reserve alguns minutos para decidir como você classificaria esses recursos e os testaria. Por exemplo, você deve decidir testar os recursos que são mais visíveis e mais comumente usados pelo usuário antes de qualquer outra coisa, pois estes parecem críticos para o sucesso do software.
Em seguida, você pode categorizá-los em termos de funcionalidade / prioridade e testá-los segmento por segmento.
Outro exemplo em que isso é particularmente importante é se houver integração entre componentes ou módulos. Nestes casos, podem ocorrer várias anomalias. Usar a categorização ajudaria a abordar esse tipo de teste pelo menos uma ou duas vezes.
# 4) Tenha um plano aproximado:
Sim, sim, este ponto pode confundi-lo um pouco, pois descrevemos o teste ad-hoc como um teste que não deve ter planejamento ou documentação. A ideia aqui é se ater à essência do teste ad-hoc, mas ainda assim, anotar algumas dicas grosseiras sobre como você planeja testar.
Um exemplo muito básico é que às vezes você simplesmente não consegue se lembrar de todos os testes que pretende realizar. Portanto, anotá-los garantiria que você não perderia nada.
# 5) Ferramentas:
Vejamos um exemplo enfrentado muito comumente por todos nós. Muitas vezes, se você observar, o teste da funcionalidade em si é bem-sucedido, sem nenhuma discrepância relatada em seu comportamento. No entanto, os registros nos bastidores podem estar relatando algumas exceções vistas que podem ser perdidas pelos testadores, pois não prejudica o objetivo do teste de forma alguma.
Estes podem ser até mesmo graves. Por isso, é muito importante aprendermos as ferramentas que nos ajudarão a identificar isso imediatamente.
# 6) Documento para mais defeitos:
Novamente, eu entendo que isso pode levantar algumas sobrancelhas novamente. A documentação não precisa ser detalhada, mas apenas uma pequena nota para sua própria referência de todos os diferentes cenários cobertos, desvio nas etapas envolvidas e registro desses defeitos para a categoria de recurso de teste particular.
Isso o ajudará a melhorar o intervalo de teste geral, por meio do qual você poderá decidir como improvisar casos de teste existentes ou adicionar mais, se necessário.
Conclusão
Discutimos em detalhes sobre as técnicas de teste ad-hoc - seus pontos fortes, pontos fracos, situações em que seriam ou não benéficas.
Esta é uma técnica de teste que garante atender e satisfazer ao máximo a criatividade do testador. Em todo o meu carreira de teste , Obtenho a maior satisfação com os testes ad-hoc, pois não há limite para inovar e você acaba tendo mais conhecimento.
Dito isso, a principal coisa a retirar de todas as informações acima seria determinar como explorar os pontos fortes dos testes ad hoc e torná-los agregar valor ao processo geral de teste e à qualidade do produto.
Sobre o autor: Este é um artigo convidado de Sneha Nadig. Ela está trabalhando como líder de teste com mais de 7 anos de experiência em projetos de teste manual e de automação.
Você realiza testes ad-hoc em seu projeto? Quais são suas sugestões para tornar os testes ad-hoc bem-sucedidos?
Leitura recomendada
- Teste Funcional Vs Teste Não Funcional
- O que é o Alpha Testing? Um alarme precoce para defeitos
- Principais diferenças entre o teste de caixa preta e o teste de caixa branca
- As diferenças entre teste de unidade, teste de integração e teste funcional
- Teste de desempenho vs teste de carga vs teste de estresse (diferença)
- Teste exploratório versus teste com script: quem ganha?
- O que é técnica de teste baseada em defeitos?
- Processo de teste de gateway B2B (Business to Business)