types software testing
Quais são os diferentes tipos de teste de software?
Nós, como testadores, estamos cientes dos vários tipos de Teste de Software, como Teste Funcional, Teste Não Funcional, Teste de Automação, Teste Ágil e seus subtipos, etc.
Cada um de nós teria se deparado com vários tipos de teste em nossa jornada de teste. Podemos ter ouvido alguns e podemos ter trabalhado em alguns, mas nem todos têm conhecimento sobre todos os tipos de teste.
Cada tipo de teste tem seus próprios recursos, vantagens e desvantagens. No entanto, neste artigo, cobri principalmente cada tipo de teste de software que normalmente usamos em nossa vida de teste do dia a dia.
Vamos dar uma olhada neles.
como abrir arquivos jar com java windows 10
O que você aprenderá:
- Diferentes tipos de teste de software
- # 1) Teste Alpha
- # 2) Teste de Aceitação
- # 3) Teste ad-hoc
- # 4) Teste de acessibilidade
- # 5) Teste Beta
- # 6) Teste de back-end
- # 7) Teste de compatibilidade do navegador
- # 8) Teste de compatibilidade com versões anteriores
- # 9) Teste de caixa preta
- # 10) Teste de valor limite
- # 11) Teste de filial
- # 12) Teste de comparação
- # 13) Teste de Compatibilidade
- # 14) Teste de componentes
- # 15) Teste de ponta a ponta
- # 16) Particionamento de Equivalência
- # 17) Teste de Exemplo
- # 18) Teste Exploratório
- # 20) Teste Funcional
- # 21) Teste de interface gráfica do usuário (GUI)
- # 22) Teste de Gorila
- # 23) Feliz teste de caminho
- # 24) Teste de integração incremental
- # 25) Teste de instalação / desinstalação
- # 26) Teste de integração
- # 27) Teste de carga
- # 28) Teste do macaco
- # 29) Teste de mutação
- # 30) Teste Negativo
- # 31) Teste não funcional
- # 32) Teste de desempenho
- # 33) Teste de recuperação
- # 34) Teste de regressão
- # 35) Teste baseado em risco (RBT)
- # 36) Teste de Sanidade
- # 37) Teste de segurança
- # 38) Teste de fumaça
- # 39) Teste estático
- # 40) Teste de estresse
- # 41) Teste de sistema
- # 42) Teste de Unidade
- # 43) Teste de usabilidade
- # 44) Teste de vulnerabilidade
- # 45) Teste de Volume
- # 46) Teste de caixa branca
- Conclusão
- Leitura recomendada
Diferentes tipos de teste de software
Dada a seguir está a lista de alguns tipos comuns de teste de software:
Os tipos de teste funcional incluem:
- Teste de Unidade
- Teste de integração
- Teste de Sistema
- Teste de Sanidade
- Teste de Fumaça
- Teste de Interface
- Teste de Regressão
- Teste Beta / Aceitação
Os tipos de teste não funcionais incluem:
- Teste de performance
- Teste de carga
- Teste de Estresse
- Teste de Volume
- Teste de Segurança
- Teste de Compatibilidade
- Teste de instalação
- Teste de Recuperação
- Teste de Confiabilidade
- Testando usabilidade
- Teste de conformidade
- Teste de localização
Vamos ver mais detalhes sobre esses tipos de teste.
# 1) Teste Alpha
É o tipo de teste mais comum usado na indústria de software. O objetivo deste teste é identificar todos os possíveis problemas ou defeitos antes de lançá-lo no mercado ou para o usuário.
O Teste Alfa é realizado no final da fase de desenvolvimento de software, mas antes do Teste Beta. Ainda assim, pequenas alterações de design podem ser feitas como resultado de tais testes.
Teste Alfa é conduzido no site do desenvolvedor. O ambiente de usuário virtual interno pode ser criado para esse tipo de teste.
# 2) Teste de Aceitação
A Teste de aceitação é executado pelo cliente e verifica se o fluxo de ponta a ponta do sistema está de acordo com os requisitos do negócio ou não e se está de acordo com as necessidades do usuário final. O cliente aceita o software apenas quando todos os recursos e funcionalidades funcionam conforme o esperado.
É a última fase do teste, após a qual o software entra em produção. Isso também é chamado de Teste de Aceitação do Usuário (UAT).
# 3) Teste ad-hoc
O próprio nome sugere que este teste seja realizado em um ad-hoc ou seja, sem referência ao caso de teste e também sem qualquer plano ou documentação em vigor para esse tipo de teste.
O objetivo desse teste é encontrar os defeitos e interromper o aplicativo, executando qualquer fluxo do aplicativo ou qualquer funcionalidade aleatória.
O teste ad-hoc é uma maneira informal de localizar defeitos e pode ser realizado por qualquer pessoa no projeto. É difícil identificar defeitos sem um caso de teste, mas às vezes é possível que os defeitos encontrados durante o teste ad-hoc não tenham sido identificados usando os casos de teste existentes.
# 4) Teste de acessibilidade
A mira de Teste de Acessibilidade é determinar se o software ou aplicativo está acessível para pessoas com deficiência ou não.
Aqui, deficiência significa surdos, daltônicos, deficientes mentais, cegos, idosos e outros grupos de deficientes. Várias verificações são realizadas, como tamanho da fonte para deficientes visuais, cor e contraste para daltonismo, etc.
# 5) Teste Beta
Teste beta é um tipo formal de Teste de Software que é realizado pelo cliente. É realizado em o ambiente real antes de lançar o produto no mercado para os usuários finais reais.
O teste beta é realizado para garantir que não haja grandes falhas no software ou produto e satisfaça os requisitos de negócios da perspectiva do usuário final. O teste beta é bem-sucedido quando o cliente aceita o software.
Normalmente, esse teste é normalmente feito por usuários finais ou outros. É o teste final feito antes de lançar um aplicativo para fins comerciais. Normalmente, a versão Beta do software ou produto lançado é limitada a um determinado número de usuários em uma área específica.
Portanto, o usuário final realmente usa o software e compartilha o feedback com a empresa. A empresa então toma as medidas necessárias antes de lançar o software em todo o mundo.
# 6) Teste de back-end
Sempre que uma entrada ou dado é inserido no aplicativo front-end, ele é armazenado no banco de dados e o teste desse banco de dados é conhecido como Database Testing ou Backend Testing.
Existem diferentes bancos de dados como SQL Server, MySQL e Oracle, etc. O teste de banco de dados envolve o teste da estrutura da tabela, esquema, procedimento armazenado, estrutura de dados e assim por diante.
No teste de back-end, a GUI não está envolvida, os testadores são conectados diretamente ao banco de dados com acesso adequado e os testadores podem facilmente verificar os dados executando algumas consultas no banco de dados.
Pode haver problemas identificados, como perda de dados, impasse, corrupção de dados, etc. durante este teste de back-end e esses problemas são essenciais para consertar antes que o sistema entre no ambiente de produção
# 7) Teste de compatibilidade do navegador
É um subtipo de Teste de Compatibilidade (explicado a seguir) e é realizado pela equipe de teste.
Teste de compatibilidade do navegador é executado para aplicativos da web e garante que o software possa ser executado com a combinação de diferentes navegadores e sistemas operacionais. Esse tipo de teste também valida se o aplicativo da web é executado em todas as versões de todos os navegadores ou não.
# 8) Teste de compatibilidade com versões anteriores
É um tipo de teste que valida se o software recém-desenvolvido ou atualizado funciona bem com a versão anterior do ambiente ou não.
O teste de compatibilidade com versões anteriores verifica se a nova versão do software funciona corretamente com o formato de arquivo criado por uma versão mais antiga do software; ele também funciona bem com tabelas de dados, arquivos de dados, estrutura de dados criada pela versão mais antiga desse software.
Se algum software for atualizado, ele deve funcionar bem com a versão anterior desse software.
# 9) Teste de caixa preta
O design do sistema interno não é considerado neste tipo de teste. Os testes são baseados nos requisitos e funcionalidade.
Informações detalhadas sobre as vantagens, desvantagens e tipos de teste de caixa preta pode ser visto aqui .
# 10) Teste de valor limite
Este tipo de teste verifica o comportamento do aplicativo no nível do limite.
Teste de valor limite é executado para verificar se existem defeitos nos valores limite. O Teste de valor limite é usado para testar uma faixa diferente de números. Há um limite superior e um limite inferior para cada intervalo e o teste é executado nesses valores de limite.
Se o teste exigir um intervalo de teste de números de 1 a 500, o Teste de valor limite é executado nos valores 0, 1, 2, 499, 500 e 501.
# 11) Teste de filial
É um tipo de teste de caixa branca e é realizado durante o teste de unidade. Teste de ramificação, o próprio nome sugere que o código é testado exaustivamente por meio de cada ramificação.
# 12) Teste de comparação
A comparação dos pontos fortes e fracos de um produto com suas versões anteriores ou outros produtos semelhantes é chamada de Teste de Comparação.
# 13) Teste de Compatibilidade
É um tipo de teste no qual valida como o software se comporta e é executado em um ambiente diferente, servidores da web, hardware e ambiente de rede.
Teste de compatibilidade garante que o software pode ser executado em uma configuração diferente, banco de dados diferente, navegadores diferentes e suas versões. O teste de compatibilidade é realizado pela equipe de teste.
# 14) Teste de componentes
É executado principalmente por desenvolvedores após a conclusão dos testes de unidade. Teste de Componente envolve o teste de múltiplas funcionalidades como um único código e seu objetivo é identificar se existe algum defeito após conectar essas múltiplas funcionalidades entre si.
# 15) Teste de ponta a ponta
Semelhante ao teste do sistema, Teste de ponta a ponta 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.
# 16) Particionamento de Equivalência
É uma técnica de teste e um tipo de Teste Black Box. Durante este Particionamento equivalente , um conjunto do grupo é selecionado e alguns valores ou números são selecionados para teste. Entende-se que todos os valores desse grupo geram a mesma saída.
O objetivo deste teste é remover casos de teste redundantes dentro de um grupo específico que gera a mesma saída, mas não qualquer defeito.
Suponha que o aplicativo aceite valores entre -10 a +10, portanto, usando o particionamento de equivalência, os valores obtidos para teste são zero, um valor positivo e um valor negativo. Portanto, o particionamento de equivalência para este teste é -10 a -1, 0 e 1 a 10.
# 17) Teste de Exemplo
Isso significa teste em tempo real. O Teste de Exemplo inclui o cenário em tempo real, mas também envolve os cenários baseados na experiência dos testadores.
# 18) Teste Exploratório
O Teste Exploratório é um teste informal realizado pela equipe de teste. O objetivo deste teste é explorar o aplicativo e procurar defeitos que existam no aplicativo.
Às vezes, pode acontecer que, durante esse teste, um defeito importante descoberto possa até causar uma falha do sistema.
Durante o Teste Exploratório, é aconselhável manter um registro de qual fluxo você testou e qual atividade você fez antes do início do fluxo específico.
Uma técnica de teste exploratório é realizado sem documentação e casos de teste.
# 20) Teste Funcional
Este tipo de teste ignora as partes internas e foca apenas na saída para verificar se está de acordo com o requisito ou não. É um teste do tipo caixa preta voltado para os requisitos funcionais de uma aplicação. Para obter informações detalhadas sobre testes funcionais, clique aqui .
# 21) Teste de interface gráfica do usuário (GUI)
O objetivo deste Teste de GUI é validar a GUI de acordo com os requisitos de negócios. A GUI esperada do aplicativo é mencionada no Documento de Design Detalhado e nas telas de maquete da GUI.
O Teste de GUI inclui o tamanho dos botões e o campo de entrada presente na tela, o alinhamento de todo o texto, tabelas e conteúdo nas tabelas.
Também valida o menu da aplicação, após selecionar diferentes menus e itens de menu, valida que a página não flutua e o alinhamento permanece o mesmo depois de passar o mouse sobre o menu ou submenu.
# 22) Teste de Gorila
O Gorilla Testing é um tipo de teste executado por um testador e, às vezes, pelo desenvolvedor também. No Gorilla Testing, um módulo ou a funcionalidade do módulo é testado completa e intensamente. O objetivo deste teste é verificar a robustez do aplicativo.
# 23) Feliz teste de caminho
O objetivo do Happy Path Testing é testar um aplicativo com sucesso em um fluxo positivo. Não procura condições negativas ou de erro. O foco está apenas nas entradas válidas e positivas por meio das quais o aplicativo gera a saída esperada.
# 24) Teste de integração incremental
Teste de integração incremental é uma abordagem de baixo para cima para teste, ou seja, teste contínuo de um aplicativo quando uma nova funcionalidade é adicionada. A funcionalidade e os módulos do aplicativo devem ser independentes o suficiente para serem testados separadamente. Isso é feito por programadores ou testadores.
# 25) Teste de instalação / desinstalação
Teste de instalação e desinstalação é feito em processos de instalação / desinstalação completos, parciais ou de atualização em diferentes sistemas operacionais em diferentes ambientes de hardware ou software.
# 26) Teste de integração
O teste de todos os módulos integrados para verificar a funcionalidade combinada após a integração é denominado como Teste de integração .
Módulos são normalmente módulos de código, aplicativos individuais, aplicativos cliente e servidor em uma rede, etc. Este tipo de teste é especialmente relevante para cliente / servidor e sistemas distribuídos.
# 27) Teste de carga
É um tipo de teste não funcional e o objetivo do teste de carga é verificar quanta carga ou carga de trabalho máxima um sistema pode suportar sem qualquer degradação de desempenho.
Teste de carga ajuda para encontrar a capacidade máxima do sistema sob carga específica e quaisquer problemas que causem degradação do desempenho do software. O teste de carga é realizado usando ferramentas como JMeter , LoadRunner, WebLoad, Silk performer, etc.
# 28) Teste do macaco
Teste de Macacos é realizado por um testador assumindo que se o macaco usa o aplicativo, então como entrada aleatória, os valores serão inseridos pelo macaco sem qualquer conhecimento ou compreensão do aplicativo.
O objetivo do Monkey Testing é verificar se um aplicativo ou sistema falha ao fornecer dados / valores de entrada aleatórios. O Monkey Testing é realizado aleatoriamente e nenhum caso de teste é programado e não é necessário
O Monkey Testing é executado aleatoriamente e nenhum caso de teste é programado e não é necessário estar ciente da funcionalidade completa do sistema.
# 29) Teste de mutação
Teste de mutação é um tipo de teste de caixa branca em que o código-fonte de um dos programas é alterado e verifica se os casos de teste existentes podem identificar esses defeitos no sistema.
A mudança no código-fonte do programa é mínima, de modo que não afeta o aplicativo inteiro, apenas a área específica que tem o impacto e os casos de teste relacionados devem ser capazes de identificar esses erros no sistema.
# 30) Teste Negativo
Os testadores tendo a mentalidade de “atitude para quebrar” e usando o Teste Negativo, eles validam isso se o sistema ou aplicativo quebrar. Uma técnica de teste negativo é executado usando dados incorretos, dados inválidos ou entrada. Ele valida se o sistema gera um erro de entrada inválida e se comporta conforme o esperado.
# 31) Teste não funcional
É um tipo de teste para o qual cada organização tem uma equipe separada, que normalmente é chamada de equipe de Teste Não Funcional (NFT) ou equipe de Desempenho.
Teste Não Funcional envolve o teste de requisitos não funcionais, como teste de carga, teste de estresse, segurança, volume, teste de recuperação, etc. O objetivo do teste NFT é garantir se o tempo de resposta do software ou aplicativo é rápido o suficiente de acordo com os requisitos de negócios.
Não deve demorar muito para carregar qualquer página ou sistema e deve durar durante o carregamento de pico.
qual o melhor spyware para telefones celulares
# 32) Teste de desempenho
Este termo é frequentemente usado de forma intercambiável com testes de 'estresse' e 'carga'. Teste de performance é feito para verificar se o sistema atende aos requisitos de desempenho. Diferentes ferramentas de desempenho e carga são usadas para fazer este teste.
# 33) Teste de recuperação
É um tipo de teste que valida quão bem o aplicativo ou sistema se recupera de travamentos ou desastres.
O Teste de Recuperação determina se o sistema pode continuar a operação após um desastre. Suponha que o aplicativo esteja recebendo dados através do cabo de rede e de repente esse cabo de rede foi desconectado.
Algum tempo depois, conecte o cabo de rede; então o sistema deve começar a receber dados de onde perdeu a conexão devido ao cabo de rede desconectado.
# 34) Teste de regressão
Testar um aplicativo como um todo para a modificação em qualquer módulo ou funcionalidade é denominado como Teste de Regressão. É difícil cobrir todo o sistema em Teste de Regressão , tão tipicamente Ferramentas de teste de automação são usados para esses tipos de teste.
# 35) Teste baseado em risco (RBT)
No Teste Baseado em Risco , as funcionalidades ou requisitos são testados com base em sua prioridade. O Teste Baseado em Risco inclui o teste de funcionalidade altamente crítica, que tem o maior impacto nos negócios e em que a probabilidade de falha é muito alta.
A decisão de prioridade é baseada na necessidade do negócio, portanto, uma vez que a prioridade é definida para todas as funcionalidades, a funcionalidade de alta prioridade ou os casos de teste são executados primeiro, seguidos pelas funcionalidades de prioridade média e depois as de baixa prioridade.
A funcionalidade de baixa prioridade pode ser testada ou não com base no tempo disponível.
O Teste Baseado em Risco é realizado se não houver tempo suficiente disponível para testar todo o software e o software precisa ser implementado a tempo, sem qualquer atraso. Essa abordagem é seguida apenas pela discussão e aprovação do cliente e da alta administração da organização.
# 36) Teste de Sanidade
Teste de Sanidade é feito para determinar se uma nova versão de software está funcionando bem o suficiente para aceitá-la para um grande esforço de teste ou não. Se um aplicativo está travando para o uso inicial, o sistema não está estável o suficiente para testes adicionais. Portanto, um build ou um aplicativo é atribuído para corrigi-lo.
# 37) Teste de segurança
É um tipo de teste realizado por uma equipe especial de testadores. Um sistema pode ser invadido por qualquer meio de hacking.
Teste de Segurança é feito para verificar como o software ou aplicativo ou site está protegido contra ameaças internas e externas. Este teste inclui o quanto o software está protegido contra programas maliciosos, vírus e quão seguros e fortes são os processos de autorização e autenticação.
Ele também verifica como o software se comporta para qualquer ataque de hackers e programas maliciosos e como o software é mantido para segurança de dados após esse ataque de hacker.
# 38) Teste de fumaça
Sempre que uma nova compilação é fornecida pela equipe de desenvolvimento, a equipe de teste de software valida a compilação e garante que nenhum problema grave exista.
A equipe de teste garante que a construção seja estável e um nível detalhado de teste seja realizado posteriormente. Teste de Fumaça verifica se não existe nenhum defeito bloqueador na construção, o que impedirá a equipe de teste de testar o aplicativo em detalhes.
Se os testadores descobrirem que a principal funcionalidade crítica foi quebrada no próprio estágio inicial, a equipe de teste pode rejeitar o build e informar de acordo com a equipe de desenvolvimento. O teste de fumaça é realizado em um nível detalhado de qualquer teste funcional ou de regressão.
# 39) Teste estático
O teste estático é um tipo de teste executado sem nenhum código. A execução é realizada na documentação durante a fase de testes.
Envolve revisões, acompanhamento e inspeção das entregas do projeto. O teste estático não executa o código em vez da sintaxe do código, as convenções de nomenclatura são verificadas.
Teste Estático também é aplicável para casos de teste, plano de teste, documento de design. É necessário realizar o teste estático pela equipe de teste, pois os defeitos identificados durante este tipo de teste são econômicos do ponto de vista do projeto.
# 40) Teste de estresse
Este teste é feito quando um sistema é estressado além de suas especificações para verificar como e quando ele falha. Isso é realizado sob carga pesada, como colocar um grande número além da capacidade de armazenamento, consultas complexas de banco de dados, entrada contínua no sistema ou carga de banco de dados.
# 41) Teste de sistema
Sob Técnica de teste de sistema , todo o sistema é testado de acordo com os requisitos. É um teste do tipo caixa preta que se baseia nas especificações gerais dos requisitos e cobre todas as partes combinadas de um sistema.
# 42) Teste de Unidade
O teste de um componente ou módulo de software individual é denominado como Teste de Unidade . Normalmente, é feito pelo programador e não por testadores, pois requer conhecimento detalhado do design e código interno do programa. Também pode exigir o desenvolvimento de módulos de driver de teste ou chicotes de teste.
# 43) Teste de usabilidade
Sob Testando usabilidade , A verificação de facilidade de uso é feita. O fluxo do aplicativo é testado para saber se um novo usuário pode entender o aplicativo facilmente ou não. Ajuda adequada documentada se um usuário travar em qualquer ponto. Basicamente, a navegação do sistema é verificada neste teste.
# 44) Teste de vulnerabilidade
O teste que envolve a identificação de fraquezas no software, hardware e rede é conhecido como Teste de Vulnerabilidade. Programas maliciosos, o hacker pode assumir o controle do sistema, se ele estiver vulnerável a esse tipo de ataques, vírus e worms.
Portanto, é necessário verificar se esses sistemas passam por Teste de Vulnerabilidade antes da produção. Pode identificar defeitos críticos, falhas na segurança.
# 45) Teste de Volume
Teste de Volume é um tipo de Teste Não Funcional realizado pela equipe de Teste de Desempenho.
O software ou aplicativo passa por uma grande quantidade de dados e o Teste de Volume verifica o comportamento do sistema e o tempo de resposta do aplicativo quando o sistema encontra um volume tão alto de dados. Este alto volume de dados pode afetar o desempenho do sistema e a velocidade do tempo de processamento.
# 46) Teste de caixa branca
Teste de caixa branca é baseado no conhecimento sobre a lógica interna do código de um aplicativo.
É também conhecido como Teste de caixa de vidro. O software interno e o funcionamento do código devem ser conhecidos por realizar esse tipo de teste. Sob esses testes são baseados na cobertura de declarações de código, ramificações, caminhos, condições, etc.
Conclusão
Os tipos de teste de software mencionados acima são apenas uma parte do teste. No entanto, ainda existe uma lista de mais de 100 tipos de teste, mas todos os tipos de teste não são usados em todos os tipos de projetos. Portanto, abordei alguns tipos comuns de teste de software que são usados principalmente no ciclo de vida de teste.
Além disso, existem definições ou processos alternativos usados em diferentes organizações, mas o conceito básico é o mesmo em todos os lugares. Esses tipos de teste, processos e seus métodos de implementação continuam mudando conforme e quando o projeto, os requisitos e o escopo mudam.
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste Alfa e Teste Beta (um guia completo)
- Trabalho de assistente de controle de qualidade de teste de software
- Curso de Teste de Software: Qual Instituto de Teste de Software devo ingressar?
- Escolhendo o teste de software como sua carreira
- Trabalho de freelancer de redator de conteúdo técnico de teste de software
- Tipos de riscos em projetos de software
- Os melhores serviços de teste de software de controle de qualidade da SoftwareTestingHelp