Teste Negativo
Teste negativo é um tipo de teste de software usado para verificar se há dados e condições de entrada inesperados no aplicativo de software. Dados ou condições inesperadas podem ser qualquer coisa, desde tipo de dados incorreto até forte ataque de hackers. O objetivo do teste negativo é evitar que o aplicativo de software trave devido a entradas negativas e melhorar a qualidade e a estabilidade.
Fazendo apenas um teste positivo, podemos garantir que nosso sistema está funcionando em condições normais. Temos que ter certeza de que nosso sistema pode lidar com condições inesperadas para garantir um sistema 100% livre de falhas.
Neste tutorial, você aprenderá-
- O que é teste negativo?
- Exemplo de teste negativo
- Por que fazer testes negativos?
- Como fazer testes negativos
- Vantagens do teste negativo
- Desvantagens do teste negativo
Exemplo de teste negativo
Considere o caso de um elevador, que é um exemplo comumente considerado de teste negativo.
Todos nós conhecemos a funcionalidade de um elevador. Esses serão considerados como os requisitos de um elevador, como pressionar o número do andar para fazer o elevador ir para aquele andar específico.
A porta abre automaticamente assim que o elevador atinge o andar especificado e assim por diante.
Agora vamos considerar alguns cenários negativos para aumento. Alguns deles são,
Teste Negativo | Teste Positivo |
---|---|
|
|
|
|
|
|
Todos esses casos passarão por testes negativos. A importância disso é que não podemos ter certeza de que tudo o que foi mencionado acima não acontecerá, então precisamos contê-los.
Considere o caso em que a condição de excesso de peso é verificada e, na implementação, o desempenho do levantamento é anormal quando há uma condição de excesso de peso. Isso terá um impacto potencial na confiabilidade do sistema e pode até mesmo causar perigo de vida. Isso explica o que é teste negativo e sua importância.
O mesmo caso também se aplica ao software. Para testes negativos, desviamos de um procedimento operacional normal. Vejamos alguns exemplos.
Considere um formulário de registro, por exemplo.
Teste Negativo | Teste Positivo |
---|---|
|
|
|
|
|
|
|
|
Como dissemos antes, precisamos ter certeza de que, em todos esses casos negativos, nosso sistema funcionará corretamente. Considere o caso em que alguém tenta inserir um caractere no campo de número e o sistema não consegue processar os dados inesperados porque está esperando um número e, finalmente, o sistema falha. Ou se alguém tentar fazer uma injeção SQL e apagar todos os nossos dados do banco de dados. Não podemos suportar tais perdas potenciais. Portanto, o teste negativo é importante.
Por que fazer testes negativos?
Como o teste é uma tarefa que consome tempo e custo, decidir 'o quê', 'como' e 'quanto' testar é realmente importante. Temos que escolher sabiamente se devemos fazer testes negativos em nosso sistema ou não. Portanto, vamos dar uma olhada na importância do teste negativo.
Perspectiva da organização
É responsabilidade da organização fornecer um produto de boa qualidade ao seu cliente. Para conseguir isso, é necessário fazer um teste negativo.
Como parte da confirmação contra uma falha, uma organização deve fazer um teste negativo.
Talvez não possamos construir um sistema 100% livre de erros, mas temos que ter certeza de que fizemos tudo para evitar uma falha, para isso deveríamos fazer um teste negativo.
O impacto é um fator que devemos considerar. Considere que fizemos um teste positivo em um site de comércio eletrônico e certifique-se de que está tudo bem. Mas e se houver uma lacuna em nosso sistema de que alguém pode fazer injeção de SQL e apagar todos os nossos dados. Essa será uma grande violação de segurança. Para evitar este tipo de casos, é necessário fazer testes negativos também.
Para aplicativos abertos ao público, principalmente sites, devemos sempre ter em mente que não temos muito controle sobre o procedimento de uso do aplicativo, por isso temos que fazer testes negativos para garantir que todos esses casos sejam cobertos e contidos.
Outra coisa que precisamos tomar cuidado é que existem muitos hackers negros por aí procurando uma oportunidade para destruir o sistema. Hacking é um caso importante coberto em testes negativos
Perspectiva do cliente
Os clientes sempre esperam produtos com vulnerabilidade zero, a fim de garantir que o teste negativo seja obrigatório
Se for um produto sensível, como comércio eletrônico, estoque online, etc., a segurança e o teste negativo são essenciais.
A única preocupação do cliente em relação ao teste negativo é o custo. Mas uma vez que o impacto é analisado, cabe ao cliente decidir se fará ou não o teste negativo.
Como fazer teste negativo
Para fazer o teste negativo, devemos considerar todos os casos possíveis. Isto é, se for possível, temos que considerá-lo no Caso de Teste, não importa se não é a maneira correta de usá-lo. Por exemplo, se virmos um campo de e-mail, pense em todas as entradas possíveis que podemos colocar lá, além do formato de e-mail correto. Da mesma forma, quando vemos uma opção de upload de imagem, temos que testá-la com todos os arquivos possíveis.
Ao criar casos de teste negativos, temos que priorizar as entradas, caso contrário, haverá muitos casos possíveis. Por exemplo, para um campo de imagem onde apenas os arquivos '.png.webp' devem entrar, podemos ter várias opções de upload como 'jpeg.webp', 'xml', 'xls', etc ... Portanto, precisamos priorizar as opções como XML e SQL podem ter um impacto maior do que jpeg.webp e xls, portanto, devemos cuidar primeiro dos casos de SQL e XML. Assim, temos que priorizar os casos antes da execução para economizar tempo e custo de teste.
Prós e contras do teste negativo
Como todas as outras técnicas de teste, existem prós e contras para o teste negativo, principalmente com base em 'onde', 'quando' e 'como' usar. Vamos dar uma olhada nisso.
Vantagens do teste negativo
- Como todos sabemos, o teste negativo é muito importante para garantir a qualidade de um produto. Um produto de boa qualidade é um produto com vulnerabilidade zero, para garantir que o teste negativo seja muito importante.
- Fazer o teste negativo garante que todos os casos possíveis sejam cobertos. Intencionalmente ou não, há uma chance de ocorrerem casos de teste negativos. Portanto, para garantir que todos os casos sejam cobertos, temos que fazer o teste negativo junto com o teste positivo.
- O teste negativo trará mais confiança ao cliente antes de ir ao ar.
Desvantagens do teste negativo
- Em engenharia de software, o teste negativo em alguns casos se torna uma perda de tempo e energia. Em muitos casos, não há necessidade de testes negativos excessivos. Por exemplo, se um aplicativo for criado para uso individual, não precisamos considerar o caso de 100 usuários usarem o sistema por vez. Portanto, decidir as condições em casos de teste negativos é muito importante. Haverá momentos em que não precisaremos fazer testes negativos em um sistema específico.
- Requer pessoas qualificadas e experientes para criar casos de teste negativos.
- Para o cliente, o teste negativo é outra coisa que causa atrasos desnecessários no lançamento e somador de custos.
- Uma chance de uma equipe gastar mais tempo e energia em testes negativos. Existe uma chance de que os testadores gastem muito tempo e energia em testes negativos que resultam em uma concentração mais baixa em testes positivos.