O documento discute como realizar testes de desempenho para avaliar a qualidade de serviços. Ele explica como criar scripts de navegação usando Web Performance Tests no Visual Studio para simular usuários e como criar testes de carga usando Load Tests para simular vários usuários e cenários de uso. O documento também discute boas práticas como definir metas de desempenho e realizar testes ao longo do ciclo de desenvolvimento.
5. Cenário
Uma empresa de médio porte está em franco crescimento, aproveitando
oportunidades do mercado. Suas aplicações estão se tornando mais
complexas e o time de desenvolvedores está crescendo.
Nos últimos anos, a empresa tem sofrido com uma demanda crescente por
suporte, devido a constantes falhas no software em produção. A qualidade
do software gerado pelos times é sofrível e essa percepção tem crescido no
mercado.
A empresa espera continuar crescendo, mas precisa corrigir e evitar novos
problemas com a gestão de seu processo de desenvolvimento de software.
Recentemente, a empresa ouviu falar sobre as novas tendências no
desenvolvimento ágil e os benefícios da abordagem para Modern Apps.
6. Propósito do Teste de
Desempenho
• Identificar a capacidade
da aplicação
• Alguns objetivos
– Explorar
– Verificar
– Encontrar os limites
– “Quebrar”
7. Boas práticas
Identificar padrões de Sprint 1 Sprint 2 Implantação
desempenho
feature a feature b feature c feature d
Teste de
Definir linha-base de Unidade
desempenho
Teste
Manual
Pegar problemas mais
cedo
Teste de
Regressão
Testes de Desempenho
ao longo do ciclo de Teste de
Desempenho
desenvolvimento
8. As Ferramentas
Visual • Web Performance Tests
Studio • Load Tests
Ultimate • Load Test Rigs
Visual • Profiling Tools
Studio
Premium • Performance Wizard
9. Topologia
• Controlador Coordena e
– Orquestra os Gera carga de Aplicação sob
coleta
testes usuários Teste
informações
– Gerencia
Licenciamento
– Coleta e Agente 1 Servidor
armazena Web
dados de
desempenho Controlador Agente 2
• Agentes (1..n)
– Simulam Servidor BD
usuários Agente n
10. Montando o ambiente de testes
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
11. Aferindo a qualidade do serviço com testes de desempenho
CRIANDO SCRIPTS DE
NAVEGAÇÃO
12. Tudo começa com um script...
• Descreve os cenários
de navegação
• Simula os acessos
feitos por um usuário
• Web Performance Test
(Teste de Desempenho
Web)
13. Testes de Desempenho Web
Gravados no browser
Extração automática
Guiado por dados
de parâmetros
Define metas de Grava e gerencia think
desempenho time
14. Criando scripts com Web Performance Test
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
15. Aferindo a qualidade do serviço com testes de desempenho
CRIANDO TESTES DE CARGA
16. Teste de Carga no Visual Studio
• Modelo flexível de Carga
– “Cenários” para modelar diferentes
grupos de usuários
– Diversos padrões de carga
• Baseados em metas
• Crescente ou Constante
• Personalizado
– Modela diferentes browsers e redes
– Duração definida por tempo ou
iterações
• Testes “de unidade” (MSTest) podem
ser executados para gerar carga
– Serviços Web
– Acesso direto a banco de dados
17. Criando testes de carga com Load Test
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
19. Para Saber
Mais
• Máquina Virtual + Hands-on Labs
• http://aka.ms/vs11almvm
• Getting Started with Load Testing in Visual Studio 2012
• http://tinyurl.com/VSLoadTest
• E-book: Testing for Continuous Delivery with Visual Studio 2012
• http://tinyurl.com/TestingForContinuousDelivery
• Licenciamento
• http://tinyurl.com/VSLicensing
Igor Abade V. Leite
@IgorAbade