A engenharia de desempenho é um teste e monitoramento proativo, contínuo e de ponta a ponta do desempenho de aplicativos. Ela permite a colaboração perfeita entre equipes, ferramentas e processos por meio de ciclos contínuos de feedback. Aqui, não são apenas os testadores que são responsáveis pela garantia de qualidade, mas também os desenvolvedores, os engenheiros de desempenho, os proprietários de produtos e os analistas de negócios.
Ao aproveitar as ferramentas de tamanho adequado que abrangem desde os desenvolvedores até os engenheiros de desempenho, a engenharia de desempenho permite o teste de desempenho shift-left e o monitoramento de desempenho de aplicativos shift-right. É difícil avaliar o quanto a engenharia de desempenho é diferente dos testes de desempenho tradicionais sem entender o que são os testes de desempenho clássicos.
O teste de desempenho clássico é efetivamente um subconjunto da engenharia de desempenho. Geralmente, ele envolve a execução de uma única rodada de testes de carga como parte do ciclo de garantia de qualidade (QA) pós-desenvolvimento. O teste de desempenho envolve a verificação da velocidade, da confiabilidade, da escalabilidade, da estabilidade, do tempo de resposta e do uso de recursos de um aplicativo sob a carga de trabalho prevista. Antes de abordarmos as diferenças entre a engenharia de desempenho e o teste de desempenho, vamos primeiro dar uma olhada no teste de desempenho isolado e por que ele, por si só, não é mais sustentável.
Agora, vamos nos aprofundar nas principais diferenças entre engenharia de desempenho e teste de desempenho.
Por meio dos conceitos a seguir, o DevOps e a engenharia de desempenho fornecem resultados consistentes de desempenho de produção, permitindo que os clientes implantem aplicativos de forma eficiente com mais confiança e implementem softwares estáveis e de alto desempenho que atendam às expectativas dos usuários.
Otimização de ponta a ponta
A engenharia de desempenho oferece otimização do sistema de ponta a ponta por meio de um processo contínuo de teste e monitoramento. Isso transfere o desempenho e os testes de carga para o processo de desenvolvimento. Isso é diferente dos testes de desempenho tradicionais, em que os testes eram realizados depois que os testes funcionais eram estabilizados e o código liberado.
Depois que o código é liberado, a engenharia de desempenho rastreia o aplicativo em produção, aproveitando as ferramentas de monitoramento de desempenho de aplicativos (APM).
Equipe multifuncional de partes interessadas no desempenho
A engenharia de desempenho permite a colaboração entre os participantes do projeto, desde os analistas de negócios até os desenvolvedores. Manter altos níveis de desempenho que melhorem a experiência do cliente, acompanhar o ritmo dos negócios e gerenciar o desempenho de ponta a ponta faz com que todos, e não apenas os engenheiros de QA/desempenho, sejam responsáveis pelo desempenho do produto. Veja como.
Centro de excelência em testes
O Centro de Excelência em Testes (CoE) atua como consultor de testes confiável e guardião das práticas recomendadas. O CoE oferece suporte a diferentes unidades de negócios, diferentes métodos de teste (como DevOps e Agile) e tem a flexibilidade de recomendar testes de desempenho e ferramentas de teste, conforme necessário. Para criar modelos de teste melhores e aprimorar a qualidade do teste, o CoE atua como ponto único de consolidação e reutilização de dados de teste gerados e coletados em várias unidades de negócios ao longo do tempo.
Engenheiro de desempenho
O engenheiro de desempenho oferece uma visão holística de todo o código em desenvolvimento para garantir que os critérios de teste de desempenho sejam abrangentes, contemplem o panorama geral e considerem todas as partes distintas do código em desenvolvimento. O engenheiro de desempenho é o principal usuário das ferramentas de teste de desempenho e tem um alto grau de especialização em criar scripts, projetar, executar e analisar resultados de testes. A engenharia de desempenho traz o engenheiro de desempenho para a fase inicial do desenvolvimento, onde ele pode fornecer métricas de desempenho e cenários necessários para que o código seja considerado pronto para lançamento. O envolvimento precoce significa que o engenheiro de desempenho pode garantir que a solução satisfaça as expectativas de desempenho definidas no início do desenvolvimento. Ele também confirma que a arquitetura e o design são consistentes durante todo o desenvolvimento.
Desenvolvedor de software
Os desenvolvedores são especialistas em codificação, mas geralmente não têm experiência em testes funcionais e de desempenho. Eles trabalham em seu ambiente de desenvolvimento integrado (IDE) e tendem a usar suas ferramentas preferidas, com pouca inclinação para aprender novas ferramentas. A engenharia de desempenho desloca os testes de desempenho para a área de responsabilidade do desenvolvedor de software. Com a contribuição do engenheiro de desempenho, os desenvolvedores de software podem executar testes de desempenho enquanto escrevem o código. O desenvolvedor não libera seu código antes que ele passe nos critérios de teste de desempenho.
DevTester
O devtester não existe no teste de desempenho clássico, pois há distinções claras entre os desenvolvedores de software e os engenheiros de desempenho. Com a engenharia de desempenho, o devtester surge como uma parte interessada que conecta a engenharia de desempenho e as equipes de desenvolvedores. Ele preenche a lacuna ao ter habilidades sólidas de codificação e teste, embora não esteja no mesmo nível de especialização que o desenvolvedor e o engenheiro de desempenho. Eles podem executar testes rapidamente e têm muito mais flexibilidade do que os desenvolvedores no uso de diferentes ferramentas, conforme necessário.
Analistas de negócios e engenheiros de aplicativos
Ao deslocar diretamente os testes, a engenharia de desempenho traz analistas de negócios e engenheiros de aplicativos. Isso garante que os requisitos de desempenho dos negócios e dos aplicativos que definem a qualidade da experiência do usuário sejam incorporados aos critérios de desempenho. Essas duas funções monitoram o aplicativo em produção para garantir sempre o melhor desempenho do aplicativo.
A engenharia de desempenho está transformando o cenário de desenvolvimento de software, bem como as descrições de cargos de todos os que estão envolvidos nele. E com um número maior de funções envolvidas, a necessidade de ferramentas e tecnologia para otimizar o processo é maior do que nunca. A engenharia de desempenho exige integração e colaboração de ponta a ponta, da direita para a esquerda e da esquerda para a direita, além de insights e análises em tempo real. Os fornecedores tradicionais de testes de desempenho não estão adequadamente equipados para lidar com essa onda de mudanças caóticas. No entanto, a OpenText tem experiência comprovada e soluções tecnológicas para converter o caos dos testes em ordem de engenharia.
OpenText A arquitetura aberta da engenharia de desempenho oferece suporte a testes em qualquer protocolo e tipo de aplicativo em qualquer ambiente de desenvolvimento. Ela permite que as partes interessadas, desde os desenvolvedores até os analistas de negócios, usem várias ferramentas de fornecedores e de código aberto para possibilitar a integração completa de CI/CD em escala. OpenText As integrações de ferramentas oferecem a capacidade de eliminar rapidamente o tempo de espera do desenvolvimento e os testes que retardam o fornecimento de aplicativos. As integrações fazem isso permitindo a criação rápida de simulações realistas de APIs, condições de rede e serviços virtuais. OpenText As soluções de engenharia de desempenho se baseiam na infraestrutura existente no local ou na nuvem e promovem a reutilização de ativos para aproveitar os investimentos existentes. Isso ajuda a dimensionar rapidamente para atender às demandas de testes de desempenho de vários aplicativos em toda a empresa.
Os testes de desempenho tradicionais não começavam até que os testes funcionais estivessem concluídos e não começavam a identificar os defeitos e as causas-raiz até o final dos testes de desempenho. OpenText A engenharia de desempenho envolve a medição contínua de ponta a ponta e a análise de defeitos para identificar a causa-raiz em tempo real, mesmo antes do término do teste de desempenho. Os critérios de desempenho estão incluídos na definição e nos requisitos de "concluído". OpenText A análise em tempo real ajuda o engenheiro de desempenho a fornecer feedback ao desenvolvedor rapidamente, de modo a iniciar a solução de problemas no início do processo de desenvolvimento. O monitoramento sintético e o monitoramento de usuários reais na produção fornecem insights sobre problemas de desempenho que escaparam aos testes e devem ser corrigidos na próxima versão. A captura e a análise do sentimento do usuário final a partir de uma perspectiva de desempenho fornecem um feedback mais específico aos desenvolvedores para otimizar o aplicativo a fim de melhorar o desempenho.
Simplifique os testes de carga e desempenho
Testes colaborativos de desempenho e carga
Mantenha-se ágil com testes de desempenho e carga baseados na nuvem
Diga adeus aos gargalos