functional testing vs performance testing
Teste Funcional Vs Teste de Desempenho:
Diferenças entre Teste de desempenho, teste de carga e teste de estresse foram explicados com exemplos em nosso último tutorial.
O Teste de Software cobre uma ampla gama de áreas onde qualquer verificação ou validação da funcionalidade do software pode ocorrer. Ocasionalmente, os aspectos não funcionais tornam-se menos em relação aos aspectos funcionais. Eles não são executados na prática; simultaneamente durante o teste de software.
=> Clique aqui para obter a série completa de tutoriais de teste de desempenho
Este artigo explica os benefícios adicionais da qualidade do produto de software durante vários cenários no ciclo de vida de teste de software quando ambos funcionais e não funcionais são tomados simultaneamente.
O que você aprenderá:
- Diferença rápida entre teste de desempenho e teste funcional
- Por que o teste funcional e o teste de desempenho devem ser feitos simultaneamente?
- Estudo de caso
- Conclusão
- Leitura recomendada
Diferença rápida entre teste de desempenho e teste funcional
Sim. Não | Teste funcional | Teste de performance |
---|---|---|
1 | Para verificar a precisão do software com entradas definidas em relação à saída esperada | Para verificar o comportamento do sistema em várias condições de carga |
dois | Pode ser manual ou automatizado | Pode ser executado de forma eficaz se automatizado |
3 | Um usuário executando todas as operações | Vários usuários realizando as operações desejadas |
4 | Envolvimento exigido do cliente, testador e desenvolvedor | Envolvimento necessário do cliente, testador, desenvolvedor, DBA e equipe de gerenciamento N / W |
5 | O ambiente de teste de tamanho de produção não é obrigatório e os requisitos de H / W são mínimos | Solicita próximo ao ambiente de teste de produção e várias instalações de H / W para preencher a carga |
Por que o teste funcional e o teste de desempenho devem ser feitos simultaneamente?
O teste funcional torna-se muito mais importante para qualquer pré-lançamento de software. Baseado em resultados reais verificação e validação na produção replicada ou no ambiente de teste é onde o teste geralmente acontece.
O vazamento de defeito pode se tornar um dos maiores problemas:
Os testadores têm mais responsabilidade do que os desenvolvedores em termos de qualidade do produto. Basicamente, eles não querem que o produto testado tenha vazamento de defeito. Os testadores geralmente tendem a realizar apenas testes funcionais para conseguir isso.
O que se segue é uma conversa entre umGerente de Teste e um Testador :
(O Test Manager é referido como ‘TM’ e o Testador como ‘TR’)
TM : Ei amigo ... Como estamos nos saindo nos testes do produto ‘A’?
TR : Sim ... Estamos progredindo de uma forma mais ampla.
TM : Isso é fantástico ... E qual é o nosso escopo em termos de teste de desempenho enquanto o teste funcional está em execução?
TR : Não os estamos cobrindo, nossos resultados devem estar apenas na área funcional e não na área não funcional. Além disso, o ambiente de teste que estamos usando não é uma réplica exata da produção.
Existem algumas questões da conversa acima a serem consideradas:
- O teste funcional tem um fator dependente do desempenho?
- E se o desempenho do software for prejudicado, mas a entrega do produto ocorrer sem verificação do desempenho?
- Teste de desempenho - ele coexiste com o processo de teste funcional?
Tornou-se uma prática geral para os testadores não trabalhar nos aspectos não funcionais, a menos que sejam solicitados a fazê-lo. É comum evitar teste não funcional até que o cliente relate problemas com o desempenho do software em teste.
Portanto, existem 2 questões para você considerar:
- Desempenho - afeta o teste funcional?
- Mantemos o teste de desempenho como uma entrega separada, mesmo que isso preocupe o cliente?
O teste de desempenho é importante !
diferenças c e c ++
O software funciona com base em várias arquiteturas e os seguintes modelos, incluindo:
- Modelos de resposta de resposta obrigatória
- Sistemas baseados em transações
- Sistemas baseados em carga
- Sistemas baseados em replicação de dados
O comportamento de teste funcional do modelo sistemático acima mencionado depende do desempenho do sistema.
O ponto de vista da automação requer muita atenção aos testes de desempenho.
O que se segue é uma conversa entre umcliente e o Test Manager.
(O cliente é referido como ‘CL’ e o gerente de teste como ‘TM’)
CL : Assim, chegando à solução que solicitamos, espero que haja várias iterações do teste que está acontecendo atualmente.
TM : Sim, isso pode ser feito. Como você disse, haverá uma probabilidade maior do teste iterativo, gostaríamos de propor a automação para lidar com o teste funcional (regressão).
CL : OK, ótimo, envie-nos sua abordagem para que possamos aprovar isso. A automação terá uma produção muito maior com o mínimo de esforço.
TM : Exatamente. Trabalharemos na abordagem e entraremos em contato com você com uma Prova de Conceito.
A partir da conversa acima, fica claro que a necessidade dos clientes é otimizar a eficiência.
Estudo de caso
A empresa ABC trabalha em um projeto de desenvolvimento do Software A. O teste do Software A está sendo feito pela empresa XYZ.
O contrato para a empresa ABC e XYZ tem algumas restrições para sua colaboração. Qualquer discussão entre as 2 empresas deve acontecer uma vez por semana ou três vezes por mês. O sistema funciona em um modelo de modo de solicitação-resposta. A fase de desenvolvimento foi concluída pela Empresa ABC.
Agora é a hora da Empresa XYZ realizar o teste funcional formal no Software A. XYZ começa a trabalhar no software de teste A. Eles deram uma chit limpo no software e deram o 'Go' para implementação ao vivo após 2 ciclos de teste.
Apesar do certificado de qualidade da equipe de teste, a implementação ao vivo não foi bem. Havia muitos bugs de pós-produção. Houve um grande número de problemas enfrentados pelos clientes, incluindo uma interrupção na funcionalidade dos processos de negócios de ponta a ponta.
Então agora qual é oproblema?
- É um problema com uma restrição à colaboração entre a equipe de desenvolvimento e teste?
- Será que os requisitos não foram 100% atendidos?
- É que o produto não foi testado em um ambiente de teste adequado?
- Ou alguma outra causa?
Após cuidadosa pesquisa e análise, oa seguir foram inferidos:
- Poucos aplicativos dependentes e interdependentes apresentavam problemas de desempenho ao buscar as respostas.
- As entradas de teste usadas não eram absolutas.
- A robustez do software não foi cuidada.
- Muitos problemas de sincronização entre os vários aplicativos independentes.
- O teste de software fez vários retrabalhos que não foram considerados.
Portanto, após oações corretivasequipe de planejamento interveio, o seguinte foi sugerido:
- A interação entre a equipe de desenvolvimento e a equipe de teste deve ser aumentada.
- Todos os aplicativos dependentes precisam ser conectados e incluídos no teste funcional do sistema
- O valor do tempo limite de solicitação e resposta precisa ser aumentado para dar espaço a ambientes de não produção
- Várias entradas que variam de simples a complexas devem ser usadas em testes funcionais
- O teste não funcional, especialmente o teste de desempenho e carga, deve ser feito conforme recomendado pela equipe de reparação.
- Além do teste do sistema, o teste de integração do sistema deve ser executado.
- Um intervalo de tempo mínimo entre duas iterações de teste deve ser fornecido. Isso é para testar novamente os bugs identificados anteriormente.
- Todos os bugs identificados em iterações anteriores devem ser corrigidos na iteração atual.
A equipe de testes implementou todas as ações propostas e houve um grande número de defeitos descobertos em pouco tempo.
Observações:
- O cronograma de implementação ao vivo do software melhorou significativamente, otimizando os tempos de ciclo de teste.
- Houve um bom progresso na otimização da qualidade do software. Conseqüentemente, houve uma queda tremenda nos tíquetes de suporte pós-implementação.
- Re-trabalhos foram diminuídos e estava testando iterações em vez de retrabalhos. Entre as diferentes iterações, houve melhorias melhores na qualidade observada.
Conclusão
Realizar testes não funcionais durante a execução do teste funcional é mais vantajoso e adicionará mais benefícios à qualidade geral do software. Isso identificará bugs de desempenho (restritos ao ambiente de teste e dependência) e, portanto, reduzirá situações de suposições de problemas funcionais.
Um planejamento suficiente para a realização de testes funcionais e não funcionais (em um nível mínimo) deve ser feito a fim de manter um relacionamento forte entre as outras partes interessadas do projeto.
Sobre o autor: Este é um artigo escrito por Nagarajan. Ele está trabalhando como líder de teste com mais de 6 anos de experiência em testes em várias áreas funcionais como Banca, Linhas Aéreas, Telecom em termos de manual e automação.
Nosso próximo tutorial explicará mais sobre o plano de teste de desempenho e a estratégia de teste.
=> Visite aqui para obter a série completa de tutoriais de teste de desempenho
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Teste Funcional Vs Teste Não Funcional
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste de desempenho vs teste de carga vs teste de estresse (diferença)
- Georgia Tech padroniza seus testes de desempenho no RadView WebLOAD
- Diferença entre Desktop, Teste de Servidor Cliente e Teste da Web
- Download do e-book do Testing Primer
- As diferenças entre teste de unidade, teste de integração e teste funcional
- Teste de desempenho de nuvem: provedores de serviço de teste de carga baseado em nuvem