Sei sulla pagina 1di 86

Es un proceso emprico, se basa en la

experimentacin, en donde se le brinda


informacin sobre la calidad de un
producto o servicio a alguien que est
interesado en el mismo.
Proveer informacin con la que reducir riesgos.
Un tester siempre debe ser escptico y disipar las
ilusiones sobre el software.
Este proceso cognitivo proporcionar informacin
con la que se tomarn decisiones sobre el software.
Testing automtico

Testing de performance

Testing basado en modelos


Test automation is simply an automatic way of
doing what testers were doing before
Steve Rowe (Tester at Microsoft)

Test automation means extending the reach of


testers
James Batch (Tester Consultant at Satisfice)
La automatizacin del testing es testing
asistido por computadoras (computer-assisted
testing).
Cem Kaner
Adquirir tecnologa para automatizar procesos
manuales
Mejora:
calidad
performance en la produccin
rendimiento de los recursos humanos
Uso de cualquier herramienta, que apoye a
nuestras actividades de testing
La ejecucin de las pruebas.
La gestin de los incidentes.
La gestin de los casos de prueba.
La generacin de datos de prueba.
La combinacin de datos de prueba.

Criterios:
Producto cartesiano
Each use o 1-wise
Pairwise
N-wise
Con los criterios de cobertura para valores
intentamos conocer cuantitativamente el grado en
que estamos utilizando los valores de prueba.
ctweb.abstracta.com.uy
Tpicamente en planillas de clculo
Formato tabular
Registrando pasos, datos, resultados esperados
Herramientas de gestin
Qu hago cuando encuentro un bug o una
oportunidad de mejora?
e-mail, telfono, comunicacin directa?
Difcil seguimiento
Cero trazabilidad
Herramientas de gestin y seguimiento de incidentes
Lograr que los casos de prueba sean ejecutados por
una mquina
Aumentar la cobertura de pruebas y calidad del
producto
Reducir tiempos de ejecucin y salida al mercado
Ejecucin en distintos ambientes
El trabajo queda documentado en los scripts de
prueba
Los resultados quedan registrados y nos sirven para
tomar decisiones
Deteccin temprana de errores
Reducir el costo total de la aplicacin
Apoyo y motivacin al equipo manual para pensar
en pruebas alternativas
Se debe utilizar una herramienta

Algunos conceptos importantes


Record & Playback
Data-Driven Testing
Model-Based Testing
Distintas dimensiones para aprovechar:

Plataformas

Datos Tiempo
Automatizar el caos, solo traer ms caos ms rpido.

Las herramientas NO piensan.


Lo bueno es que siempre ejecutan lo mismo.
Lo malo es que siempre ejecutan lo mismo.

Priorizar, seleccionar y disear las pruebas pensando


en automatizarlas.
Definir objetivo de pruebas
Ejemplos
1. Testing consistente y repetible
2. Correr casos de prueba desatendidos
3. Encontrar errores de regresin
8. Correr casos de prueba ms seguido
9. Incrementar la cobertura
10.Probar en distintas plataformas
11.Reducir el costo del testing
Definir objetivo de pruebas
Ejemplos EQUIVOCADOS
1. Sustituir el testing manual
2. Automatizar el 100% de los casos
La automatizacin NO reemplaza al Testing Manual
Agrega un tester virtual al equipo:
Trabaja de noche,
De forma desatendida,
No piensa, hace y verifica lo que se le haya
pedido en el script
Varias preguntas
Hay herramientas?
Las hay y siguen los mismos conceptos
Tambin tenemos que decidir si automatizar a nivel de UI, API
o cmo
Probamos en emuladores o en dispositivos?
Entre 5 y 10 dispositivos.

? ? ? ?
?

Seleccin basada en riesgo.


Todos vamos a comprar un set?
Donaciones de particulares:
4 Android gama baja
1 Android gama alta
1 iPhone
1 FirefoxOS
1 Tablet Android
Convenios con proveedores:
Movistar - 23 dispositivos
Intel

@OpenDeviceLabUY Reservas y donaciones


ODL@abstracta.com.uy
Computer performance is characterized by the
amount of useful work accomplished by a computer
system compared to the time and resources used.

Requisito no funcional del sistema


El trabajo equivocado
Ms fierro!!
Dependemos de los sistemas para trabajar
Se pierde productividad
Se pierden clientes
Se pierden oportunidades de venta
Los sistemas son controlados por personas
Mayor costo de soporte
La imagen de la empresa es el sistema que le da a sus usuarios
Costos indirectos
Prdida de imagen y confianza
Controlar las expectativas

Testing no es el responsable de la calidad


Simplemente colabora en el objetivo comn que
debera tener todo el equipo

Con las pruebas de performance ocurre lo mismo,


