what is negative testing
Ter a melhor qualidade de produto é o objetivo principal das organizações de teste.
Com a ajuda de um processo de garantia de qualidade eficiente, as equipes de teste tentam encontrar defeitos máximos durante seus testes , garantindo assim que o cliente ou usuário final que consome o produto não veja nenhuma anormalidade em relação ao seu funcionamento em seu próprio ambiente de computação.
Uma vez que encontrar defeitos é um dos principais objetivos de um testador, ele precisa criar ou projetar cuidadosamente os cenários de teste para garantir que o aplicativo ou produto em particular tenha o desempenho esperado.
Embora seja definitivamente importante verificar se o software executa suas funções básicas conforme pretendido, é igualmente ou mais importante verificar se o software é capaz de lidar com uma situação anormal de maneira adequada. É óbvio que a maioria dos defeitos surgem da geração de tais situações com criatividade razoável e aceitável dos testadores.
A maioria de nós já está ciente de vários tipos de testes, como testes funcionais, teste de sanidade, teste de fumaça , teste de integração, teste de regressão , teste alfa e beta , teste de acessibilidade, etc. No entanto, todos concordarão que qualquer categoria de teste que você realizar, todo o esforço de teste pode ser basicamente generalizado em duas categorias: caminhos de teste positivos e caminhos de teste negativos.
Vamos prosseguir com as próximas seções, nas quais discutiremos o que são testes positivos e negativos, como eles são diferentes e descreveremos alguns exemplos para entender que tipo de testes negativos podem ser realizados durante o teste de um aplicativo.
O que você aprenderá:
- O que é teste positivo e teste negativo?
- Exemplos práticos de testes positivos e negativos
- Fatores básicos que ajudam na escrita de testes positivos e negativos
- Conclusão
- Leitura recomendada
O que é teste positivo e teste negativo?
Teste positivo
O teste positivo, muitas vezes referido como “teste de caminho feliz”, geralmente é a primeira forma de teste que um testador executaria em um aplicativo. É o processo de execução de cenários de teste que um usuário final executaria para seu uso. Portanto, conforme implícito, o teste positivo envolve a execução de um cenário de teste apenas com dados corretos e válidos. Se um cenário de teste não precisar de dados, o teste positivo exigiria a execução do teste exatamente da maneira em que deveria ser executado e, portanto, para garantir que o aplicativo atende às especificações.
Às vezes, pode haver mais de uma maneira de executar uma função ou tarefa específica com a intenção de dar ao usuário final mais flexibilidade ou para consistência geral do produto. Isso é chamado de teste de caminho alternativo, que também é um tipo de teste positivo. No teste de caminho alternativo, o teste é executado novamente para atender aos seus requisitos, mas usando uma rota diferente do caminho óbvio. O cenário de teste consumiria até mesmo o mesmo tipo de dados para obter o mesmo resultado.
Pode ser entendido de forma esquemática a partir de um exemplo muito genérico descrito abaixo:
A é um ponto de partida e B é o ponto final. Existem duas maneiras de ir de A para B. A Rota 1 é a rota geralmente utilizada e a Rota 2 é uma rota alternativa. Portanto, em tal caso, o teste de caminho feliz seria atravessar do ponto A para B usando a Rota 1 e o teste de caminho alternativo compreenderia tomar a Rota 2 para ir de A para B. Observe que o resultado em ambos os casos é o mesmo.
Teste negativo
Teste negativo comumente referido como teste de caminho de erro ou teste de falha geralmente é feito para garantir a estabilidade do aplicativo.
sql queries entrevista perguntas e respostas com 3 anos de experiência
O teste negativo é o processo de aplicar o máximo de criatividade possível e validar o aplicativo contra dados inválidos. Isso significa que sua finalidade é verificar se os erros estão sendo mostrados ao usuário onde deveriam, ou manipulando um valor inválido de forma mais adequada.
É absolutamente essencial entender porque o teste negativo é necessário.
A confiabilidade funcional do aplicativo ou software pode ser quantificada apenas com cenários negativos efetivamente projetados. O teste negativo não visa apenas revelar quaisquer falhas potenciais que possam causar um impacto sério no consumo do produto como um todo, mas podem ser fundamentais para determinar as condições em que o aplicativo pode falhar. Finalmente, ele garante que haja validação de erro suficiente presente no software.
Exemplo:
Digamos, por exemplo, que você precise escrever casos de teste negativos sobre uma caneta. O motivo básico da caneta é saber escrever no papel.
Alguns exemplos de teste negativo podem ser:
- Mude o meio em que deve escrever, de papel para tecido ou tijolo e veja se ainda deve escrever.
- Coloque a caneta no líquido e verifique se escreve novamente.
- Substitua o refil da caneta por um vazio e verifique se ele deve parar de escrever.
Exemplos práticos de testes positivos e negativos
Vamos dar um exemplo de um assistente de IU para criar algumas políticas. No assistente, o usuário deve inserir valores textuais em um painel e valores numéricos em outro.
Primeiro painel:
diferença entre c ++ e c
No primeiro, espera-se que o usuário dê um nome à política conforme mostrado abaixo:
Vamos também obter algumas regras básicas para nos certificarmos de projetar bons cenários positivos e negativos.
Requisitos:
- A caixa de texto do nome é um parâmetro obrigatório
- A descrição não é obrigatória.
- A caixa de nome pode ter apenas caracteres a-z e A-Z. Sem números, caracteres especiais são permitidos.
- O nome pode ter no máximo 10 caracteres.
Agora vamos projetar os casos de teste positivos e negativos para este exemplo.
Casos de teste positivos: Abaixo estão alguns cenários de teste positivos para este painel específico.
- ABCDEFGH (validação de maiúsculas dentro do limite de caracteres)
- validação de minúsculas abcdefgh dentro do limite de caracteres)
- aabbccddmn (validação de limite de caracteres)
- aDBcefz (maiúsculas combinadas com validação de minúsculas dentro do limite de caracteres)
- .. e assim por diante.
Casos de teste negativos : Abaixo estão alguns cenários de teste negativos para este painel específico.
- ABCDEFGHJKIOOOOOKIsns (nome com mais de 10 caracteres)
- abcd1234 (nome com valores numéricos)
- Nenhum nome fornecido
- sndddwwww_ (o nome que contém caracteres especiais)
- .. e assim por diante.
Segundo painel:
No segundo painel, o usuário deve inserir apenas valores numéricos, conforme mostrado abaixo:
Vamos estabelecer algumas regras básicas aqui também:
Requisitos:
- O ID deve ser um número entre 1 e 250
- O ID é obrigatório.
Portanto, aqui estão alguns cenários de teste positivos e negativos para este painel específico.
Cenários de teste positivos : Abaixo estão alguns cenários de teste positivos para este painel específico.
- 12 (inserindo um valor válido entre o intervalo especificado)
- 1.250 (inserindo o valor limite do intervalo especificado)
Cenários de teste negativos : Abaixo estão alguns cenários de teste negativos para este painel específico.
- Ab (inserir texto em vez de números)
- 0, 252 (inserindo valores fora do limite)
- Entrada nula
- -2 (Entrada de valores fora do intervalo)
- +56 (Inserindo um valor válido prefixado por um caractere especial)
Fatores básicos que ajudam na escrita de testes positivos e negativos
Se você observar de perto os exemplos acima, perceberá que pode haver vários cenários positivos e negativos. No entanto, o teste eficaz é quando você otimiza uma lista infinita de cenários positivos e negativos de tal forma que você conseguir testes suficientes .
Além disso, em ambos os casos, você verá um padrão comum sobre como os cenários são concebidos. Em ambos os casos acima, existem dois parâmetros básicos ou técnicas que formaram uma base para projetar uma quantidade suficiente de casos de teste positivos e negativos.
converter youtube para mp4 de alta qualidade
Os dois parâmetros são:
Análise de valor limite :
Como o próprio nome indica, fronteira indica limites para algo. Portanto, isso envolve a criação de cenários de teste que enfocam apenas os valores de limite e validam como o aplicativo se comporta. Portanto, se as entradas são fornecidas dentro dos valores de limite, isso é considerado um teste positivo e as entradas além dos valores de limite são consideradas parte do teste negativo.
Por exemplo, se um determinado aplicativo aceitar IDs de VLAN variando de 0 a 255. Portanto, aqui 0, 255 formará os valores de limite. Qualquer entrada abaixo de 0 ou acima de 255 será considerada inválida e, portanto, constituirá teste negativo.
Particionamento equivalente :
No particionamento de equivalência, os dados de teste são segregados em várias partições. Essas partições são conhecidas como classes de dados de equivalência. Presume-se que os vários dados de entrada (dados podem ser uma condição) em cada partição se comportam da mesma maneira. Portanto, apenas uma condição ou situação particular precisa ser testada em cada partição, como se uma funcionasse, então todas as outras naquela partição deveriam funcionar. Da mesma forma, se uma condição em uma partição não funcionar, nenhuma das outras funcionará.
Portanto, agora está muito claro que as classes de dados válidas (nas partições) incluirão testes positivos, enquanto as classes de dados inválidas incluirão testes negativos.
No mesmo exemplo de VLAN acima, os valores podem ser divididos em, digamos, duas partições.
Portanto, as duas partições aqui seriam:
- Valores -255 a -1 em uma partição
- Valores de 0 a 255 em outra partição
Conclusão
Muitas vezes, já me deparei com a situação em que as pessoas acreditam que o teste negativo é mais ou menos uma duplicação do teste positivo, em vez de acreditar no fato de que confirma o teste positivo. Minha posição sobre essas questões sempre foi consistente como testador. Aqueles que entendem e se esforçam por altos padrões e qualidade, sem dúvida, impõem testes negativos como uma obrigação no processo de qualidade.
Enquanto o teste positivo garante que o caso de uso de negócios seja validado, o teste negativo garante que o software entregue não tenha falhas que possam ser um impedimento em seu uso pelo cliente.
Projetar cenários de teste negativos precisos e poderosos requer criatividade, previsão, habilidade e inteligência do testador. A maioria dessas habilidades pode ser adquirida com a experiência, então aguente firme e continue avaliando todo o seu potencial continuamente!
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.
Deixe-nos saber sua opinião e experiência sobre testes negativos.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Melhores ferramentas de teste de software 2021 [QA Test Automation Tools]
- Download do e-book do Testing Primer
- Como escrever um relatório semanal de status de teste de software
- Diferença entre Desktop, Teste de Servidor Cliente e Teste da Web
- Teste de carga com tutoriais HP LoadRunner
- Guia de teste de segurança de aplicativos da Web
- Teste de aplicativos - Noções básicas de teste de software!
- Instalando seu aplicativo no dispositivo e comece a testar no Eclipse