Tudo de que você precisa saber sobre casos de teste negativos

By Kate Eby | 14 de April de 2019 (updated 15 de March de 2024)

Neste artigo, você encontrará uma visão geral dos testes negativos, incluindo como criar casos de teste negativos com exemplos de especialistas e modelos de casos de teste para baixar. Você também aprenderá como os testes negativos melhoram o desenvolvimento de software.

Nesta página, você encontrará uma variedade de modelos de casos de teste, como um modelo de planejamento e execução de caso de teste, um modelo de caso de teste de serviços de integração do servidor SQL, um modelo de caso de teste manual, um modelo de caso de teste de automação e muitos outros.

O que é um caso de teste?

Os casos de teste são um conjunto de ações documentadas (as etapas de como fazer algo) que regem a observação e a análise de um requisito de software específico. Um caso de teste formal usa um teste positivo e um negativo por requisito.

Para obter mais informações sobre toda a gama de conceitos associados aos casos de teste, incluindo o formato adequado do caso de teste, dicas sobre como criar um bom caso de teste e mais sobre casos de teste positivos e testes, leia este guia sobre os fundamentos dos casos de teste.

 

O que é teste negativo?

No teste de software, o teste positivo refere-se ao processo de teste de um sistema em teste (SUT) ou aplicativo em teste (AUT), avaliando o comportamento esperado em relação a um requisito. O teste negativo, às vezes chamado de teste de falha ou teste de caminho de erro, é a prática de encontrar feedback útil quando as coisas dão errado.

O teste negativo usa dados de entrada inválidos ou comportamentos indesejados do usuário para verificar se há erros inesperados no sistema. Em outras palavras, um testador recebe entradas inválidas e testa a interface do usuário (UI) de um aplicativo da Web (o uso mais comum de testes negativos), esperando que o inesperado ocorra. Essa prática busca descobrir o que acontece com a AUT em condições adversas.

Qual é o objetivo do teste negativo?

O teste negativo é uma prática de controle de qualidade que garante a cobertura completa do teste no desenvolvimento de software. Ao tentar propositalmente travar um SUT ou ao usar dados ruins para encontrar defeitos desconhecidos (bugs), um testador ou desenvolvedor descobre maneiras pelas quais o SUT pode ser mais estável e mais confiável. Ao provar o que o software não deve fazer ou aceitar, o testador verifica se o código atende a cada requisito.

O que é um caso de teste negativo?

 

Neil Price Jones

A negative test case is “written to prove something the software should not do or accept,” says Neil Price-Jones, President of NVP Software Solutions. He adds, “Negative test cases ensure that if a user tries something that was not considered in the design or coding, then they get the correct response or error message or at least cannot get to someplace they are not supposed to be.”

Qual é a diferença entre casos de teste positivos, negativos e destrutivos?

Os testes negativos e positivos são atividades simultâneas que você documenta usando um caso de teste. “Um caso de teste positivo garante que algo incluído nos requisitos ou no projeto funcione como pretendido. Casos de teste negativos verificam todo o resto”, afirma Price-Jones.

Outro termo associado ao teste negativo é o teste destrutivo, que, de acordo com Price-Jones, “você pode executar por meio de casos de teste negativos (e deve fazê-lo se precisar documentar tudo o que fez e fornecer provas) ou usar simplesmente como uma tentativa de quebrar o software por qualquer meio possível”.

Por exemplo, é comum que um aplicativo baseado na Web solicite ao usuário que preencha o campo de texto Senha dentro de um determinado intervalo de caracteres (por exemplo, mais de seis e menos de 12). Usando o teste positivo, o testador insere senhas dentro do intervalo correto. Para o teste negativo correspondente, o testador insere senhas que estão fora desses parâmetros (por exemplo, menos de seis, mais de 12 ou zero caracteres) para testar como a AUT responde. Esse tipo de teste negativo é conhecido como teste de análise de valor limite.

Como identificar casos de teste negativos

Como você determina os dados a serem usados ou as ações indesejáveis a serem tomadas para criar e executar casos de teste negativos úteis? Para identificar casos de teste negativos, comece com os positivos. Cada caso de teste positivo é criado por meio da análise dos requisitos de negócios/usuários, artefatos e documentos de design de software. Use cada cenário de caso de teste positivo para identificar o caso de teste negativo, utilizando informações não encontradas nos documentos.

