Testes não funcionais
⚡ Resumo Inteligente
Os testes não funcionais validam o desempenho de um aplicativo de software em termos de confiabilidade, usabilidade, segurança, escalabilidade e outros atributos de qualidade. Este guia explica os objetivos, parâmetros, características, tipos comuns de testes e exemplos práticos de casos de teste usados por equipes de garantia da qualidade.

O que são testes não funcionais?
Testes não funcionais É uma categoria de teste de software que valida os aspectos não funcionais de uma aplicação — desempenho, usabilidade, confiabilidade e atributos de qualidade semelhantes. Avalia a prontidão do sistema em relação a critérios que os testes funcionais nunca abordam, garantindo que a aplicação atenda às expectativas da empresa em condições reais de uso.
Um exemplo clássico de teste não funcional é medir quantos usuários simultâneos podem acessar um aplicativo sem que o desempenho seja comprometido. O teste não funcional é tão importante quanto o teste funcional, pois afeta diretamente a satisfação do cliente e a percepção geral do produto.
Objetivos dos Testes Não Funcionais
Os testes não funcionais são realizados para melhorar a qualidade geral e a longevidade de um produto. Os principais objetivos incluem:
- Aumentar a usabilidade, a eficiência, a facilidade de manutenção e a portabilidade do produto.
- Reduzir o risco de produção e o custo associado a defeitos não funcionais.
- Otimizar a forma como o produto é instalado, configurado, executado, gerenciado e monitorado.
- Coletar medições e métricas para pesquisa e desenvolvimento internos.
- Aprimorar a compreensão do comportamento do produto e das tecnologias utilizadas.
Características dos testes não funcionais
As seguintes características definem como os testes não funcionais devem ser planejados e executados:
- Deve ser mensurável, não deixando espaço para descrições subjetivas como bom, melhor ou o melhor.
- Os números exatos geralmente são desconhecidos no início do processo de levantamento de requisitos.
- Os requisitos devem ser priorizados para que as áreas de maior risco sejam abordadas primeiro.
- Os atributos de qualidade são identificados com precisão durante a fase de engenharia de software.
Parâmetros de teste não funcionais
Onze parâmetros são normalmente usados para definir o escopo dos esforços de testes não funcionais:
- Segurança: Mede o nível de proteção de um sistema contra ataques deliberados e acidentais provenientes de fontes internas ou externas. Verificado por meio de testes de segurança.
- Confiabilidade: O grau em que um sistema executa continuamente suas funções especificadas sem falhas. Verificado por meio de testes de confiabilidade.
- Capacidade de sobrevivência: Confirma que o sistema continua a funcionar e recupera-se após uma falha. Verificado através de testes de recuperação.
- Disponibilidade: Determina o grau de confiabilidade do usuário no sistema durante a operação. Verificado por meio de testes de estabilidade.
- Usabilidade: A facilidade com que os usuários podem aprender, operar, preparar entradas e consumir saídas do sistema. Verificado por meio de testes de usabilidade.
- Escalabilidade: O grau em que um aplicativo de software pode expandir sua capacidade de processamento para atender ao aumento da demanda. Verificado por meio de testes de escalabilidade.
- Interoperabilidade: Verifica como um sistema de software interage com outros sistemas de software. Verificado por meio de testes de interoperabilidade.
- Eficiência: A capacidade do sistema de lidar com demandas de capacidade, quantidade e tempo de resposta sob carga.
- Flexibilidade: A facilidade com que o aplicativo pode funcionar em diferentes configurações de hardware e software, como variações nas especificações de RAM ou CPU.
- Portabilidade: A flexibilidade do software para migrar de seu ambiente de hardware ou software atual para outro.
- Reutilização: Refere-se à parte de um sistema de software que pode ser adaptada para uso em outra aplicação.
Tipo de teste de software
Os testes de software são amplamente classificados em três categorias:
- Teste funcional
- Testes não funcionais
- Teste de manutenção
Cada categoria contém vários níveis de teste, que as equipes costumam chamar de tipos de teste. Diferentes livros e materiais de referência podem classificá-los de maneiras ligeiramente diferentes, portanto, espere pequenas variações.
A lista de tipos de teste não é exaustiva — existem mais de 100 tipos distintos de teste, e novos continuam a surgir. Nem todos os tipos se aplicam a todos os projetos; o escopo depende da natureza, do perfil de risco e da complexidade da aplicação em teste.
Tipos de testes não funcionais
Os tipos mais comuns de testes não funcionais realizados por equipes de controle de qualidade incluem:
- Teste de Desempenho
- Teste de carga
- Teste de failover
- Teste de compatibilidade
- Testando usabilidade
- Teste de estresse
- Teste de sustentabilidade
- Teste de escalabilidade
- Teste de Volume
- Teste de Segurança
- Teste de recuperação de desastres
- Teste de conformidade
- Teste de portabilidade
- Teste de Eficiência
- Teste de Confiabilidade
- Teste de linha de base
- Teste de Resistência
- Teste de documentação
- Teste de Recuperação
- Teste de Internacionalização
Exemplos de casos de teste para testes não funcionais
Os exemplos a seguir ilustram como os casos de teste não funcionais são escritos em projetos reais:
| Caso de teste # | Caso de teste | Domínio |
|---|---|---|
| 1 | O tempo de carregamento do aplicativo não deve exceder 5 segundos quando até 1000 usuários acessarem o aplicativo simultaneamente. | Teste de Desempenho |
| 2 | O software deve ser instalável em todas as versões suportadas de Windows e macOS. | Teste de compatibilidade |
| 3 | Todas as imagens da web devem incluir tags alt descritivas. | Teste de Acessibilidade |


