Aferindo a qualidade do serviço com testes de
desempenho
Igor Abade V. Leite
@IgorAbade
Agenda
Intro
Scripts de
Navegação
Testes de
Carga
MVP, Visual Studio ALM
(antigo Team System )
Desde 2006
@igorabade
blog.lambda3.com.br/L3/IgorAbade
Aferindo a qualidade do serviço com testes de desempenho
INTRODUÇÃO
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.
Propósito do Teste de Desempenho
• Identificar a capacidade
da aplicação
• Alguns objetivos
–
–
–
–
Explorar
Verificar
Encontrar os limites
“Quebrar”
Boas práticas
Identificar padrões de
desempenho
Definir linha-base de
desempenho
Sprint 1
feature a
Teste de
Unidade
Teste
Manual
Pegar problemas mais
cedo
Testes de Desempenho
ao longo do ciclo de
desenvolvimento
Teste de
Regressão
Teste de
Desempenho
feature b
Sprint 2
feature c
feature d
Implantação
As Ferramentas
Visual
Studio
Ultimate
Visual
Studio
Premium
• Web Performance Tests
• Load Tests
• Load Test Rigs
• 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
Aplicação sob
Teste
Agente 1
Servidor
Web
Agente 2
Agente n
Servidor BD
Montando o ambiente de testes
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
Aferindo a qualidade do serviço com testes de desempenho
CRIANDO SCRIPTS DE NAVEGAÇÃO
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 Web
Gravados no browser
Guiado por dados
Define metas de
desempenho
Extração automática
de parâmetros
Grava e gerencia think
time
Criando scripts com Web Performance Test
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
Aferindo a qualidade do serviço com testes de desempenho
CRIANDO TESTES DE CARGA
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 Test
Aferindo a qualidade do serviço com testes de desempenho
Igor Abade V. Leite
Dúvidas?
Aferindo a qualidade do serviço com testes de desempenho
Igor 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
Download

Igor Abade V. Leite