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 好色先生TV tem experiência comprovada e solu??es tecnológicas para converter o caos dos testes em ordem de engenharia.
好色先生TV 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. 好色先生TV 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. 好色先生TV 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. 好色先生TV 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". 好色先生TV 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 do usuário real na produ??o fornecem insights sobre problemas de desempenho que escaparam aos testes e devem ser corrigidos na próxima vers?o. Capture e a análise do sentimento do usuário final a partir de uma perspectiva de desempenho fornecem feedback mais específico aos desenvolvedores para otimizar o aplicativo para obter melhor 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