Você deve equilibrar o tempo e os recursos para atender aos requisitos do software. Os testes negativos enfrentam resistência devido a agendas de projetos, disponibilidade de pessoas qualificadas, datas de lançamento e orçamentos. Sem submeter o SUT a danos reais, os testadores de software usam a experiência e a intuição para decidir como, quando e onde usar o teste negativo e identificar as etapas do caso de teste. Não é viável praticar testes negativos exaustivos ou criar casos de teste negativos que ofereçam cobertura de teste perfeita do SUT.

Modelo de planejamento e execução de casos de teste

 

Modelo de planejamento e execução de caso de teste

Use este modelo de planejamento e execução de casos de teste para mapear planos de teste para o seu projeto de desenvolvimento de software, executar etapas de casos de teste e analisar dados de teste. Ele foi projetado para rastrear testes por ID e nome do teste, identificar cada estágio de um teste, adicionar níveis de prioridade e notas e comparar os resultados reais com os esperados.

Baixe o modelo de planejamento e execução de casos de teste

Excel | Word

 

Como projetar um caso de teste negativo

Nos testes de software, quando a quantidade de entradas possíveis é muito grande para uma cobertura de teste completa e econômica, uma matriz ortogonal oferece um modelo eficiente para projetar casos de teste negativos (ou seja, encontrar erros de software e eliminar testes duplicados). Esse modelo é comumente usado para testes de interface do usuário, testes de regressão e testes de desempenho do SUT.

Neil Price-Jones aborda o design de casos de teste negativos em termos sistemáticos: “Uma maneira é pensar ortogonalmente no fluxo de uma transação em um cenário comercial padrão e, em seguida, pensar no que pode dar errado em cada etapa desse processo.”

“Se você pensar na transação como se ela estivesse fluindo pelas etapas da esquerda para a direita (ou seja, de forma linear), então você pode pensar em testá-la (tanto no sentido positivo quanto no negativo) observando cada etapa de cima para baixo e vendo o que seria o positivo (que permite que a transação flua para a próxima etapa) e o negativo (que deve impedir que a transação flua para a próxima etapa)”, explica Price-Jones.

Formato do caso de teste negativo

Os casos de teste positivos e negativos compartilham o mesmo formato, que normalmente inclui os seguintes atributos:

  • Declaração do caso de teste

  • Configuração de teste

  • ID do caso de teste

  • Cenário de teste

  • Etapas do teste negativo

  • Dados do teste negativo

  • Resultados esperados

  • Resultados reais

  • Confirmação de aprovação/reprovação

  • Comentários adicionais

Como desenvolver um caso de teste negativo

Simplificando, você escreve um caso de teste negativo selecionando os dados de entrada inválidos ou o comportamento indesejado do usuário que você adquire ao executar as etapas do caso de teste positivo. Price-Jones recomenda começar com os critérios de caso de teste positivo, que você define por cenários de teste a partir de um requisito comercial.

“Comece com o que está definido e incluído e, em seguida, considere todas as outras possibilidades usando técnicas de design de teste. Às vezes, eu me refiro a isso como variações de um tema”, diz ele.

Assim como um caso de teste positivo, um caso de teste negativo é um único teste executável que você documenta usando planilhas ou um software de gerenciamento de testes. A adoção de um formato padrão para a documentação do caso de teste ajuda das seguintes maneiras:

  • Economiza tempo.

  • Isso torna cada caso de teste acessível a vários participantes, independentemente do conhecimento técnico.

  • Ele é reutilizável para cenários de planos de teste semelhantes.

  • Ele ajuda a otimizar a comunicação geral entre as equipes de teste e desenvolvimento.

Para obter uma análise mais detalhada dos atributos negativos do caso de teste e um guia passo a passo sobre como escrever um caso de teste no Microsoft Excel, leia “Como escrever casos de teste: guia essencial”.

Exemplos de casos de teste negativo para uma página de login

Price-Jones reflete sobre uma ocasião em que achou divertido usar testes negativos em uma página de login: “Certa vez, testei um login para um aplicativo disponível publicamente em que três tentativas incorretas realmente permitiam que você entrasse no software (em vez de suspendê-lo por 30 minutos ou forçá-lo a redefinir a senha). O programador acionou o interruptor ao final de três tentativas para permitir sua entrada em vez de rejeitá-lo.”

