http://www.vlctesting.es/
Es importante que los usuarios confíen en el software que desarrollamos, y no hay mejor camino que probándolo. Para probar software siempre se habla de que el testing automatizado es un camino para acelerar, ser más eficiente, reducir costos, reducir riesgos, aumentar productividad, aumentar la motivación del equipo, etc. Pero ¿todo eso es realmente cierto? En nuestra experiencia podemos decir que no siempre es completamente cierto. Si no enfocamos bien nuestros esfuerzos no lograremos cumplir con esas promesas. Entonces, ¿cómo hacemos testing automatizado en forma efectiva y eficiente? ¿Cómo hacemos que valga la pena? ¿Cómo lo hacemos para obtener el máximo beneficio? ¿No siempre es beneficioso automatizar pruebas? ¿Cómo decido cuándo sí y cuándo no?
Testear efectiva y eficientemente es un gran desafío, que siempre nos lleva a querer ver cómo mejorar la productividad en la búsqueda de la calidad. En esta charla veremos algunas buenas prácticas, lecciones aprendidas, consejos y observaciones que hemos tomado nota en nuestra experiencia dando servicios de pruebas, viendo así cómo enfocar nuestros esfuerzos para tener éxito en nuestras pruebas, haciendo reales, o lo más reales posible, esos beneficios que siempre nos prometen del testing automatizado. También compartiremos los problemas más comunes con los que nos enfrentamos a menudo, y las alternativas que hemos encontrado para solventarlos. Compartiremos la experiencia de proyectos en distintos dominios de aplicación (sector financiero, logística, venta y distribución, etc.), contextos y plataformas, con diversos clientes. Intentaremos mostrar cuándo creemos que sí es factible y beneficioso automatizar, y cuándo rotundamente no.
6. ¿¿ REDUCE COSTOS DE
PRUEBAS ??
Promesa: el testing
automático reduce
costos.
7. Reducción de costos
¿Cómo se pretende o promete reducir costos?
oGastando lo mismo y haciendo más
oHaciendo lo mismo y gastando menos
¿Qué es lo que debería suceder?
oIncrementar los costos pero hacer MUCHO más
14 y 15 de noviembre de 2013 Valencia, España
7
8. Más costos ¿en qué?
Herramienta
Capacitación
25% del éxito
Infraestructura
del proyecto
depende de
Horas de automatización
cómo hacer
esto
Horas de mantenimiento
Planificación y Diseño (selección de pruebas)
50% del éxito del
proyecto depende de
esto.
14 y 15 de noviembre de 2013 Valencia, España
8
9. Ciencia o Ficción
Si bien Cam Kaner (kaner.com) dice que:
oAutomatizar una prueba lleva entre 3 y 10 veces más de
esfuerzo que ejecutarla en forma manual
Nos pasa que:
oEnfoque record&playback – NO conviene
oEnfoque data-driven testing – SÍ
Proyecto piloto + Dejarse llevar por las sensaciones
14 y 15 de noviembre de 2013 Valencia, España
9
10. ¿¿ LOGRO ACUMULAR EL
ESFUERZO ??
Promesa: el
testing
automático
me permite
acumular el
esfuerzo del
testing
12. Además de acumular…
No perder lo acumulado
Probar endurance
o¿Qué pasa si el sistema es usado por 5 horas?
Pruebas de regresión y de “progresión”
oEjecutar nuevos casos, no solo los ya ejecutados
oData-driven, Model-based
14 y 15 de noviembre de 2013 Valencia, España
12
13. Data-driven testing
Probar todos los datos es infinito
Combinación de datos
ohttp://ctweb.abstracta.com.uy/
oDesarrollada en la UCLM
Macario Polo Usaola
Beatriz Pérez Lamancha
14 y 15 de noviembre de 2013 Valencia, España
13
14. Model-based testing
Demo by Kristian Karl & Peng Ge (Spotify)
http://graphwalker.org/ (MBT tool)
http://www.yworks.com/en/products_yed_about.html (Modeling)
http://www.seleniumhq.org/ (Execution)
14 y 15 de noviembre de 2013 Valencia, España
14
17. ¿¿ MOTIVA MÁS A LOS
TESTERS ??
Promesa: el
testing
automático
es más
desafiante,
es menos
aburrido que
testear lo
mismo
siempre….
18. Motivación
¿Un tester se motiva programando?
Un buen tester debe tener el corazón de un desarrollador
en un frasco sobre el escritorio.
Harry Robinson
www.stickyminds.com/se/S8299.asp
14 y 15 de noviembre de 2013 Valencia, España
18
21. ¿¿ MEJORAMOS LA
COBERTURA ??
Promesa: el
testing
automático nos
permite
aumentar la
cobertura de las
pruebas….
22. Cobertura
Medida de calidad
de cómo barro
Me indica cuándo
parar de barrer
Me sugiere qué
más barrer
Criterio: barrer
cada habitación,
incluso en las
esquinas
14 y 15 de noviembre de 2013 Valencia, España
22
23. Mejorar cobertura
El test automático nos ayuda a mejorar la cobertura.
Con test manual tenemos baja cobertura. ¿Eso es cierto?
o¿Cubrimos todas las líneas de código?
o¿Cubrimos todos los caminos, etc.?
oNO CREO.
¿Por qué la automatización me ayuda en este sentido?
¿Qué tan malo es no cubrir todas las líneas de código?
¿Qué tan bueno es cubrir todas las líneas de código?
14 y 15 de noviembre de 2013 Valencia, España
23
24. TACBA: Tablero de Análisis Costo-Beneficio de
Automatización
Modulo / Riesgo / Estabilidad Complejidad Cobertura
función prioridad UI
UI
deseada
CdP
# CdP
abstracto concreto
Respuesta
esperada
Variables
Afecta base
de entrada de datos
Login
Login
Valido
200
Acceso al
sistema
2
no
Login
inválido
10
Negar
acceso
2
no
Alto
100%
Bajo
Clases de
equivalencia
y valores
límites
Registro
Medio
50%
Medio
Todos los
pares
…
…
…
…
…
Compra
Alto
80%
Alto
Todas las
transiciones
de la
máquina de
estados
…
…
…
…
…
http://blog.abstracta.com.uy/
14 y 15 de noviembre de 2013 Valencia, España
24
25. TACBA rules
Afectan positivamente la decisión de automatizar:
oMayor Riesgo
oMayor estabilidad de la GUI
oMenor complejidad de la GUI
oMayor cantidad de casos de prueba concretos para el mismo
caso de prueba abstracto (se puede aplicar DDT con mayor
beneficio)
14 y 15 de noviembre de 2013 Valencia, España
25
26. TACBA rules
Cosas que hacen que sea más complejo automatizar
(agregan costo)
oGUI no estable, sabemos que va a cambiar
oGUI compleja (controles complejos de automatizar para la
herramienta usada)
oNo se puede aplicar DDT
oEs difícil determinar sistemáticamente la salida esperada
oCambia la base de datos luego de cada ejecución y esto
afecta la reejecución del caso de prueba
¡Resistir la tentación de automatizar todo!
14 y 15 de noviembre de 2013 Valencia, España
26
30. No llega antes el más rápido
sino quien sabe a dónde va
¡¡ Gracias !!
¿¿ Preguntas ??
14 y 15 de noviembre de 2013 Valencia, España
30
31. Federico Toledo
R&D, Socio – Abstracta (Uruguay)
COMPROBANDO Y
REFUTANDO LAS PROMESAS
DE LAS PRUEBAS
AUTOMATIZADAS
http://genexus.com/gxtest/
http://www.abstracta.com.uy/
Contacto
ftoledo@abstracta.com.uy
http://blog.abstracta.com.uy
http://gxtest.abstracta.com.uy/wiki
@gxtest
http://www.youtube.com/user/AbstractaLabs
14 y 15 de noviembre de 2013 Valencia, España
31