intentaremos colaborar a obtener un sistema de buen
rendimiento, pero se logra slo con la colaboracin de
todos
Cmo ayudamos:
Simular situaciones de carga para conocer el desempeo del sistema
Para qu:
Verificar si el sistema soporta la carga esperada
Verificar si se cumplen acuerdos de nivel de servicio (SLA)
Detectar errores u oportunidades de mejora, que solamente son observables
ante la concurrencia
Detectar bottle-necks
Objetivo:
Asegurar satisfaccin de los usuarios
Pruebas de carga (load test)
Pruebas de estrs (stress test)
Pruebas de resistencia (endurance test)

Otras
Pruebas de escalabilidad
Pruebas de picos
Cmo simulamos el uso real del sistema?
Manualmente
Usando herramientas
Manual Automtico
Manual Automtico
Costos
Infraestructura dedicada a pruebas
Horas-persona
Testers
Desarrolladores
Analistas
Expertos en infraestructuras
Herramientas
Apuntar siempre a mejorar la relacin costo /
beneficio

Si nos centramos slo en mejorar la prueba, nos


costar muy cara, y los beneficios sern menos
redituables
Incluso pueden llegar tan tarde, que no nos sirva
para nada!
CASOS DE PRUEBA
ESCENARIOS DE CARGA
DISEO INFRAESTRUCTURA DE PRUEBAS
INDICADORES DE PERFORMANCE

IMPLEMENTACIN

AUTOMATIZACIN
MONITORIZACIN

EJECUCIN

LNEA BASE
EJECUCIN DE ESCENARIOS
REPORTE DE RESULTADOS
Definir objetivos del proyecto
Disear casos de prueba
Disear escenarios de carga
Criterios de aceptacin
Determinar Infraestructura
Datos de prueba
Scott Barber
User experience, not metrics
13 captulos dedicados a entender cmo simular la
realidad lo ms fielmente posible
3.1
Modeller
Tenemos el script
1
Se Http
1.2 - Re
ques
b ar ab Http
- Re t
g ra ar re sp o n
se
rab3
Se abre

g
r de 1.1
ina
rm
Te

Http - Request Http - Request


Acciones
2
Http - Response Http - Response
Gateway
Browser
(Proxy) Servidor Web
La herramienta no hace al tester

Enterprise grade load generation tools are designed to look easy in


sales demos. Dont be fooled.
Scott Barber
1. Preparar guion detallado
2. Grabacin inicial del script
3. Validaciones / captura de errores
4. Parametrizacin y correlacin de variables
5. Ajustar comportamiento de usuarios
Think times
Login section
6. Probar los scripts
Hardware
Software de base
Herramientas para el test
Generacin de carga
La misma monitorizacin

Toda la infraestructura!
Las herramientas a usar depende de:
El sistema operativo
La base de datos
El servidor de aplicaciones
Etc.

Hay que conocer un poco de todo, y muchas veces


aprender en el momento
BaseLine
Mejor tiempo posible Servidor Web

Iterativo para tener datos estadsticos

Escenario
Incremental
Servidor Web

Comenzar con un 20% de la carga


Escalar hasta llegar al 100%
El objetivo de la ejecucin en
gran parte es buscar los
bottlenecks para mejorar el
sistema

Se pueden encontrar en
distintos niveles
Server side
Ms de lo mismo
Tambin son invocaciones http
Las capturamos con Fiddler (proxy http)
Las reproducimos con cualquier herramienta de pruebas
http
Client side
Ms complejo, hay opciones pero menos
Nosotros creamos nuestra propia herramienta
www.monkop.com
1. monkop.com
2. Subir APP
3. Ver reporte
Performance
Seguridad
Robustez
Buenas prcticas
Usar modelos para test
Similar a nuestro proceso mental

Por qu modelos?
Mayor grado de abstraccin
Mayor productividad
Mayor legilibilidad
No hay necesidad de manejar cdigo
Xtest
GXtest ASPXtest BTtest
Alto nivel ms fcil de aprender
Generacin inicial de pruebas (OneClickStartup)
Crossplatform (browsers, dispositivos)
Adaptable (absorbe cambios)
Reportes automticos (doc, web)
Record and playback
Data driven testing
Gestin centralizada, ejecucin distribuida
Pruebas de performance
Comparador de ejecuciones
Manager
Repositorio de pruebas
Tester Acceso Web
Diseador de Agenda de ejecuciones
pruebas

Ejecucin
Distribuida
Xtest
GXtest ASPXtest BTtest
Herramienta de testing especfica para
aplicaciones Web GeneXus

Model-Based Testing

Record & Data-Driven


Playback Testing
GXtest asocia Artefactos de Prueba a la KB

Casos de Prueba

Capa de Adaptacin

Casos de Prueba Ejecutables


Transaccin
Clientes

Herramientas
tradicionales:

GXtest:
Comandos
Datapools
Decisiones
http://blog.abstracta.com.uy/

Potrebbero piacerti anche