The Cloud - A Game-Changer for Web and Mobile Performance Testing
-
Upload
jose-antonio-rodriguez -
Category
Technology
-
view
349 -
download
2
description
Transcript of The Cloud - A Game-Changer for Web and Mobile Performance Testing
Madrid, 4th-7th of June 2012
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
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
• Difficult to test at production level • Difficult to test from multiple geographies• Difficult to discover the full range of
performance issues
• No real-time end-to-end view of performance• Offline analysis
Web and mobile performance testing Challenges
• Tests can’t start at any volume within the hour• Test cycles takes days
• Cost of acquisition and maintenance of hardware is prohibitive
Scale
Analytics
Speed
Cost
Innovative Test Builder
Fastest time-to-test AJAX, Flash, Mobile, Web,
services Build Agility: Unique test
recording capabilities Intuitive UI + Powerful
JavaScript Editing
Cross-Cloud Provisioning Manager
Public Cloud ie. EC2, Azure, GoGrid, Rackspace, etc.
Private Cloud: vCloud, cloud.com, etc. Bare metal Hybrid (combination) Automates the deployment process for
performance testing
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
Affordable ScaleSpeed
Real-time resolutionIntegrated
Real time resolutionReal-time analysis of performance results allows you to identify issues as they occur and take action. Testing in production is a reality.
Leverage your test environment across the world and understand the impact of geographical and distributed load on your application GEO SCALE
CloudTest helps you discover the whole range of issuesYou 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
s
Memory leaks
Scale of Test
Sta
ge
/ Te
am
Dev & Test
Extending Performance Beyond the LabDiscovering Issues across teams, time and scale
Release& Deploy
Network& Ops
CDN file placement
Load Balancer configuration
Network bandwidth
Network configuration
DNS routing
Inadequate server resources
Default configuration settings
Unbalanced web serversAuto-scaling failures
Latency between systems
Slow third-party plug-ins
Garbage collection
Database thread counts
Inefficient database queriesSlow pages
Conflict with other apps
Test Lab Staging Production
Search technology limits
Method-level tuning
Max sockets exceeded
Firewall max capacity
Global latency variance
Security bottlenecks
Memory leaks
They are struggling
Leading French eCommerce Hot product. Scarcity. Very low price = recipe for #fail
1000 happy customers. 99 000 angry ones.
• 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
• 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
Objective: Add 1 million users to the live traffic to stress the new video features.
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.
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
How SOASTA helped Intuit reach full confidence
SOASTA & TestHouse Offerings
CloudTest Lite Performance and Functional Testing HTTP, HTML5, AJAX, REST, SOAP,
FLEX, FLASH, etc. Web and Mobile Testing Jenkins integration Download it FREE today!
http://www.soasta.com
Madrid, 4th-7th of June 2012
Metodología de pruebas de rendimiento en la nube
José Antonio Rodríguez
Technical Director, Testhouse Spain
Madrid, 4th-7th of June 2012
• 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.
Madrid, 4th-7th of June 2012
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
Madrid, 4th-7th of June 2012
Planificación
Preparación
Ejecución
Cierre
MetodologíaEstrategia Pruebas
Instalación Herramientas
Entorno Pruebas + Datos
Diseño Casos de Prueba
Estrategia Pruebas
Configuración Monitores
Scripting
Smoke Test
Línea Base
Soak Test Pruebas Carga Otros
Stress
Informe Final
Pruebas de Rendimiento
An
álisis + C
am
bios +
Inform
es
• Establecer expectativas
• Planificación del proyecto
• Descripción del entorno
• Identificación responsables
• Descripción de los escenarios de pruebas
• Descripción de los casos de prueba
• Descripción de los monitores
• Documento “vivo”
Entorno Pruebas + Datos
• Configuración Entorno de pruebas (pre-prod)
• Carga de datos
Instalación Herramientas
• Herramientas de pruebas de carga
• Herramientas de monitorización de sistemas
• Otras herramientas (reporting...)
Diseño Casos de Prueba
• Transacciones• Validaciones de
imágenes y texto• Juegos de datos
Configuración Monitores
• Selección de las métricas “potencialmente interesantes”
• Selección de métricas avanzadas
Scripting
• Convertir los casos de prueba en scripts automatizados
• La complejidad varia en función de la herramienta seleccionada
Smoke Test
• Verificar las fases anteriores
• No aporta valor al proyecto continuar si esta fase no se completa correctamente
Línea Base
• Establecer un estándar de comparación inicial
• Si el rendimiento no es bueno, no se debe continuar con otros tipos de pruebas
Pruebas de Rendimiento
• Proceso iterativo• Mínimo 2 iteraciones
SOAK Test
Pruebas Carga
Otros
Stress
• Prueba opcional• Solo si todas las
pruebas anteriores son satisfactorias
Informe Final
• Sumario de las pruebas ejecutadas, problemas encontrados y soluciones aportadas
• Detallar en exceso cada escenario de pruebas ejecutado no aporta valor
Éxito Garantizado!
Madrid, 4th-7th of June 2012
Mitos• Las pruebas de rendimiento también se pueden hacer durante el desarrollo del
sistema
Solo después de las pruebas de integración
• 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.
Las pruebas de rendimiento solo implican crear 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.
Cualquier cambio en la interfaz de usuario hace necesario re-escribir todos los scripts
• Es un proceso iterativo.
Se ejecutan "sólo una vez" al final del desarrollo
• 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.
Los datos de entrada utilizados no son relevantes, siempre y cuando sean válidos
Madrid, 4th-7th of June 2012
Preguntas y Respuestas
?