complete functional testing guide with its types
Um tutorial de teste funcional abrangente e aprofundado com tipos, técnicas e exemplos:
O que é teste funcional?
O teste funcional é um tipo de teste de caixa preta executado para confirmar se a funcionalidade de um aplicativo ou sistema está se comportando conforme o esperado.
É feito para verificar toda a funcionalidade de um aplicativo.
LISTA dos tutoriais abrangidos nesta série:
Tutorial nº 1: O que é teste funcional (este tutorial)
Tutorial # 2: Perguntas da entrevista de teste de funcionalidade
Tutorial nº 3: Principais ferramentas de teste de automação funcional
Tutorial nº 4: O que é teste não funcional?
Tutorial # 5: Diferença entre unidade, funcional e Integração Testando
Tutorial # 6 : Por que os testes funcionais e de desempenho devem ser realizados simultaneamente
Ferramentas:
Tutorial nº 7: Automação de teste funcional com Ranorex Studio
Tutorial # 8: Novos recursos da ferramenta funcional UFT
Tutorial # 9: Automação funcional de navegador cruzado usando a ferramenta Parrot QA
Tutorial # 10: Tutorial da ferramenta Jubula Open Source para teste de funcionalidade
O que você aprenderá:
- Introdução aos testes funcionais
Introdução aos testes funcionais
Deve haver algo que defina o que é comportamento aceitável e o que não é.
Isso é especificado em uma especificação funcional ou de requisito. É um documento que descreve o que um usuário tem permissão para fazer, para que ele possa determinar a conformidade do aplicativo ou sistema com ele. Além disso, às vezes isso também pode implicar que os cenários reais do lado do negócio sejam validados.
Portanto, o teste de funcionalidade pode ser realizado via duas técnicas populares :
- Teste com base nos requisitos: Contém todas as especificações funcionais que formam a base para todos os testes a serem realizados.
- Teste com base em cenários de negócios: Contém as informações sobre como o sistema será percebido da perspectiva do processo de negócios.
Os testes e a garantia de qualidade são uma grande parte do processo SDLC. Como testadores, precisamos estar cientes de todos os tipos de teste, mesmo se não estivermos diretamente envolvidos com eles diariamente.
Como o teste é um oceano, o escopo dele é muito vasto, e temos testadores dedicados que realizam diferentes tipos de teste . Provavelmente, todos nós devemos estar familiarizados com a maioria dos conceitos, mas não fará mal organizar tudo aqui.
Tipos de teste funcional
O teste funcional tem muitas categorias e podem ser usadas com base no cenário.
Os tipos mais proeminentes são brevemente discutidos abaixo:
O teste de unidade geralmente é realizado por um desenvolvedor que escreve unidades de código diferentes que podem estar relacionadas ou não para atingir uma funcionalidade específica. Isso geralmente envolve escrever testes de unidade que chamariam os métodos em cada unidade e os validariam quando os parâmetros exigidos fossem passados e seu valor de retorno fosse o esperado.
A cobertura do código é uma parte importante do teste de unidade, onde os casos de teste precisam existir para cobrir os três abaixo:
i) Cobertura de linha
ii) Cobertura de caminho de código
iii) Método de cobertura
Teste de Sanidade : O teste é feito para garantir que todas as funcionalidades principais e vitais do aplicativo / sistema estão funcionando corretamente. Isso geralmente é feito após um teste de fumaça.
Teste de Fumaça : O teste é feito após cada versão ser lançada para testar e garantir a estabilidade da versão. Também é chamado de teste de verificação de build.
Testes de Regressão : Testes realizados para garantir que a adição de novo código, melhorias, correção de bugs não está quebrando a funcionalidade existente ou causando qualquer instabilidade e ainda funciona de acordo com as especificações.
Os testes de regressão não precisam ser tão extensos quanto os testes funcionais reais, mas devem garantir apenas a quantidade de cobertura para certificar que a funcionalidade é estável.
Testes de Integração : Quando o sistema depende de vários módulos funcionais que podem funcionar perfeitamente individualmente, mas devem funcionar de forma coerente quando combinados para atingir um cenário de ponta a ponta, a validação de tais cenários é chamada de teste de integração.
Teste Beta / Usabilidade : O produto é exposto ao cliente real em um ambiente de produção e eles testam o produto. O conforto do usuário é derivado disso e o feedback é obtido. Isso é semelhante ao teste de aceitação do usuário.
Vamos representar isso em um fluxograma fácil:
Teste de sistema funcional:
Teste de sistema é um teste executado em um sistema completo para verificar se funciona conforme o esperado depois que todos os módulos ou componentes estão integrados.
Teste de ponta a ponta é executado para verificar a funcionalidade do produto. Este teste é executado apenas quando o teste de integração do sistema é concluído, incluindo os requisitos funcionais e não funcionais.
=> Diferença entre teste de unidade, funcional e integração
Processar
Este processo de teste tem três etapas principais:
Abordagem, técnicas e exemplos
O teste funcional ou comportamental gera uma saída com base nas entradas fornecidas e determina se o sistema está funcionando corretamente de acordo com as especificações.
Portanto, a representação pictórica terá a seguinte aparência:
Critérios de entrada / saída
Critério de entrada:
- O documento de Especificação de Requisitos é definido e aprovado.
- Casos de teste foram preparados.
- Os dados de teste foram criados.
- O ambiente de teste está pronto, todas as ferramentas necessárias estão disponíveis e prontas.
- O aplicativo completo ou parcial é desenvolvido e testado na unidade e está pronto para ser testado.
Critério de saída:
- A execução de todos os casos de teste funcional foi concluída.
- Nenhum bug crítico ou P1, P2 está aberto.
- Bugs relatados foram reconhecidos.
Etapas Envolvidas
As várias etapas envolvidas neste teste são mencionadas abaixo:
- A primeira etapa envolvida é determinar a funcionalidade do produto que precisa ser testada e inclui o teste das principais funcionalidades, condição de erro e mensagens, teste de usabilidade, ou seja, se o produto é amigável ou não, etc.
- A próxima etapa é criar os dados de entrada para a funcionalidade a ser testada de acordo com a especificação do requisito.
- Posteriormente, a partir da especificação do requisito, a saída é determinada para a funcionalidade em teste.
- Os casos de teste preparados são executados.
- A saída real, ou seja, a saída após a execução do caso de teste e a saída esperada (determinada a partir da especificação do requisito) são comparadas para descobrir se a funcionalidade está funcionando conforme o esperado ou não.
Aproximação
Diferentes tipos de cenários podem ser pensados e criados na forma de “casos de teste”. Como pessoal de controle de qualidade, todos nós sabemos como é o esqueleto de um caso de teste.
A maioria tem quatro partes:
- Resumo do teste
- Pré-requisitos
- Etapas de teste e
- Resultados esperados.
Tentar criar todo tipo de teste não é apenas impossível, mas também demorado e caro.
Normalmente, gostaríamos de descobrir o máximo de bugs sem escapes com os testes existentes. Portanto, o controle de qualidade precisa usar técnicas de otimização e traçar estratégias de como abordaria o teste.
Vamos explicar isso com um exemplo.
Exemplos de casos de uso de teste funcional:
Pegue um portal HRMS online onde o funcionário faz login com sua conta de usuário e senha. Na página de login, existem dois campos de texto para o nome de usuário e senha e dois botões: Login e Cancelar. O login bem-sucedido leva o usuário à página inicial do HRMS e o cancelamento irá cancelar o login.
As especificações são mostradas abaixo:
# 1) O campo de identificação do usuário tem no mínimo 6 caracteres, no máximo 10 caracteres, números (0-9), letras (a-z, A-z), caracteres especiais (apenas sublinhado, ponto final e hífen são permitidos) e não pode ser deixado em branco. A identificação do usuário deve começar com um caractere ou número e não com caracteres especiais.
#dois) O campo da senha tem no mínimo 6 caracteres, no máximo 8 caracteres, números (0-9), letras (a-z, A-Z), caracteres especiais (todos) e não pode ficar em branco.
A abordagem básica para testar este cenário pode ser classificada em duas categorias amplas:
- Teste positivo e
- Teste negativo
Claro, cada uma dessas categorias tem sua subseção de testes que serão realizados.
Testes positivos são testes de caminho satisfatórios feitos para garantir que o produto atenda - pelo menos aos requisitos básicos vitais para o uso do cliente.
Cenários negativos certifique-se de que o produto se comporte adequadamente, mesmo quando sujeito a dados inesperados.
Leitura sugerida => O que é teste negativo e como escrever casos de teste negativos
Agora, vou tentar estruturar as técnicas de teste usando um fluxograma abaixo. Entraremos em detalhes de cada um desses testes.
Técnicas de teste funcional
# 1) Testes de sistema / baseados no usuário final
O sistema em teste pode ter muitos componentes que, quando combinados, alcançam o cenário do usuário.
No Exemplo , um cenário de cliente incluiria tarefas como carregamento de aplicativo HRMS, inserir as credenciais corretas, ir para a página inicial, realizar algumas ações e efetuar logout do sistema. Esse fluxo específico deve funcionar sem erros para um cenário básico de negócios.