Aferindo a qualidade do serviço com testes de desempenhoIgor Abade V. Leite@IgorAbade
Agenda
Intro
Scripts de
Navegação
Testes de Carga
MVP, Visual Studio ALM(antigo Team System )
Desde 2006
blog.lambda3.com.br/L3/IgorAbade
@igorabad
e
INTRODUÇÃO
Aferindo a qualidade do serviço com testes de desempenho
CenárioUma 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.
Propósito do Teste de Desempenho
• Identificar a capacidade da aplicação
• Alguns objetivos– Explorar– Verificar– Encontrar os limites– “Quebrar”
Boas práticas
Testes de Desempenho ao longo do ciclo de desenvolvimento
Pegar problemas mais cedo
Definir linha-base de desempenho
Identificar padrões de desempenho
Sprint 1 Sprint 2 Implantaçãofeature
afeature
bfeature
cfeature
d
Teste deUnidade
TesteManual
Teste deRegressão
Teste deDesempenho
feature a
As Ferramentas
Visual Studio
Ultimate
• Web Performance Tests• Load Tests• Load Test Rigs
Visual Studio
Premium
• Profiling Tools• Performance Wizard
Topologia• Controlador
– Orquestra os testes
– Gerencia Licenciamento
– Coleta e armazena dados de desempenho
• Agentes (1..n)– Simulam
usuários
Coordena e coleta
informações
Controlador
Gera carga de usuários
Agente 1
Agente 2
Agente n
Aplicação sob Teste
Servidor Web
Servidor BD
Montando o ambiente de testesAferindo a qualidade do serviço com testes de desempenhoIgor Abade V. Leite
CRIANDO SCRIPTS DE NAVEGAÇÃO
Aferindo a qualidade do serviço com testes de desempenho
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)
Testes de Desempenho WebGravados no
browser
Extração automática de
parâmetros
Grava e gerencia think time
Define metas de desempenho
Guiado por dados
Criando scripts com Web Performance TestAferindo a qualidade do serviço com testes de desempenhoIgor Abade V. Leite
CRIANDO TESTES DE CARGA
Aferindo a qualidade do serviço com testes de desempenho
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
Criando testes de carga com Load TestAferindo a qualidade do serviço com testes de desempenhoIgor Abade V. Leite
Dúvidas?Aferindo a qualidade do serviço com testes de desempenhoIgor Abade V. Leite
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