Como afrontar el desafío de hacer pruebas de rendimiento en la nube.
Hoy en día el acceso a nuestras aplicaciones llegan desde múltiples localizaciones (continentes) y desde múltiples navegadores (Chrome, Firefox, IE), sistemas operativos (Windows, Mac, Linux) dispositivos (iPhone, iPad, Android). En esta presentación se muestran las bases herramientas y metodología para afrontar este reto.
Proyecto integrador. Las TIC en la sociedad S4.pptx
The Cloud - A Game-Changer for Web and Mobile Performance Testing
1. The Cloud: A Game-
Changer for Web and
Mobile Performance Testing
Fred Beringer
VP Business Development Europe, SOASTA
José Antonio Rodríguez
Technical Director, Testhouse Spain
Madrid, 4th-7th of June 2012
2. SOASTA
Introduced Cloud Testing (2006)
First internal & external Test Platform
Over 350 customers worldwide
Performance experts in the US, Europe, India
Dec 2011: $12M funding round for expansion
Award winning & Patented technology
Wall Street Journal Top 50 hottest
companies
Red Herring Top 100 Global companies
Gartner Magic Quadrant Visionary Leader
Multiple technology patents
3. Web and mobile performance testing Challenges
• Difficult to test at production level
• Difficult to test from multiple geographies
Scale • Difficult to discover the full range of
performance issues
• No real-time end-to-end view of performance
Analytics • Offline analysis
• Tests can’t start at any volume within the hour
Speed • Test cycles takes days
• Cost of acquisition and maintenance
Cost of hardware is prohibitive
4. Real-time performance analysis
Performance-focused Business Intelligence
Aggregates end-to-end data and correlate
for in-test issue resolution performance
metrics from any monitoring sources
Delivers multi-dimensional views and drill
down capabilities for testers
Analytic data from CloudTest’s monitor or
existing production monitor
Innovative Test Builder Cross-Cloud Provisioning Manager
Fastest time-to-test Public Cloud ie. Affordable Scale
AJAX, Flash, Mobile, Web, ser EC2, Azure, GoGrid, Rackspace, etc.
vices Private Cloud: vCloud, cloud.com, etc. Speed
Build Agility: Unique test Bare metal Real-time resolution
recording capabilities Hybrid (combination)
Intuitive UI + Powerful Automates the deployment process for Integrated
JavaScript Editing performance testing
5. Real-time analysis of performance results
allows you to identify issues as they occur
and take action. Testing in production is a
Real time resolution
reality.
6. Leverage your test environment across the world and
understand the impact of geographical and distributed
load on your application GEO SCALE
7. CloudTest helps you discover the whole range of issues
You might encounter with today’s application
CDN file placement
Load Balancer configuration
Network bandwidth
Network configuration
DNS routing
Inadequate server resources
Default configuration settings
Unbalanced web servers
Auto-scaling failure
High latency between systems
Slow third party plug-ins
Memory leaks
Mismanaged garbage collection
Un-optimized database schema
Inefficient database queries
Slow pages
Conflict with other applications
Full range of problems
8. Extending Performance Beyond the Lab
Discovering Issues across teams, time and scale
Latency between systems
Network Network configuration
& Ops
Network bandwidth CDN file placement
Conflict with other apps DNS routing
Stage / Team
Load Balancer configuration Firewall max capacity
Auto-scaling failures Unbalanced web servers
Release
& Deploy
Max sockets exceeded
s Global latency variance
Security bottlenecks
Slow third-party plug-ins
Default configuration settings Search technology limits
Inadequate server resources
Garbage collection
Memory leaks
Memory leaks Database thread counts
Dev
& Test Slow pages Inefficient database queries
Method-level tuning
Test Lab Staging Production
Scale of Test
9. They are struggling
Leading French eCommerce Hot product. Scarcity. Very
low price = recipe for #fail
• DNS Servers down 10 minutes
before and 20 minutes after 7am.
• Firewall down.
• Varnishes down.
• Ad Server on it knee slowing down
the whole site.
Peak: 39k/sec – 800k hits/secs
1000 happy customers. 99 000 angry ones.
10. Objective: Add 1 million users to the live traffic to stress the
new video features.
• 800 Amazon EC2 large instances used to generate load
(3200 cloud computing cores) – Spawned in 30 minutes!
• Real Scenario: Searching/watching/rating music
videos, adding videos to favorites, and viewing artist’s
channel pages, etc.
• Transfer rate of 16 gigabits per second
• 6 terabytes of data transferred per hour
• Over 77k hits per second, not including live traffic
11. Results: Understood the changes to be made to support the extra traffic.
• Worked with Akamai to scale some of their local data centers and optimized
the distribution of assets.
• Made on-the-fly change to their infrastructure to fit the extra traffic.
12. How SOASTA helped Intuit reach full confidence
18+ million eFilers each tax year
$6M test lab
Traditional load testing tool
Largest previous test was 4,000 virtual
users
Several performance issues in past years
Wanted to test at 200% of peak traffic
SOASTA began testing in production in days
400 test cycles in 33 days
Reached 300,000 concurrent users
Provisioned 2,200 server cores
Helped fix 27 showstopper performance issues
Saved hundred of thousand dollars
14. Performance and Functional Testing
HTTP, HTML5, AJAX, REST, SOAP,
FLEX, FLASH, etc.
Web and Mobile Testing
CloudTest Lite
Jenkins integration Download it FREE today!
http://www.soasta.com
15. Metodología de pruebas de
rendimiento en la nube
José Antonio Rodríguez
Technical Director, Testhouse
Spain
Madrid, 4th-7th of June 2012
16. • Compañía internacional centrada en
ofrecer servicios de pruebas de
aplicaciones y formación.
• Formada en el año 2000, Testhouse
tiene oficinas en Reino
Unido, España, Estados
Unidos, Emiratos Árabes
Unidos, Arabia Saudí y la India.
• Equipo dinámico con amplia
experiencia demostrable en la calidad
del software.
th th
17. Requisitos previos
Elegir una herramienta adecuada a la aplicación bajo prueba
Diseñar un entorno de pruebas de rendimiento apropiado
Marcar metas de rendimiento apropiadas y realistas
Asegurarse que la aplicación es suficientemente estable para las pruebas de rendimiento
Obtener una “congelación del código”
Identificar y convertir en scripts los procesos de negocio críticos
Obtener suficientes datos de prueba, y que estos sean de calidad
Identificar los indicadores de rendimiento clave en nuestra aplicación bajo pruebas
Planificar con suficiente tiempo para unas pruebas de rendimiento realistas
th th
18. Metodología
Estrategia Pruebas Entorno Pruebas +
Planificación DiseñoSmokePruebas
Instalación Herramientas
PruebasScripting Prueba
ConfiguraciónTest
EstrategiaBase
Informe Final
LíneaRendimiento
SOAK Test
Casos de
de Monitores
Stress
Datos
Entorno Pruebas + Instalación Diseño Casos de
Datos Herramientas Prueba •Sumario
•Prueba de las
•Proceso iterativo
•Verificaropcional
•Convertirlasun Entorno
•Selecciónlosfases
•Transaccionesestándar
•Herramientas de
•Configuraciónlas
•Establecerde casos de
•SoloPruebas
pruebastodas Carga
•Mínimo 2
•Validaciones las
anteriores scripts
prueba en iteraciones
métricas de carga
de pruebas (pre-prod)
expectativas de inicial
comparación
si
Configuración
Monitores
Scripting •Si aporta texto
•Noel rendimiento
“potencialmente
•Herramientas de
•Carga de yvalor son
•Planificación delalno es
ejecutadas, problemas
pruebas anteriores
automatizados
imágenes datos
•La complejidad
interesantes”y varia
•Juegos continuar
encontrados
satisfactorias
bueno, no se debe
monitorización de
proyectode datos si
Smoke Test esta fase Otros
•Selección de otros
•Descripción se entorno
soluciones
continuar con la
en función aportadas
sistemas no del métricas
Preparación •Detallar correctamente
•Otras herramientas
•Identificación
tipos de pruebas
completaen
herramienta
avanzadas exceso
cada escenario
seleccionada
(reporting...)
responsables de
Análisis + Cambios + Informes
Línea Base
•Descripción de losno
pruebas ejecutado
Pruebas de aporta valor
escenarios de pruebas
Rendimiento •Descripción de los
casos de prueba
Soak Test Pruebas Carga Otros •Descripción de los
monitores
Ejecución
Stress •Documento “vivo”
Cierre Informe Final
Madrid, 4th-7th of June 2012
19. Mitos
Solo después de las pruebas de integración
• Las pruebas de rendimiento también se pueden hacer durante el desarrollo del
sistema
Las pruebas de rendimiento solo implican crear scripts
• La creación de scripts tiene una importancia mínima en comparación con una
correcta definición de los objetivos y elementos de las pruebas.
Cualquier cambio en la interfaz de usuario hace necesario re-
escribir todos los scripts
• Mito cierto en algunas ocasiones. Para entornos web por ejemplo, el cambio en
la posición de los elementos no implica re-escribir los scripts.
Se ejecutan "sólo una vez" al final del desarrollo
• Es un proceso iterativo.
Los datos de entrada utilizados no son relevantes, siempre y
cuando sean válidos
• El rendimiento puede verse afectado por los datos de entrada utilizados, con lo
que se debe recrear un juego de datos adecuado al objetivo de la prueba.
th th