complete non functional testing guide
Um guia completo para testes não funcionais: sua finalidade, tipos, ferramentas, casos de teste com exemplos
O que é teste não funcional?
O teste não funcional é feito para verificar o requisito não funcional do aplicativo, como desempenho, usabilidade, etc.
Ele verifica se o comportamento do sistema está de acordo com o requisito ou não. Abrange todos os aspectos que não são abordados em teste funcional . Em nossos testes diários, muita atenção é dada aos testes funcionais e aos requisitos funcionais.
Os clientes também estão interessados em cumprir os requisitos funcionais que estão diretamente relacionados com a funcionalidade de uma aplicação. Mas na fase real, ou seja, quando você é testado funcionalmente, o software chega ao mercado e é usado pelos usuários finais reais, e há chances de ele enfrentar alguns problemas relacionados ao desempenho.
Esses problemas não estão relacionados à funcionalidade do sistema, mas podem afetar a experiência do usuário de maneira negativa. Portanto, é importante que o software ou aplicativo seja testado para requisitos não funcionais também, a fim de evitar experiências negativas do cliente.
O teste é amplamente classificado em dois tipos:
- Teste funcional
- Teste Não Funcional
O que você aprenderá:
- Importância
- Propósito
- Exemplo
- Vantagens
- Como capturar requisitos não funcionais?
- Diferença em requisitos funcionais e não funcionais
- Este é um teste de caixa preta ou caixa branca?
- Lista de verificação de casos de teste não funcionais
- Documento de Abordagem
- Tipos de teste não funcionais
- Ferramentas de teste não funcionais
- Conclusão
- Leitura recomendada
Importância
Este teste estava perdendo a devida atenção, considerando que não está afetando a funcionalidade do sistema.
Os requisitos não funcionais também não receberam atenção adequada nos ciclos de teste anteriores. No entanto, isso mudou agora. Os testes não funcionais agora são mais importantes, pois consideram todos os problemas de segurança e desempenho do aplicativo nos dias de hoje.
Esse teste tem um impacto maior nos aplicativos no que diz respeito ao desempenho do aplicativo sob alto tráfego de usuários. Esse teste garante que seu aplicativo seja estável e seja capaz de lidar com a carga em condições extremas.
Como o próprio nome indica, esse teste se concentra no aspecto não funcional do aplicativo. Então, quais são os aspectos não funcionais? Ou devo dizer quais são os recursos que não estão relacionados à funcionalidade do aplicativo?
Bem, aqui estão as respostas para aqueles:
- Como o aplicativo funciona em circunstâncias normais?
- Como o aplicativo se comporta quando muitos usuários fazem login simultaneamente?
- O aplicativo pode lidar com o estresse?
- Quão seguro é o aplicativo?
- O aplicativo pode se recuperar de qualquer desastre?
- O aplicativo pode se comportar da mesma maneira em um ambiente ou sistema operacional diferente?
- Quão fácil é portar o aplicativo em um sistema diferente?
- Os documentos / manual do usuário fornecidos com o aplicativo são fáceis de entender?
A lista continua. Mas o ponto aqui é que - esses recursos não contribuíram para a qualidade do aplicativo? A resposta é sim. Esses recursos são igualmente importantes.
Imagine que um aplicativo atende perfeitamente a todos os requisitos do usuário, mas algum usuário não autorizado facilmente acessa e quebra os dados inseridos pelo usuário no aplicativo, ou o aplicativo morre quando mais de 5BB de qualquer arquivo é carregado. Então você diria que o aplicativo é de boa qualidade? Obviamente não está certo !!
Propósito
O único objetivo desse tipo de teste é garantir que os aspectos não funcionais do aplicativo sejam testados e que o aplicativo funcione bem no contexto do mesmo.
O objetivo é cobrir o teste de todas as características do aplicativo que ajudam a fornecer um aplicativo que atenda às expectativas do negócio.
Exemplo
Este é um tipo de teste importante.
O teste funcional testa a funcionalidade do aplicativo e garante que ele funcione conforme o esperado, mas o teste não funcional garante que o aplicativo funcione bem o suficiente para atender às expectativas do negócio.
Para entender sua importância, vamos dar um exemplo simples:
Um aplicativo é desenvolvido e totalmente testado quanto à funcionalidade, mas o teste não funcional não é executado no mesmo.
Enquanto isso, quando o aplicativo entra no ar, isso pode resultar em problemas críticos ou importantes, como quando a carga do aplicativo aumenta, ele se torna muito lento e leva muito tempo para abrir.
O tempo de resposta pode aumentar ou, quando a carga aumenta até certo ponto, o aplicativo pode travar. Isso mostra o quão importante é testar os aspectos não funcionais de um aplicativo.
Vantagens
Dada a seguir algumas das vantagens de um teste não funcional:
- Ele cobre o teste que não pode ser coberto no teste funcional.
- Ele garante que o aplicativo seja executado de forma eficiente e confiável o suficiente.
- Ele garante a segurança do aplicativo.
Como capturar requisitos não funcionais?
Enquanto realizamos o teste, o foco está principalmente no teste funcional que testa a funcionalidade do produto. Mas o teste não funcional é tão importante quanto o teste funcional e seus requisitos devem ser levados em consideração desde o início do produto.
Requisitos não funcionais são usados para realizar testes não funcionais. Esses requisitos incluem a saída de desempenho que é esperada do aplicativo ou software em teste. Isso inclui basicamente o tempo gasto pelo software para operar um sistema específico.
Os requisitos não funcionais também capturam o comportamento quando um grande número de pessoas está usando o software ao mesmo tempo. Na maioria das vezes, percebe-se que os servidores estão ocupados ou indisponíveis devido à carga pesada (ou seja, mais pessoas estão usando ao mesmo tempo). Reservar passagens ferroviárias online pode ser o melhor exemplo de tal situação.
Portanto, documentar o requisito não funcional de maneira adequada e realizar o teste corretamente garantirá alta satisfação em termos de usabilidade por parte dos clientes em potencial.
Embora esse teste não tenha um impacto comercial direto sobre a funcionalidade do sistema, ele pode aumentar a experiência do usuário e a facilidade de uso, o que, por sua vez, terá um impacto maior na qualidade do software.
Exemplo:
Considere o mesmo exemplo de página de login do Facebook. Nesse caso, o escopo do teste não funcional é observar o tempo necessário para que o sistema faça login no Facebook após inserir as credenciais válidas.
Além disso, pode ser testado quando (digamos 100) os usuários fazem login ao mesmo tempo, quanto tempo leva para fazer o login do usuário no Facebook.
Isso garante que o sistema possa lidar com a carga e o tráfego, o que, por sua vez, proporciona uma boa experiência do usuário.
No ágil, o requisito não funcional deve ser capturado usando entradas.
Um requisito não funcional deve ser capturado como:
- Histórias de usuários / técnicas
- Nos critérios de aceitação
- Em artefato
9
# 1) Histórias de usuários / técnicas
Um requisito não funcional pode ser capturado usando histórias de usuários ou histórias técnicas. Capturar requisitos não funcionais como uma história de usuário é o mesmo que capturar qualquer outro requisito. A única diferença no usuário e na história técnica é que a história do usuário requer discussão e tem visibilidade.
# 2) Critérios de Aceitação
Critérios de Aceitação é o ponto que é definido para aceitar o produto pelo cliente, ou seja, para obter o produto aceito, os pontos definidos devem estar em estado aprovado.
Um requisito não funcional deve ser incluído nos critérios de aceitação, mas às vezes não é possível testar os requisitos não funcionais com cada história, ou seja, com cada iteração. Portanto, os requisitos devem ser adicionados ou testados apenas com a iteração relevante.
# 3) Em artefatos
Um artefato separado deve ser preparado para os requisitos não funcionais; isso, por sua vez, ajudaria a ter uma ideia melhor do que precisa ser testado e como isso pode ser feito nas iterações.
Diferença em requisitos funcionais e não funcionais
Existem várias diferenças entre os requisitos funcionais e não funcionais e alguns deles são declarados abaixo:
S.No. | Requisito funcional | Requisito não funcional |
---|---|---|
Desempenho | Testadores de desempenho por meio de uma ferramenta que trata a operação como uma transação realizada por um certo número de usuários simultâneos enquanto o testador analisa toda a logística | Tempo de resposta |
1 | O requisito funcional é baseado no cliente. | O Requisito Não Funcional é baseado nos desenvolvedores e conhecimento técnico da equipe. |
dois | O requisito funcional especifica qual funcionalidade deve ser levada em consideração, ou seja, o que precisa ser testado. | Requisitos não funcionais especificam como ele precisa ser testado. |
3 | O teste funcional é executado antes de o aplicativo entrar no ar. | Os requisitos não funcionais incluem o teste de manutenção, o teste de documentação, que não são necessários durante a execução, mas o aplicativo entrou no ar. |
4 | É conhecido apenas como requisito funcional. | Também conhecido como requisitos de qualidade. |
5 | O plano de implementação para o requisito funcional é definido no documento de design do sistema. | O plano de implementação para requisitos não funcionais é definido na arquitetura do sistema. |
6 | O requisito funcional inclui o teste da funcionalidade técnica do sistema. | O requisito não funcional inclui qualidades como segurança, usabilidade, etc. |
Leitura adicional => Diferenças entre testes funcionais e não funcionais
Este é um teste de caixa preta ou caixa branca?
O teste não funcional vem sob um teste de caixa preta técnica.
Esta técnica não se limita a testar apenas as funcionalidades, mas também pode ser usada para testar os requisitos não funcionais, bem como o desempenho, usabilidade, etc. A técnica de teste de caixa preta não requer nenhum conhecimento do sistema interno, ou seja, não requer o conhecimento do código para o testador.
Lista de verificação de casos de teste não funcionais
Uma lista de verificação é usada para garantir que nenhum aspecto importante seja deixado sem teste.
Uma lista de verificação é geralmente usada quando não há tempo para a documentação e o produto precisa ser testado ou quando há uma restrição de tempo, uma lista de verificação pode ser usada para garantir que todos os aspectos importantes foram cobertos.
Vamos ver umexemplode verificação de teste de desempenho, segurança e documentação.
Lista de verificação para testes de desempenho
- O tempo de resposta do aplicativo deve ser verificado, ou seja, quanto tempo leva para carregar o aplicativo, qualquer entrada fornecida ao aplicativo fornece a saída em quanto tempo, atualizando o navegador, etc.
- Taxa de transferência deve ser verificado para o número de transações concluídas durante um teste de carga.
- Ambiente a configuração deve ser igual ao ambiente ao vivo, caso contrário, os resultados não seriam os mesmos.
- Tempo de processamento - Atividades de processo como importação e exportação de excel, todos os cálculos no aplicativo devem ser testados.
- Interoperabilidade deve ser verificado, ou seja, um software deve ser capaz de interoperar com o outro software ou sistemas.
- ETL o tempo deve ser verificado, ou seja, o tempo gasto na extração, transformação e carregamento dos dados de um banco de dados para outro.
- Carga crescente no aplicativo deve ser verificado.
Lista de verificação para testes de segurança
- Autenticação: Apenas um usuário autêntico deve ser capaz de fazer o login.
- Autorizado: O usuário deve ser capaz de fazer login apenas nos módulos para os quais está autorizado ou para os quais o usuário tenha acesso.
- Senha: O requisito de senha deve ser verificado, ou seja, a senha deve ser conforme o requisito define, ou seja, comprimento, caracteres especiais, números, etc.
- Tempo esgotado: Se o aplicativo estiver inativo, ele deverá atingir o tempo limite em um tempo especificado.
- Backup de dados: O backup de dados deve ser feito em um horário especificado e copiado para um local seguro.
- Links internos ao aplicativo da web não deve estar acessível se colocado diretamente no navegador.
- Todas as comunicações devem ser criptografadas.
Lista de verificação para teste de documentação
- Documentação do usuário e do sistema.
- Documentos para fins de treinamento.
Documento de Abordagem
Desenvolva um documento de abordagem específico para o estágio de Teste de Desempenho, refinando a estratégia geral de Teste. Esta abordagem de teste orienta no planejamento e execução de todas as tarefas de teste de desempenho.
perguntas e respostas da entrevista datastage para experientes
- Escopo de Teste
- Test Metrics
- Ferramentas de teste
- Datas e produtos principais
Escopo de Teste
Conduza o teste de desempenho de diferentes perspectivas, como desempenho do usuário, processos de negócios, estabilidade do sistema, consumo de recursos e assim por diante. Os tipos de teste de desempenho a serem executados são discutidos na seção acima do artigo (como teste de carga, teste de estresse, etc.)
Test Metrics
A abordagem de teste refina as métricas para medir e relatar durante o teste, como:
- Tempo de resposta (online)
- Janela de lote (lote)
- Taxa de transferência ( Por exemplo , o número de transações por unidade de tempo)
- Utilização ( Por exemplo , a porcentagem de recursos utilizados)
Ferramentas de teste
Principalmente os testes de desempenho requerem o uso de ferramentas apropriadas:
- Ferramentas de geração de carga
- Ferramentas de monitoramento de desempenho
- Ferramentas de análise de desempenho
- Ferramentas de perfil de aplicativo
- Ferramentas de revestimento de base.
Datas e produtos principais
O Documento de Abordagem de Teste de Desempenho deve descrever o seguinte:
- Data e hora de cada realização do Teste de Desempenho.
- Tipos de testes e combinação de funcionalidades a serem incluídos em cada conduta de Teste de Desempenho.
- Datas de conclusão do teste de desempenho.
Tipos de teste não funcionais
A imagem a seguir descreve os tipos de teste não funcional:
Teste de performance:
Avalia o desempenho geral do sistema .
Os principais elementos são os seguintes:
- Valida se o sistema atende ao tempo de resposta esperado.
- Avalia se os elementos significativos do aplicativo atendem ao tempo de resposta desejado.
- Também pode ser conduzido como parte do teste de integração e do teste do sistema.
Teste de carga:
Avalia se o desempenho do sistema é o esperado em condições normais e esperadas.
Os pontos principais são:
- Valida se o sistema funciona conforme o esperado quando usuários simultâneos acessam o aplicativo e obtêm o tempo de resposta esperado.
- Este teste é repetido com vários usuários para obter o tempo de resposta e o rendimento.
- No momento do teste, o banco de dados deve ser realista.
- O teste deve ser realizado em um servidor dedicado que estimule o ambiente real.
Teste de estresse:
Avalia se o desempenho do sistema é o esperado quando está com poucos recursos.
Os pontos principais são:
- Teste com pouca memória ou pouco espaço em disco em clientes / servidores que revelem os defeitos que não podem ser encontrados em condições normais.
- Vários usuários realizam as mesmas transações nos mesmos dados.
- Vários clientes estão conectados aos servidores com diferentes cargas de trabalho.
- Reduza o tempo de reflexão para “zero” para forçar os servidores ao máximo.
Tempo para pensar: Assim como o intervalo de tempo entre a digitação do usuário e a senha.
Teste de volume:
Avalia o comportamento do software quando um grande volume de dados está envolvido.
Os pontos principais são:
- Quando o software está sujeito a grandes quantidades de dados, verifica o limite em que o software falha.
- O tamanho máximo do banco de dados é criado e vários clientes consultam o banco de dados ou criam um relatório maior.
- Exemplo - Se o aplicativo está processando o banco de dados para criar um relatório, um teste de volume seria usar um grande conjunto de resultados e verificar se o relatório foi impresso corretamente.
Testando usabilidade:
Avalia o sistema para uso humano ou verifica se ele é adequado para uso.
Os pontos principais são:
- A saída está correta e significativa e é a mesma esperada de acordo com o negócio?
- Os erros foram diagnosticados corretamente?
- A GUI está correta e consistente com o padrão?
- O aplicativo é fácil de usar?
Teste de interface do usuário:
Avalia a GUI.
Os pontos principais são:
- A GUI deve fornecer ajuda e dicas para facilitar o uso.
- Consistente em sua aparência?
- Os dados são transferidos corretamente de uma página para outra?
- A GUI não deve incomodar o usuário ou ficar difícil de entender.
Teste de compatibilidade:
Avalia se o aplicativo é compatível com outro hardware / software com configuração mínima e máxima.
Os pontos principais são:
- Teste cada hardware com configuração mínima e máxima.
- Teste com navegadores diferentes.
Os casos de teste são iguais aos que foram executados durante o teste funcional. - No caso de a quantidade de hardware e software ser muito grande, podemos usar as técnicas do OATS para chegar aos casos de teste para ter cobertura máxima.
Teste de recuperação:
Avalia se o aplicativo é encerrado normalmente em caso de falha e os dados são recuperados de forma adequada de qualquer falha de hardware e software.
Os testes não se limitam aos pontos abaixo:
- Interrupção de energia para o cliente durante as atividades CURD.
- Chaves e ponteiros de banco de dados inválidos.
- O processo do banco de dados foi abortado ou encerrado prematuramente.
- Ponteiros, campos e chaves do banco de dados são corrompidos manualmente e diretamente no banco de dados.
- Desconecte fisicamente a comunicação, desligue a energia, desligue os roteadores e servidores de rede.
Teste de instabilidade:
Avalia e confirma se o software é instalado e desinstalado corretamente.
perguntas e respostas da entrevista de script de shell para experientes
Os pontos principais são:
- Valida se os componentes do sistema estão instalados corretamente no hardware designado.
- Valida se a navegação na nova máquina atualiza a instalação existente e as versões anteriores.
- Valida que, com espaço em disco insuficiente, não há comportamento inaceitável.
Teste de documentação:
Avalia os documentos e outros manuais do usuário.
Os pontos principais incluem:
- Valida se os documentos indicados estão disponíveis no produto.
- Valida todos os guias do usuário, instruções de configuração, arquivos leia-me, notas de versão e ajuda online.
Teste de failover:
O teste de failover é feito para verificar se, em caso de falha do sistema, o sistema é capaz o suficiente para lidar com recursos extras, como servidores.
Para evitar tal situação, o teste de backup desempenha um grande papel. Criar um sistema de backup é o objetivo do processo. Se o backup estiver disponível, será útil recuperar o sistema.
Teste de segurança:
Teste de segurança é feito para garantir que o aplicativo não tenha lacunas que possam levar a qualquer perda de dados ou ameaças. É um dos aspectos importantes dos testes não funcionais e, se não for executado corretamente, pode levar a ameaças à segurança.
Inclui teste de autenticação, autorização, integridade e disponibilidade.
Teste de escalabilidade:
O teste de escalabilidade é feito para verificar se o aplicativo é capaz o suficiente para lidar com o aumento do tráfego, número de transações, volume de dados, etc. O sistema deve funcionar conforme o esperado quando o volume de dados ou alteração no tamanho dos dados for concluído.
Teste de conformidade:
O teste de conformidade é feito para verificar se os padrões definidos estão sendo seguidos ou não. Auditorias são feitas para verificar o mesmo.
Para Exemplo , As auditorias são feitas para verificar o processo de criação de casos de teste / planos de teste e colocá-los no local compartilhado com o nome padrão que está sendo feito ou não. No QC, ao nomear os casos de teste, o nome do caso de teste padrão está sendo seguido ou não. A documentação está completa e aprovada ou não.
Estas são as poucas dicas abordadas durante a auditoria.
Teste de resistência:
Teste de resistência é feito para verificar o comportamento do sistema quando uma carga é aumentada em uma extensão por um longo tempo.
Também é chamado de teste de absorção e teste de capacidade. Isso ajuda a verificar se há vazamentos de memória no sistema. O teste de resistência é um subconjunto do teste de carga.
Teste de localização:
Teste de localização é feito para verificar o aplicativo em diferentes idiomas, ou seja, diferentes localidades. O aplicativo deve ser verificado para uma determinada cultura ou local. O foco principal é testar o conteúdo, GUI do aplicativo.
Teste de internacionalização:
Teste de internacionalização também é conhecido como teste i18n.
I18n representa I - dezoito letras - N. Isso é feito para verificar se o aplicativo funciona conforme o esperado em todas as configurações de idioma. Ele verifica se qualquer funcionalidade ou aplicativo em si não falha, ou seja, o aplicativo deve ser capaz o suficiente para lidar com todas as configurações internacionais.
Ele também verifica se o aplicativo foi instalado sem problemas.
Teste de confiabilidade:
O teste de confiabilidade é feito para verificar se o aplicativo é confiável e é testado por um período específico de tempo no ambiente definido. Um aplicativo deve fornecer sempre a mesma saída esperada, só então pode ser considerado confiável.
Teste de portabilidade:
O teste de portabilidade é feito para verificar se no caso de um software / aplicativo ser instalado em um sistema diferente ou em uma plataforma diferente, ele deve ser capaz de funcionar conforme o esperado, ou seja, nenhuma funcionalidade deve ser afetada por causa de uma mudança no ambiente.
Durante o teste, também é necessário testar a mudança com a configuração de hardware, como o espaço em disco rígido, processador e também com diferentes sistemas operacionais para garantir que o comportamento correto do aplicativo e a funcionalidade esperada estejam intactos.
Teste de linha de base:
O teste de linha de base também é conhecido como teste de benchmark pois cria uma base para qualquer novo aplicativo a ser testado.
Por exemplo: Na primeira iteração, o tempo de resposta de um aplicativo era de 3 segundos. Agora, isso foi definido como um benchmark para a próxima iteração e na próxima iteração, o tempo de resposta muda para 2 segundos. É basicamente um documento de validação que serve de base para referências futuras.
Teste de eficiência:
O teste de eficiência é feito para verificar se o aplicativo funciona de forma eficiente e o número de recursos necessários, ferramentas necessárias, complexidade, requisitos do cliente, ambiente necessário, tempo, que tipo de projeto é, etc.
Esses são alguns dos indicadores que ajudariam a definir a eficiência com que um aplicativo funcionaria se todos os parâmetros considerados funcionassem conforme o esperado.
Teste de recuperação de desastres:
Este teste é feito para verificar a taxa de sucesso de recuperação de um aplicativo ou sistema se ocorrer alguma falha crítica e se o sistema é capaz de restaurar os dados e o aplicativo ou o sistema poderia facilmente retornar ao modo como estava funcionando antes, ou seja, de frente operacional.
Teste de sustentabilidade:
Assim que o aplicativo / produto entrar no ar, é possível que ocorra um problema no ambiente ativo ou o cliente pode querer um aprimoramento para o aplicativo que já está ativo.
Nesse caso, a equipe de teste de manutenção está disponível para testar os cenários acima mencionados. Uma vez que o aplicativo vai ao ar, ele ainda precisa de manutenção para a qual a equipe de teste de manutenção trabalha.
Ferramentas de teste não funcionais
Existem várias ferramentas disponíveis no mercado para testes de Performance (Load & Stress).
Poucos deles estão listados abaixo:
- JMeter
- Loadster
- Loadrunner
- Loadstorm
- Neoload
- Previsão
- Carga Completa
- Ferramenta de estresse do servidor web
- WebLoad Professional
- Loadtracer
- vPerformer
Os testes não funcionais são sempre realizados sem documentação e casos de teste? Porque?
“Sempre somos ensinados a escrever casos de teste funcionais. Por que é que? O 'teste não funcional' é realizado sem documentação (em outras palavras, em uma base ad-hoc) ou é um processo separado que é muito mais difícil de entender? Como os casos de teste são escritos para diferentes tipos de teste que acontecem em um aplicativo? ”
Esta é uma das perguntas mais originais, distintas e fora da caixa, que me fizeram nos últimos tempos. Vamos encontrar a resposta.
Por que nunca conseguimos ver e praticar a escrita de casos de teste não funcionais?
Vamos começar com o que sabemos e, como sempre, um cenário prático.
Exemplo: A seguir estão as etapas a serem realizadas em um aplicativo de Internet Banking para realizar uma transferência. Vamos usar isso como nosso teste de referência.
- Faça login no site.
- Escolha a conta bancária.
- Escolha o beneficiário (este beneficiário pode pertencer ao mesmo banco ou a outro - isso depende da sua escolha de dados para executar esta etapa. Em qualquer caso, escolha um. Além disso, vamos presumir que o beneficiário já foi adicionado). .
- Insira o valor a ser transferido (valor positivo, dentro do limite, formato correto, etc.).
- Clique em Transferir e verifique se a confirmação foi recebida, o saldo da conta foi atualizado e tudo mais.
Este é o caso de teste funcional, correto?
No mesmo aplicativo, na mesma página de transferências, digamos que estamos realizando Teste de desempenho, segurança e usabilidade . Esses são tipos não funcionais, correto?
Como escreveríamos os casos de teste?
# 1) Casos de teste de teste de usabilidade
O teste de usabilidade é um gênero de teste de software que lida com a experiência do usuário. Estas são algumas das perguntas que tentamos responder.
- O aplicativo é fácil de usar?
- Quão satisfatória é a experiência de usar o sistema?
- Se não for tão familiar assim, quão fácil é aprender?
Mais informações sobre isso aqui: Guia de teste de usabilidade
Como um usuário determinaria as respostas às perguntas acima no contexto do teste de usabilidade?
O usuário executaria exatamente as mesmas etapas do caso de teste funcional. Estou certo?
# 2) Casos de teste de teste de desempenho
Existem várias variações para o teste de desempenho, mas em seu núcleo, ele é usado para obter estatísticas sobre o sistema, sua utilização de recursos, tempo de resposta, consumo de rede, etc. em vários pontos de carregamento.
Confira nosso Tutoriais de teste de desempenho para saber mais sobre isso.
Agora, se eu fosse testar o desempenho da transação de transferência, eu teria 10, 20, 30, 100 ... 1000 ... etc. usuários realizando a operação de transferência simultaneamente ou incrementalmente, dependendo do que eu quero direcionar e coletar dados.
Quais etapas cada usuário executaria para usar a transferência enquanto o teste de desempenho está em andamento?
As mesmas etapas exatas do teste funcional, correto?
# 3) Casos de teste de teste de segurança
O Teste de Segurança é um ramo do QA que ajuda a tornar os sistemas de software à prova de hack. Ele identifica vulnerabilidades (áreas com problemas potenciais no sistema de software), explora-as por meio de penetração ou técnica de teste de chapéu branco e, quando são encontrados lacunas, são resolvidos.
Quando desejo verificar se as transferências são à prova de hack e são direcionadas corretamente aos destinatários pretendidos e se não há pontos negros em todo o processo? Gostaria de realizar a transferência enquanto o processo de monitoramento de vazamentos de segurança continua em paralelo.
Portanto, na verdade, estou realizando exatamente as mesmas etapas que faria normalmente no caso de um caso de teste funcional.
Acho que temos o suficiente para estabelecer que as etapas em todas as situações são as mesmas. O método e a intenção por trás do processo são o que é diferente.
Vamos dar uma olhada comparativa:
Tipo de Teste | Quem? | Porque? Intenção |
---|---|---|
Teste funcional | Testadores de controle de qualidade | Precisão |
Eficiência | ||
Aplicabilidade de negócios | ||
Usabilidade | Testadores de controle de qualidade ou usuários em tempo real | Fácil de usar |
Facilidade de aprendizado | ||
Eficiência | ||
Uso de rede etc. | ||
Segurança | Ferramentas de varredura e outros sistemas de monitoramento por especialistas em segurança especializados | Hack seguro |
Proteção da identidade do beneficiário e do pagador, etc. |
O que é interessante notar é que não importa a forma de teste que desejamos fazer, todas as etapas são as mesmas .
A verdadeira diferença é que:
- Quem executa essas etapas?
- Qual é a intenção, ou em outras palavras, o que estou tentando alcançar com este teste?
- As ferramentas e técnicas utilizadas.
Voltando à nossa pergunta, por que nunca aprendemos a escrever casos de teste não funcionais com todas as etapas detalhadas necessárias?
É porque ,em sua essência, as etapas de teste para uma variação dos tipos de teste em uma determinada função são todas iguais, funcionais ou não. É a intenção que faz a diferença e talvez o método.
Conclusão
Antes de realizar o teste não funcional, é essencial planejar a estratégia de teste corretamente para garantir o teste adequado. Existem diferentes ferramentas disponíveis no mercado para realizar este tipo de testes como Load Runner, RPT, etc.
Esse teste desempenha um papel importante no sucesso de um aplicativo e na construção de um bom relacionamento com o cliente e, portanto, não deve ser negligenciado. Esta é uma das partes importantes do teste de software e o teste não pode ser considerado completo sem isso.
Podemos incluir detalhes de teste não funcionais no plano de teste ou criar uma estratégia separada para ele. Em qualquer dos casos, o objetivo é ter uma cobertura adequada dos aspectos não funcionais do software.
Esperamos que este processo de aprofundamento neste tópico tenha sido tão divertido para vocês quanto apresentado a todos vocês. Gostaríamos muito de ouvir seus comentários e opiniões sobre este assunto.
Como você lida com testes não funcionais em suas equipes? E como sempre, deixe-nos saber se você concorda ou discorda ou tem algo a acrescentar ao que temos aqui.
Leitura recomendada
- Teste Funcional Vs Teste Não Funcional
- Teste Alfa e Teste Beta (um guia completo)
- Guia de teste de segurança de aplicativos da Web
- Guia de teste funcional completo com seus tipos e exemplos
- Guia completo de teste de verificação de compilação (teste BVT)
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Guia para iniciantes em testes de penetração em aplicativos da Web
- Guia completo de teste de carga para iniciantes