Os exemplos de casos de teste negativos a seguir se aplicam a casos de teste positivos que são aprovados com os resultados esperados para a página de login AUT ao usar o ID de usuário e a senha corretos:

  • ID de usuário em branco com senha em branco

  • ID de usuário correto com senha incorreta

  • ID de usuário incorreto com a senha correta

  • ID de usuário incorreto com senha incorreta

  • Injeção de SQL em senha

  • Injeção de SQL no ID do usuário

  • Injeção de SQL em ambos os campos

Modelo de caso de teste de serviços de integração do servidor SQL

 

Modelo de caso de teste de teste do SQL Server Integration Services

Gerencie, teste e acompanhe todos os serviços de integração do servidor SQL com este modelo detalhado de caso de teste. Use o modelo para testar atualizações de recursos e garantir que todos os sistemas de programação e gerenciamento de dados funcionem corretamente.

Baixe o modelo de caso de teste de serviços de integração do servidor SQL
Excel

Exemplos de casos de teste negativos para acesso à rede sem fio

Os exemplos de casos de teste negativos a seguir se aplicam a casos de teste positivos que são aprovados com os resultados esperados quando a chave de segurança de rede (senha) correta é usada e os contratos de usuário são confirmados:

  • O acesso bloqueia a rede com uma entrada de chave inválida.

  • O acesso bloqueia a rede sem uma chave de segurança.

  • Digite um código inválido ou caracteres inválidos no campo da chave.

Exemplos de casos de teste negativos para conexão de dispositivos Bluetooth

Os exemplos de casos de teste negativos a seguir se aplicam a casos de teste positivos que são aprovados com os resultados esperados quando um dispositivo Bluetooth é descoberto ou emparelhado com dados válidos e um alcance de conexão bem-sucedido é alcançado:

  • Se você digitar um código incorreto, a conexão falhará.

  • Repita o procedimento com os dois dispositivos em sequência.

  • Desative o Bluetooth em cada máquina separadamente.

  • Restabeleça a conexão entre os dispositivos.

  • Teste dispositivos incompatíveis.

  • Teste com dispositivos restritos (aqueles que limitam as conexões).

Exemplos de casos de teste negativo para carrinhos de compras online

Os exemplos de casos de teste negativos a seguir se aplicam a casos de teste positivos que são aprovados com os resultados esperados quando há estoque suficiente, um método de pagamento válido e confirmação do provedor de pagamento, além de vários itens no carrinho:

  • Comprar mais do que o estoque disponível. (De acordo com Price-Jones, “muitos carrinhos de compras cobririam esse caso com um requisito para informar que o item não está disponível ou para configurar um pedido em espera, então você poderia argumentar que é um caso positivo”).

  • Comprar vários itens, alguns dos quais não estão disponíveis.

  • Comprar e receber a mensagem “pagamento não realizado”.

  • Comprar e receber a mensagem “local de envio incorreto” (também conhecido como “não é possível enviar para o seu local”).

  • Abandonar a compra em qualquer ponto do processo.

  • Desconecte-se em qualquer ponto do processo de compra.

Exemplos de casos de teste negativo para pagamentos com cartão de crédito

Price-Jones fornece o seguinte exemplo de etapas de caso de teste negativo para um formulário de pagamento com cartão de crédito quando as entradas do caso de teste positivo são o número correto do cartão de crédito, o código CVV (ou CVC) correto, o nome correto e o endereço de cobrança correto:

  • Dígitos de verificação incorretos

  • Número incorreto com os dígitos errados

  • Endereço de cobrança inválido

  • Número CVV inválido

  • Nome inválido

Gerenciamento de casos de teste negativo: testes manuais ou automatizados?

O teste negativo é principalmente uma atividade manual e, historicamente, é gerenciado por meio de planilhas. Com o software de automação de teste, você pode trabalhar com ferramentas que permitem criar casos de teste negativos usando dados válidos e inválidos para melhorar a cobertura de teste da AUT com cenários de teste positivos e negativos. O processo para determinar quando automatizar o teste negativo ou quando usar o teste negativo manual varia de acordo com o planejamento do teste, os requisitos do negócio ou do usuário, a disponibilidade de testadores de software qualificados e o orçamento.

