QA abrange o processo de qualidade; testar é uma de suas práticas.
Unidade, integração, funcional e aceitação verificam aspectos diferentes do software.
Manual e automatizado são formas de execução, não tipos de teste.
A automação agiliza verificações repetitivas, mas não elimina os testes manuais.
Repetição, mudanças previstas e manutenção dos scripts orientam a escolha da execução.
Testes QA são verificações de software que fazem parte do processo de garantia da qualidade. Unidade, integração, funcional e aceitação descrevem o escopo da verificação. Manual e automatizado descrevem como ela é executada.
QA vem de Quality Assurance, ou garantia da qualidade. Seu objetivo é trabalhar a qualidade ao longo do desenvolvimento, com processos voltados à prevenção de defeitos. Os testes são uma das práticas desse esforço.
Como os testes participam da garantia da qualidade?
QA é um processo de desenvolvimento e testes voltado aos padrões de qualidade pretendidos. A atuação preventiva busca evitar defeitos durante o desenvolvimento, em vez de concentrar todas as verificações no produto pronto.
Os testes examinam aspectos específicos do software. Há verificações próximas ao código e outras voltadas ao comportamento observado pelo usuário. Testar uma função, portanto, não equivale a verificar o funcionamento da aplicação completa.
Teste vocacional
Qual carreira combina com o seu perfil?
Responda as perguntas e descubra o curso certo e as bolsas ideais para você!
QA e QC têm focos diferentes
A diferença entre garantia da qualidade e controle de qualidade está no foco da atuação. QA define processos e busca prevenir defeitos. O controle de qualidade, ou QC, do inglês Quality Control, procura detectar defeitos e inclui a execução de testes.
Os testes integram o controle de qualidade e se relacionam com o esforço mais amplo de QA. Usar a expressão “testes QA” não significa que testar e garantir a qualidade sejam a mesma atividade.
O que se verifica em um teste de QA?
Testar envolve avaliar um software, ou um componente dele, em relação aos requisitos especificados para seu funcionamento. Esses requisitos descrevem o comportamento esperado e orientam a verificação.
No processo de testes, profissionais de QA planejam a estratégia, documentam cenários, executam verificações, desenvolvem e mantêm automações e analisam os resultados. Os defeitos encontrados, também chamados de bugs, são registrados para investigação e correção.
Antes da execução, o planejamento delimita o que será testado e organiza os cenários na documentação do projeto. O registro dos bugs descreve o problema encontrado e orienta sua investigação.
Unidade, integração, funcional e aceitação: o que cada teste avalia
A tabela compara o escopo de quatro tipos de teste de software. Essa seleção reúne os testes detalhados a seguir, sem esgotar as possibilidades de verificação.
Tipo
O que avalia
Unidade
O comportamento de métodos e funções individuais de classes, componentes ou módulos
Integração
Se diferentes módulos ou serviços funcionam bem juntos
Funcional
Se o resultado de uma ação corresponde aos requisitos de negócio
Aceitação
Se o sistema atende formalmente aos requisitos de negócio, reproduzindo comportamentos do usuário com a aplicação completa em execução
Teste de unidade
O teste de unidade é realizado próximo ao código-fonte. Ele avalia métodos e funções individuais de classes, componentes ou módulos, verificando seu comportamento esperado.
Em um exemplo hipotético, um aplicativo de pedidos calcula o frete a partir do peso e da distância. O teste de unidade recebe entradas definidas e confere se a função devolve o valor previsto.
A verificação se limita à função de cálculo. Ela não avalia a tela de compra nem a comunicação com o banco de dados.
Teste de integração
O teste de integração verifica se módulos ou serviços funcionam bem juntos. Ele examina interações como a aplicação consultando um banco de dados ou a comunicação entre microsserviços, serviços menores que compõem uma aplicação.
No aplicativo hipotético, a verificação examina o módulo de frete consultando a tabela de tarifas no banco de dados. A pergunta passa de “a função calcula corretamente?” para “essas partes conseguem trabalhar juntas?”.
Teste funcional
O teste funcional foca os requisitos de negócio. Ele verifica o resultado de uma ação, sem examinar os estados intermediários do sistema.
Na abordagem de caixa-preta, a análise considera o comportamento da funcionalidade sem exigir conhecimento de como seu código foi escrito. No aplicativo de pedidos, o teste informa os dados de uma compra e confere se o frete exibido corresponde ao valor esperado pelos requisitos.
Integração e funcional admitem verificações sobre o mesmo componente, mas com critérios diferentes. Um teste de integração pode verificar que é possível consultar o banco de dados. Um teste funcional espera um valor específico dessa consulta, conforme os requisitos.
Teste de aceitação
O teste de aceitação verifica formalmente se o sistema atende aos requisitos de negócio. A aplicação completa fica em execução, e a análise reproduz comportamentos do usuário.
No exemplo hipotético, um possível cenário de aceitação percorre a escolha do produto até a conclusão da compra, verificando o atendimento aos requisitos definidos para o frete.
Enquanto o teste funcional examina resultados conforme os requisitos, o critério central da aceitação é a verificação formal do atendimento aos requisitos de negócio.
Outros testes e suas finalidades
Outras verificações abordam fluxos, desempenho, alterações e investigação de problemas:
Ponta a ponta, ou E2E: reproduz o comportamento do usuário em um ambiente de aplicação completo e verifica fluxos de uso.
Desempenho: avalia o sistema sob uma carga de trabalho específica, considerando velocidade, confiabilidade, escalabilidade e capacidade de resposta.
Regressão: verifica se alterações ou novas funcionalidades introduziram defeitos em partes que já estavam estáveis.
Verificação básica: confere funcionalidades básicas para orientar a execução de testes mais custosos.
Exploratório: investiga o sistema em busca de erros ou melhorias, incluindo problemas não óbvios.
Manual e automatizado: como os testes são executados
No teste manual, uma pessoa interage com o software e realiza a verificação. No automatizado, uma máquina executa um script preparado com antecedência, isto é, um conjunto de instruções para conduzir o teste.
Um teste funcional admite execução manual ou automatizada. Nos dois casos, sua finalidade continua sendo verificar resultados conforme os requisitos.
Critério
Manual
Automatizada
Quem executa
Uma pessoa que interage com o software
Uma máquina que executa um script
Repetição
Cada execução demanda tempo de quem testa
Agiliza verificações repetitivas
Preparação da execução
Não exige criar scripts automatizados
Exige preparar scripts e recursos de automação
Indicações de uso
Novas funcionalidades, avaliações subjetivas e verificações rápidas
Regressão, validações repetitivas e testes de integração
A automação exige esforço inicial para criar os scripts e preparar sua execução. Mudanças na interface ou no sistema também podem exigir atualizações. A confiabilidade do teste automatizado depende da qualidade do script que o define.
Se o cálculo de frete do aplicativo hipotético for verificado a cada versão, essa repetição pode favorecer a automação. Testes manuais também ajudam a investigar problemas de layout, tradução e usabilidade. Automatizar verificações repetitivas não elimina a necessidade de testes manuais.
Critérios para escolher a forma de execução
Para avaliar quando usar testes manuais ou automatizados, considere estas perguntas:
A verificação será repetida muitas vezes? A repetição favorece a automação.
A funcionalidade é nova? A execução manual é uma opção para examiná-la.
A análise envolve uma experiência subjetiva? Considere testes manuais.
Quais mudanças de interface ou de sistema estão previstas? Avalie o esforço de manutenção dos scripts.
Há tempo e recursos para criar e manter a automação?
A necessidade é uma checagem rápida e pontual? A execução manual é uma alternativa.
Uma forma de combinar as abordagens é automatizar regressão e validações repetitivas e usar testes manuais para novas funcionalidades e avaliações subjetivas.
Perguntas frequentes sobre testes QA
Quais são os tipos de testes em QA?
Entre os testes de software estão unidade, integração, funcional e aceitação. Outras verificações incluem ponta a ponta, desempenho, regressão e exploração do sistema. Seus escopos e finalidades são diferentes.
Testes funcionais podem ser manuais ou automatizados?
Sim. Uma pessoa ou um script realiza a verificação. A finalidade permanece a mesma: conferir os resultados conforme os requisitos de negócio.
O que faz um profissional de QA no processo de testes?
Planeja a estratégia, documenta cenários, executa testes manuais, desenvolve e mantém automações, analisa resultados e registra bugs.
Qual é a diferença entre QA e QC?
QA trabalha com processos voltados à prevenção de defeitos. QC se concentra na detecção de defeitos e inclui a execução de testes, que se relacionam com o esforço mais amplo de garantia da qualidade.
Qual é a diferença entre testes manuais e automatizados?
No manual, uma pessoa interage com o software. No automatizado, uma máquina executa um script preparado anteriormente. A diferença está na execução, não no objetivo da verificação.
Quando usar testes manuais e quando usar automatizados?
Verificações repetitivas, como regressão, são candidatas à automação. Novas funcionalidades, avaliações subjetivas e checagens rápidas são indicações para testes manuais. O esforço inicial e a manutenção dos scripts também entram na decisão.
O que é a pirâmide de testes?
É uma referência para organizar os níveis de teste e orientar a distribuição das verificações, com o objetivo de evitar retrabalho. Não estabelece uma quantidade fixa para qualquer projeto.
Construa sua carreira em tecnologia com formações alinhadas ao mercado
Se você quer ingressar ou crescer no mercado da tecnologia, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.
As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.
Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.