32
COMPROBANDO Y REFUTANDO LAS PROMESAS DE LAS PRUEBAS AUTOMATIZADAS Federico Toledo ([email protected] ) R&D, Socio – Abstracta

VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

COMPROBANDO Y REFUTANDO LAS

PROMESAS DE LAS PRUEBAS

AUTOMATIZADAS

Federico Toledo ([email protected])

R&D, Socio – Abstracta

Page 2: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

¿Cuál es el problema?

• Problema de fe: nadie cree

• De cómo se vende: falsas expectativas

• …

Page 3: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo
Page 4: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo
Page 5: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 5

Outline

Reduzca sus

costos

Acumule el

esfuerzo

invertido en

testing

Mantenga

la motivación

de los testers

Mejore la cobertura

de sus pruebas

Page 6: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

¿¿ REDUCE COSTOS DE

PRUEBAS ??

Promesa: el testing

automático reduce

costos.

Page 7: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 8: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 8

Más costos ¿en qué?

Herramienta

Capacitación

Infraestructura

Horas de automatización

Horas de mantenimiento

Planificación y Diseño (selección de pruebas)

25% del éxito

del proyecto

depende de

cómo hacer

esto

50% del éxito del

proyecto depende de esto.

Page 9: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 10: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

¿¿ LOGRO ACUMULAR EL

ESFUERZO ??

Promesa: el

testing

automático

me permite

acumular el

esfuerzo del

testing

Page 11: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 11

Acumulatividad nula

Mark Fewster and Dorothy Graham (1999). Software

test automation: effective use of test execution tools.

v1 v2 v3 v4 v5 v6

Desarrollo

del

producto

Esfuerzo

acumulado

Page 12: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 13: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 14: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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)

Page 15: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 15

Model-based testing

Tester Developer

Page 16: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 16

Model-based testing

Page 17: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

¿¿ MOTIVA MÁS A LOS

TESTERS ??

Promesa: el

testing

automático es más

desafiante,

es menos

aburrido que

testear lo

mismo

siempre….

Page 18: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 19: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 19

http://myOwnQArtoon.blogspot.com/

Page 20: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 20

Motivación del tester

Page 21: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

¿¿ MEJORAMOS LA

COBERTURA ??

Promesa: el

testing

automático nos

permite

aumentar la

cobertura de las

pruebas….

Page 22: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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

Page 23: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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?

Page 24: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 24

TACBA: Tablero de Análisis Costo-Beneficio de

Automatización

Modulo /

función

Riesgo /

prioridad

Estabilidad

UI

Complejidad

UI

Cobertura

deseada

CdP

abstracto

# CdP

concreto

Respuesta

esperada

Variables

de entrada

Afecta base

de datos

Login Alto 100% Bajo Clases de

equivalencia

y valores

límites

Login

Valido

200 Acceso al

sistema

2 no

Login

inválido

10 Negar

acceso

2 no

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/

Page 25: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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)

Page 26: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 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!

Page 27: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

CONCLUSIONES

Page 28: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 28

Las Promesas se logran con el compromiso

Page 29: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

No sos vos,

soy yo

Page 30: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 30

No llega antes el más rápido

sino quien sabe a dónde va

¡¡ Gracias !!

¿¿ Preguntas ??

Page 31: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

14 y 15 de noviembre de 2013 Valencia, España 31

Federico Toledo

R&D, Socio – Abstracta (Uruguay)

COMPROBANDO Y

REFUTANDO LAS PROMESAS

DE LAS PRUEBAS

AUTOMATIZADAS

Contacto

[email protected]

http://genexus.com/gxtest/

http://www.abstracta.com.uy/

http://blog.abstracta.com.uy

http://gxtest.abstracta.com.uy/wiki

@gxtest

http://www.youtube.com/user/AbstractaLabs

Page 32: VLCtesting 2013 - Comprobando y refutando las promesas del testing automatizado - Federico Toledo

Organiza

Patrocinan

Colaboran