Tipos de teste de software (100 exemplos)
O que é um tipo de teste de software?
Tipo de teste de software é uma classificação de diferentes atividades de teste em categorias, cada uma tendo um objetivo de teste, estratégia de teste e resultados de teste definidos. O objetivo de ter um tipo de teste é validar o Aplicativo em Teste (AUT) para o Objetivo de Teste definido.
Por exemplo, o objetivo dos testes de acessibilidade é validar o AUT para ser acessível a pessoas com deficiência. Portanto, se a sua solução de software precisar ser desabilitada, verifique-a nos casos de teste de acessibilidade.
Tipos de teste de software
Uma lista de 100 tipos de teste de software junto com definições. Uma leitura obrigatória para qualquer profissional de controle de qualidade. Considere este o seu guia para todos os tipos de teste de software.
- Teste de aceitação: Testes formais conduzidos para determinar se um sistema satisfaz ou não seus critérios de aceitação e para permitir que o cliente determine se aceita ou não o sistema. Geralmente é realizado pelo cliente. Leia mais em Teste de aceitação
- Teste de acessibilidade: Tipo de teste que determina a usabilidade de um produto para pessoas com deficiência (surdos, cegos, deficientes mentais, etc.). O processo de avaliação é conduzido por pessoas com deficiência. Leia mais em Teste de Acessibilidade
- Teste ativo: Tipo de teste que consiste na introdução de dados de teste e na análise dos resultados da execução. Geralmente é conduzido pela equipe de teste.
- Teste Ágil: Prática de testes de software que segue os princípios do manifesto ágil, enfatizando os testes na perspectiva dos clientes que utilizarão o sistema. Geralmente é realizado pelas equipes de controle de qualidade. Leia mais em Teste Ágil
- Teste de idade: Tipo de teste que avalia a capacidade de desempenho de um sistema no futuro. O processo de avaliação é conduzido por equipes de teste.
- Teste ad hoc: Teste realizado sem planejamento e documentação – o testador tenta “quebrar” o sistema testando aleatoriamente a funcionalidade do sistema. É realizado pela equipe de testes. Leia mais em Teste Ad-hoc
- Teste Alfa: Alpha Testing é um tipo de teste de software conduzido no site do desenvolvedor para identificar bugs, problemas de usabilidade e lacunas de funcionalidade antes de liberar o produto para teste beta. Ele envolve testadores internos, como desenvolvedores e equipes de QA, e às vezes seleciona usuários finais em um ambiente controlado. Leia mais em Teste Alfa
- Teste de afirmação: Tipo de ensaio que consiste em verificar se as condições confirmam os requisitos do produto. É realizado pela equipe de testes.
- Teste de API: Técnica de teste semelhante ao teste de unidade, pois visa o nível de código. O teste de API difere do teste de unidade porque normalmente é uma tarefa de controle de qualidade e não uma tarefa de desenvolvedor. Leia mais em Teste de API
- Teste de todos os pares: Método de teste combinatório que testa todas as combinações discretas possíveis de parâmetros de entrada. É realizado pelas equipes de teste.
- Teste automatizado: Técnica de teste que utiliza ferramentas de testes de automação para controlar a configuração do ambiente, execução de testes e relatórios de resultados. É realizado por um computador e utilizado dentro das equipes de teste. Leia mais em Testes automatizados
- Teste de caminho básico: Um mecanismo de teste que deriva uma medida de complexidade lógica de um projeto processual e usa isso como um guia para definir um conjunto básico de caminhos de execução. É usado pelas equipes de teste ao definir casos de teste. Leia mais em Teste de caminho básico
- Teste de compatibilidade com versões anteriores: Método de teste que verifica o comportamento do software desenvolvido com versões mais antigas do ambiente de teste. É realizado pela equipe de testes.
- Teste beta: Teste final antes de liberar o aplicativo para fins comerciais. Normalmente é feito por usuários finais ou outros.
- Teste de referência: Técnica de teste que utiliza conjuntos representativos de programas e dados projetados para avaliar o desempenho de hardware e software de computador em uma determinada configuração. É realizado por equipes de teste. Leia mais em Teste de benchmark
- Teste de integração do Big Bang: Técnica de teste que integra módulos individuais do programa somente quando tudo estiver pronto. É realizado pelas equipes de teste.
- Teste de portabilidade binária: Técnica que testa a portabilidade de um aplicativo executável entre plataformas e ambientes de sistema, geralmente para conformidade com uma especificação ABI. É realizado pelas equipes de teste.
- Teste de valor limite: Técnica de teste de software na qual os testes são projetados para incluir representantes de valores limite. É realizado pelas equipes de teste de controle de qualidade. Leia mais em Teste de valor limite
- Teste de integração ascendente: No Teste de Integração ascendente, os módulos do nível mais baixo são desenvolvidos primeiro e outros módulos que vão em direção ao programa 'principal' são integrados e testados um de cada vez. Geralmente é realizado pelas equipes de teste.
- Teste de filial: Técnica de teste em que todas as ramificações do código-fonte do programa são testadas pelo menos uma vez. Isso é feito pelo desenvolvedor.
- Teste de amplitude: Um conjunto de testes que exercita todas as funcionalidades de um produto, mas não testa os recursos detalhadamente. É realizado por equipes de teste.
- Teste de caixa preta: Um método de teste de software que verifica a funcionalidade de um aplicativo sem ter conhecimento específico do código/estrutura interna do aplicativo. Os testes são baseados em requisitos e funcionalidades. É realizado por equipes de controle de qualidade. Leia mais em Teste de caixa preta
- Teste baseado em código: Técnica de teste que utiliza estruturas de teste (como xUnit) que permitem a execução de testes unitários para determinar se várias seções do código estão agindo conforme esperado sob diversas circunstâncias. É realizado pelas equipes de desenvolvimento.
- Teste de compatibilidade: Técnica de teste que valida o desempenho de um software em um determinado hardware/software/sistema operacional/ambiente de rede. É realizado pelas equipes de teste. Leia mais em Teste de compatibilidade
- Teste de comparação: Técnica de teste que compara os pontos fortes e fracos do produto com versões anteriores ou outros produtos similares. Pode ser realizado por testadores, desenvolvedores, gerentes de produtos ou proprietários de produtos. Leia mais em Teste de componentes
- Teste de componentes: Técnica de teste semelhante ao teste unitário, mas com um nível mais alto de integração – o teste é feito no contexto da aplicação, em vez de apenas testar diretamente um método específico. Pode ser realizado por equipes de teste ou desenvolvimento.
- Teste de configuração: Técnica de teste que determina a configuração mínima e ideal de hardware e software e o efeito da adição ou modificação de recursos como memória, unidades de disco e CPU. Geralmente é realizado pelos engenheiros de testes de desempenho. Leia mais em Teste de configuração
- Teste de cobertura de condição: Tipo de teste de software onde cada condição é executada tornando-a verdadeira ou falsa, em cada uma das formas pelo menos uma vez. Normalmente é feito pelas equipes de testes de automação.
- Teste de conformidade: Tipo de teste que verifica se o sistema foi desenvolvido de acordo com padrões, procedimentos e diretrizes. Geralmente é realizado por empresas externas que oferecem a marca “Certified OGC Compliant”.
- Teste de simultaneidade: Testes multiusuários voltados para determinar os efeitos do acesso ao mesmo código de aplicação, módulo ou registros de banco de dados. Geralmente é feito por engenheiros de desempenho. Leia mais em Teste de simultaneidade
- Teste de conformidade: O processo de testar se uma implementação está em conformidade com a especificação na qual se baseia. Geralmente é realizado por equipes de teste. Leia mais em Teste de Conformidade
- Teste baseado em contexto: Uma técnica de Teste Ágil que defende a avaliação contínua e criativa das oportunidades de teste à luz das informações potenciais reveladas e do valor dessas informações para a organização em um momento específico. Geralmente é realizado por equipes de testes Agile.
- Teste de conversão: Teste de programas ou procedimentos usados para converter dados de sistemas existentes para uso em sistemas substitutos. Geralmente é realizado pelas equipes de controle de qualidade.
- Teste de cobertura de decisão: Tipo de teste de software em que cada condição/decisão é executada configurando-a como verdadeira/falsa. Normalmente é feito pelas equipes de testes de automação.
- Teste destrutivo: Tipo de ensaio em que os ensaios são realizados até a ruptura do corpo de prova, a fim de compreender o desempenho estrutural de um corpo de prova ou o comportamento do material sob diferentes cargas. Geralmente é realizado por equipes de controle de qualidade.
Leia mais sobre Teste destrutivo - Teste de Dependência: Tipo de teste que examina os requisitos de um aplicativo para software pré-existente, estados iniciais e configuração para manter a funcionalidade adequada. Geralmente é realizado por equipes de teste.
- Teste Dinâmico: Termo usado em engenharia de software para descrever o teste do comportamento dinâmico do código. Normalmente é realizado por equipes de teste. Leia mais em Teste Dinâmico
- Teste de domínio: Técnica de teste de caixa branca que contém verificações de que o programa aceita apenas entradas válidas. Geralmente é feito por equipes de desenvolvimento de software e ocasionalmente por equipes de testes de automação.
- Teste de tratamento de erros: Tipo de teste de software que determina a capacidade do sistema de processar adequadamente transações erradas. Geralmente é realizado pelas equipes de teste.
- Teste ponta a ponta: Semelhante ao teste de sistema, envolve o teste de um ambiente de aplicativo completo em uma situação que imita o uso no mundo real, como interagir com um banco de dados, usar comunicações de rede ou interagir com outro hardware, aplicativos ou sistemas, se apropriado. É realizado por equipes de controle de qualidade. Leia mais em Teste de ponta a ponta
- Teste de resistência: Tipo de teste que verifica vazamentos de memória ou outros problemas que podem ocorrer com execução prolongada. Geralmente é realizado por engenheiros de desempenho. Leia mais em Teste de Resistência
- Teste Exploratório: Técnica de teste de caixa preta realizada sem planejamento e documentação. Geralmente é realizado por testadores manuais. Leia mais em Teste Exploratório
- Teste de particionamento de equivalência: Técnica de teste de software que divide os dados de entrada de uma unidade de software em partições de dados a partir das quais os casos de teste podem ser derivados. geralmente é realizado pelas equipes de controle de qualidade. Leia mais em Teste de particionamento de equivalência
- Teste de injeção de falha: Elemento de uma estratégia de teste abrangente que permite ao testador se concentrar na maneira como o aplicativo em teste é capaz de lidar com exceções. É realizado por equipes de controle de qualidade.
- Teste de verificação formal: O ato de provar ou refutar a correção dos algoritmos pretendidos subjacentes a um sistema com relação a uma determinada especificação ou propriedade formal, usando métodos formais de matemática. Geralmente é realizado por equipes de controle de qualidade.
- Teste funcional: Tipo de teste caixa preta que baseia seus casos de teste nas especificações do componente de software em teste. É realizado por equipes de teste. Leia mais em Teste funcional
- Teste de Fuzz: Técnica de teste de software que fornece dados inválidos, inesperados ou aleatórios às entradas de um programa – uma área especial de teste de mutação. O teste Fuzz é realizado por equipes de teste. Leia mais em Teste Fuzz
- Teste de gorila: Técnica de teste de software que se concentra em testes intensos de um módulo específico. É realizado por equipes de garantia de qualidade, geralmente durante a execução de testes completos.
- Gray Box Teste: Uma combinação de preto Box e branco Box metodologias de teste: testar um software em relação às suas especificações, mas usando algum conhecimento de seu funcionamento interno. Pode ser executado por equipes de desenvolvimento ou de teste.
- Teste de caixa de vidro: Semelhante ao teste de caixa branca, baseado no conhecimento da lógica interna do código de uma aplicação. É realizado por equipes de desenvolvimento.
- Teste de software GUI: O processo de testar um produto que utiliza uma interface gráfica de usuário, para garantir que ele atenda às especificações escritas. Isso normalmente é feito pelas equipes de teste. Leia mais em Teste de software GUI
- Teste de Globalização: Método de teste que verifica a funcionalidade adequada do produto com qualquer configuração de cultura/localidade usando todos os tipos de informações internacionais possíveis. É realizado pela equipe de testes. Leia mais em Teste de Globalização
- Teste de integração híbrida: Técnica de teste que combina técnicas de integração top-down e bottom-up para aproveitar os benefícios desse tipo de teste. Geralmente é realizado pelas equipes de teste.
- Teste de integração: A fase de teste de software em que módulos de software individuais são combinados e testados como um grupo. Geralmente é conduzido por equipes de teste. Leia mais em Teste de integração
- Teste de interface: Testes realizados para avaliar se os sistemas ou componentes transmitem dados e controlam corretamente entre si. Geralmente é realizado por equipes de teste e desenvolvimento. Leia mais em Teste de interface
- Teste de instalação/desinstalação: Trabalho de garantia de qualidade que se concentra no que os clientes precisarão fazer para instalar e configurar o novo software com sucesso. Pode envolver processos de instalação/desinstalação completos, parciais ou de atualizações e normalmente é feito pelo engenheiro de teste de software em conjunto com o gerente de configuração.
- Teste de Internacionalização: O processo que garante que a funcionalidade do produto não seja quebrada e que todas as mensagens sejam devidamente externalizadas quando usadas em diferentes idiomas e localidades. Geralmente é realizado pelas equipes de teste.
- Teste entre sistemas: Uma técnica de teste focada em verificar se as interconexões entre aplicativos funcionam corretamente. Ela é tipicamente realizada pelas equipes de teste.
- Teste baseado em palavras-chave: Também conhecido como teste orientado por tabela ou teste de palavras de ação, é uma metodologia de teste de software para testes automatizados que separa o processo de criação de teste em dois estágios distintos: um estágio de planejamento e um estágio de implementação. Ele pode ser usado por equipes de testes manuais ou automatizados. Leia mais em Teste baseado em palavras-chave
- Teste de Carga: Técnica de teste que coloca demanda em um sistema ou dispositivo e mede sua resposta. Geralmente é conduzido pelos engenheiros de desempenho. Leia mais em Teste de carga
- Teste de localização: Parte do processo de teste de software focado na adaptação de um aplicativo globalizado a uma cultura/localidade específica. Normalmente é feito pelas equipes de teste. Leia mais em Teste de localização
- Teste de loop: Uma técnica de teste de caixa branca que exercita loops de programa. É realizado pelas equipes de desenvolvimento. Leia mais em Teste de loop
- Teste com script manual: Método de teste em que os casos de teste são desenhados e revisados pela equipe antes de executá-los. Isso é feito por equipes de testes manuais.
- Teste de suporte manual: Técnica de teste que envolve testar todas as funções desempenhadas pelas pessoas durante a preparação dos dados e a utilização desses dados em sistema automatizado. é conduzido por equipes de teste.
- Teste Baseado em Modelo: A aplicação de design baseado em modelo para projetar e executar os artefatos necessários para realizar testes de software. Geralmente é realizado por equipes de teste. Leia mais em Teste Baseado em Modelo
- Teste de mutação: Método de teste de software que envolve a modificação do código-fonte ou do código de bytes dos programas em pequenas formas, a fim de testar seções do código que raramente ou nunca são acessadas durante a execução normal dos testes. Normalmente é conduzido por testadores. Leia mais em Teste de mutação
- Testes baseados em modularidade: Técnica de teste de software que requer a criação de scripts pequenos e independentes que representam módulos, seções e funções da aplicação em teste. Geralmente é realizado pela equipe de teste.
- Testes não funcionais: Técnica de teste que se concentra no teste de um aplicativo de software quanto aos seus requisitos não funcionais. Pode ser conduzido pelos engenheiros de desempenho ou por equipes de testes manuais. Leia mais em Teste não funcional
- Teste Negativo: Também conhecido como “teste para falhar” – método de teste onde o objetivo dos testes é mostrar que um componente ou sistema não funciona. É realizado por testadores manuais ou automatizados. Leia mais em Teste Negativo
- OperaTeste Nacional: Técnica de teste realizada para avaliar um sistema ou componente em seu ambiente operacional. Geralmente é realizado por equipes de teste. Leia mais em OperaTeste Nacional
- Teste de matriz ortogonal: Forma sistemática e estatística de teste que pode ser aplicada em testes de interface de usuário, testes de sistema, testes de regressão, testes de configuração e testes de desempenho. É realizado pela equipe de testes. Leia mais em Teste de array ortogonal
- Teste de pares: Técnica de desenvolvimento de software em que dois membros da equipe trabalham juntos em um teclado para testar o aplicativo de software. Um faz os testes e o outro analisa ou revisa os testes. Isso pode ser feito entre um testador e um desenvolvedor ou analista de negócios ou entre dois testadores, com ambos os participantes se revezando no controle do teclado.
- Teste Passivo: Técnica de teste que consiste em monitorar os resultados de um sistema em execução sem introduzir quaisquer dados de teste especiais. É realizado pela equipe de testes.
- Teste paralelo: Técnica de teste que tem como objetivo garantir que um novo aplicativo que substituiu sua versão anterior foi instalado e está funcionando corretamente. É conduzido pela equipe de testes. Leia mais em Teste Paralelo
- Teste de caminho: Teste típico de caixa branca que tem como objetivo satisfazer os critérios de cobertura para cada caminho lógico do programa. Geralmente é realizado pela equipe de desenvolvimento. Leia mais em Teste de caminho
- Teste de penetração: Método de teste que avalia a segurança de um sistema de computador ou rede simulando um ataque de uma fonte maliciosa. Geralmente são conduzidos por empresas especializadas em testes de penetração. Leia mais em Teste de Penetração
- Teste de performance: Testes funcionais realizados para avaliar a conformidade de um sistema ou componente com requisitos de desempenho especificados. Geralmente é conduzido pelo engenheiro de desempenho. Leia mais em Teste de Desempenho
- Teste de qualificação: Testes em relação às especificações da versão anterior, geralmente conduzidos pelo desenvolvedor para o consumidor, para demonstrar que o software atende aos requisitos especificados.
- Ramp Teste: Tipo de teste que consiste em elevar continuamente um sinal de entrada até que o sistema falhe. Pode ser conduzido pela equipe de testes ou pelo engenheiro de desempenho.
- Teste de regressão: Tipo de teste de software que busca descobrir erros de software após alterações no programa (por exemplo, correções de bugs ou novas funcionalidades), testando novamente o programa. É realizado pelas equipes de teste. Leia mais em Teste de regressão
- Teste de recuperação: Técnica de teste que avalia quão bem um sistema se recupera de travamentos, falhas de hardware ou outros problemas catastróficos. É realizado pelas equipes de teste. Leia mais em Teste de Recuperação
- Teste de requisitos: Técnica de teste que valida se os requisitos estão corretos, completos, inequívocos e logicamente consistentes e permite projetar um conjunto necessário e suficiente de casos de teste a partir desses requisitos. É realizado por equipes de controle de qualidade.
- Teste de segurança: Um processo para determinar se um sistema de informação protege os dados e mantém a funcionalidade conforme pretendido. Pode ser realizado por equipes de testes ou por empresas especializadas em testes de segurança. Leia mais em Teste de Segurança
- Teste de Sanidade: Técnica de teste que determina se uma nova versão de software está funcionando bem o suficiente para aceitá-la para um grande esforço de teste. É realizado pelas equipes de teste. Leia mais em Teste de Sanidade
- Teste de cenário: Atividade de teste que utiliza cenários baseados em uma história hipotética para ajudar uma pessoa a pensar em um problema ou sistema complexo para um ambiente de teste. É realizado pelas equipes de teste. Leia mais em Teste de cenário
- Teste de escalabilidade: Parte da bateria de testes não funcionais que testa um aplicativo de software para medir sua capacidade de expansão – seja a carga de usuário suportada, o número de transações, o volume de dados, etc. É conduzido pelo engenheiro de desempenho. Leia mais em Teste de escalabilidade
- Teste de declaração: Teste de caixa branca que satisfaz o critério de que cada instrução em um programa seja executada pelo menos uma vez durante o teste do programa. Geralmente é realizado pela equipe de desenvolvimento.
- Teste Estático: Uma forma de teste de software em que o software não é realmente usado, verifica principalmente a integridade do código, algoritmo ou documento. É usado pelo desenvolvedor que escreveu o código. Leia mais em Teste estático
- Teste de Estabilidade: Técnica de teste que tenta determinar se um aplicativo irá travar. Geralmente é conduzido pelo engenheiro de desempenho. Leia mais em Teste de Estabilidade
- Teste de fumaça: Técnica de teste que examina todos os componentes básicos de um sistema de software para garantir que funcionem corretamente. Normalmente, o teste de fumaça é conduzido pela equipe de teste, imediatamente após a construção do software. Leia mais em Teste de Fumaça
- Teste de armazenamento: Tipo de teste que verifica se o programa em teste armazena arquivos de dados nos diretórios corretos e se reserva espaço suficiente para evitar encerramento inesperado resultante de falta de espaço. Geralmente é realizado pela equipe de teste. Leia mais em Teste de armazenamento
- Teste de Estresse: Técnica de teste que avalia um sistema ou componente dentro ou além dos limites de seus requisitos especificados. Geralmente é conduzido pelo engenheiro de desempenho. Leia mais em Teste de estresse
- Teste Estrutural: Técnica de teste de caixa branca que leva em consideração a estrutura interna de um sistema ou componente e garante que cada instrução do programa execute a função pretendida. Geralmente é realizado pelos desenvolvedores de software.
- Teste do sistema: O processo de testar um sistema integrado de hardware e software para verificar se o sistema atende aos requisitos especificados. É conduzido pelas equipes de teste no ambiente de desenvolvimento e de destino. Leia mais em Teste do sistema
- Teste de integração do sistema: Processo de teste que exercita a coexistência de um sistema de software com outros. Geralmente é realizado pelas equipes de teste. Leia mais em Teste de integração de sistema
- Teste de integração de cima para baixo: Técnica de teste que envolve começar no topo da hierarquia do sistema na interface do usuário e usar stubs para testar de cima para baixo até que todo o sistema tenha sido implementado. É conduzido pelas equipes de teste.
- Teste de thread: Uma variação da técnica de teste descendente onde a integração progressiva de componentes segue a implementação de subconjuntos de requisitos. Geralmente é realizado pelas equipes de teste. Leia mais em Teste de thread
- Upgrade Teste: Técnica de teste que verifica se os ativos criados com versões mais antigas podem ser usados corretamente e se o aprendizado do usuário não é desafiado. É realizado pelas equipes de teste.
- Teste de unidade: Método de verificação e validação de software no qual um programador testa se unidades individuais de código-fonte são adequadas para uso. Geralmente é conduzido pela equipe de desenvolvimento. Leia mais em Teste de Unidade
- Teste de interface do usuário: Tipo de teste realizado para verificar a facilidade de uso do aplicativo. É realizado por equipes de teste. Leia mais em Teste de interface do usuário
Bônus !!! É sempre bom saber mais algumas
- Testando usabilidade: Técnica de teste que verifica a facilidade com que um usuário pode aprender a operar, preparar entradas e interpretar saídas de um sistema ou componente. Geralmente é realizado por usuários finais. Leia mais em Testando usabilidade
- Teste de volume: Testes que confirmam que quaisquer valores que possam aumentar ao longo do tempo (como contagens acumuladas, logs e arquivos de dados) podem ser acomodados pelo programa e não farão com que o programa pare de funcionar ou degrade sua operação de qualquer maneira. Geralmente é conduzido pelo engenheiro de desempenho. Leia mais em Teste de Volume
- Teste de vulnerabilidade: Tipo de teste que diz respeito à segurança da aplicação e tem como objetivo prevenir problemas que possam afetar a integridade e estabilidade da aplicação. Pode ser realizado pelas equipes internas de testes ou terceirizado para empresas especializadas. Leia mais em Teste de vulnerabilidade
- Teste de caixa branca: Técnica de teste baseada no conhecimento da lógica interna do código de uma aplicação e inclui testes como cobertura de instruções de código, ramificações, caminhos, condições. É realizado por desenvolvedores de software. Leia mais em Teste de caixa branca
- Teste de fluxo de trabalho: Técnica de teste ponta a ponta com script que duplica fluxos de trabalho específicos que devem ser utilizados pelo usuário final. Geralmente é conduzido por equipes de teste. Leia mais em Teste de fluxo de trabalho
Isso conclui a lista. Espero que você tenha gostado de ler. Para encontrar as ferramentas apropriadas para este tipo de teste e outros, explore esta coleção de ferramentas de teste.