Os testadores podem escrever manualmente scripts de teste automatizados (ou seja, código de software) para ajudar nas etapas do caso de teste que requerem uma grande quantidade de dados de entrada, ou podem usar ferramentas de gerenciamento de testes para configurar scripts automatizados reutilizáveis. Soluções de software como o TestComplete e o Selenium apresentam recursos de gerenciamento automatizado de scripts de teste, controle de versão e relatórios para diferentes requisitos. Os benefícios mais comumente anunciados dessas soluções incluem modelos de casos de teste, controle de versão de teste, rastreamento automatizado de bugs com notificações por e-mail para desenvolvedores designados, acesso controlado à colaboração, cobertura de teste rastreável por requisito e armazenamento de backup na nuvem.

Modelo de caso de teste para testes manuais

 

Modelo de caso de teste manual

A criação de casos de teste negativos a partir do zero é uma tarefa demorada porque a SUT muda constantemente. Use este modelo de caso de teste manual para registrar as etapas negativas do teste, analisar os resultados esperados em relação aos resultados reais e determinar um resultado de aprovação/reprovação. Ele foi projetado para registrar manualmente cada etapa do processo de teste negativo, a ID e o nome do teste e notas adicionais a serem consideradas durante a análise.

Baixe o modelo de caso de teste para testes manuais

Excel | Word

 

Modelo de caso de teste para testes de automação

 

Modelo de caso de teste de teste de automação

Use este modelo de caso de teste para testes de automação para analisar o sucesso ou o fracasso dos testes de software automatizados. Baixe e preencha este formulário para documentar o nome e a ID do teste, a duração do teste, cada etapa e componente e todas as observações sobre o teste, inclusive os scripts de teste automatizados.

Baixe o modelo de caso de teste para testes de automação

Excel

Falsos positivos e negativos em testes negativos

No teste de software, um resultado falso positivo refere-se a um resultado de caso de teste com falha que ocorre quando não há defeito e o SUT está funcionando corretamente. Quando um caso de teste é aprovado, mas um defeito está presente no SUT, o resultado é conhecido como um resultado falso negativo. A atividade de teste negativo manual, como o teste de sanidade (execução de um teste para garantir que um determinado aspecto do software esteja funcionando mais ou menos como esperado) e o teste de casos opostos (forçar o resultado de um caso de teste aprovado a falhar), ajuda a evitar resultados falsos positivos.

Para reduzir os resultados falsos antes de incorporar scripts de teste automatizados ou ferramentas de automação, certifique-se de colocar em prática as medidas adequadas durante o planejamento do teste e ao criar casos de teste negativos. Use um modelo que leve em conta todos os scripts de teste automatizados que foram projetados especificamente para evitar casos de teste falso-positivos ou negativos.

Modelo de caso de teste para testes de aceitação do usuário

 

Modelo de caso de teste de teste de aceitação do usuário

Baixe este modelo abrangente de caso de teste para testes de aceitação do usuário para garantir que ele corresponda ao documento SRS e atenda a todos os requisitos fornecidos. O documento foi criado para rastrear aplicativos individuais, etapas de execução e resultados esperados e reais.

Baixe o modelo de caso de teste para testes de aceitação do usuário

Excel

Melhore os casos de teste negativo com o Smartsheet para desenvolvimento de software

Capacite seu pessoal para ir além com uma plataforma flexível desenvolvida para atender às necessidades da sua equipe e se adaptar conforme essas necessidades mudam. Com a plataforma Smartsheet fica fácil planejar, coletar informações, gerenciar e criar relatórios sobre o trabalho de qualquer lugar, ajudando sua equipe a ser mais eficiente e mostrar resultados. Crie relatórios sobre as principais métricas e obtenha visibilidade do trabalho em tempo real, à medida que ele acontece, através de relatórios, painéis e fluxos de trabalho automatizados criados para manter sua equipe conectada e informada. Quando as equipes têm clareza sobre o trabalho que está sendo realizado, elas podem ser muito mais produtivas durante o mesmo período de tempo. Experimente o Smartsheet gratuitamente hoje mesmo.

 

Descubra por que mais de 90% das empresas da Fortune 100 confiam no Smartsheet para realizarem seu trabalho.

Obtenha modelos gratuitos do Smartsheet Get a Free Smartsheet Demo