Continuous testing

Post on 21-Jun-2015

267 views 2 download

Transcript of Continuous testing

ALM Day 2013

Continuous Testing Victor H. Passador

ALM Specialist

VEMN S.A.

vpassador@vemn.com.ar

@vpassador

Agenda

La problemática actual

Algunos números que asustan

¿Qué podemos hacer?

Algunos consejos

El testing como un cuello de botella Testing no alineado a la metodología ágil termina en cascada

Bugs que se corrigen en minutos u horas pero se implementan en días o semanas

El feedback de los testers es tan lento que se termina codificando encima de los bugs

Re-verificación tediosa de las mismas pruebas, una y otra vez

Las pruebas manuales son propensas a errores

Algunos números

Team A

100% manual

• 1000 casos

• 10 min setup

• 10 min/caso

• 5 testers

• = 2010 minutos

• = 4 días !!

Team B

50% automatizado

• 500 casos autom.

• 3 horas ejec.

• = 1200 minutos

• = 2.5 días

Team C

+ automatización

+ hardware

• 800 casos autom.

• 100 no se puede

• 100 nuevos feat.

• 20 minutos ejec.

• = 440 minutos

• = 1 día !!

Más números

0

20000

40000

60000

80000

100000

120000

Costo

Team A Team B Team C

Cálculo considerando un valor de $ 50/hora

¿Qué podemos hacer?

Proceso ordenado y alineado de testing re

leas

e p

lan

nin

g Establecer la estrategia de testing

Definir el “done, done”

Establecer entornos

Crear planes

Generar datos de prueba

iteraciones

inicio construcción release

rele

ase

iter

atio

n

Testeo de regresión

Testeo de “completitud”

iter

atio

n p

lan

nin

g Agregar historias al plan

Definir aceptación

Seleccionar tests de regresión

iter

atio

n e

xecu

tio

n

Escribir los test

Correrlos

Documentar bugs

Verificar bug fixes

Automatizar tests

iter

atio

n r

etro

spec

tive

Actualizar el master plan

Identificar las debilidades del producto

Seleccionar tests para automatiza-ción

Team Project

Work Items

Source Code

Automated Builds

Test Plan(s)

Start & End Dates

Test Configuration

(Manual & Automated)

Test Suite(s)

Requirement

Stand-alone suite

Test Case(s)

Steps

Test Data

Parameters

Automation Status

State

Anatomía de un Test Plan en TFS

Trazabilidad en TFS

Desarrollo

Builds

Changesets

Automated Tests

Project Management

Requirements

Tasks

QA

Test Plan

Test Suite

Test Case

¿Qué más podemos hacer?

• Pruebas unitarias, TDD, pruebas de stress y performance

Automatizar en etapas tempranas

• MTM, CUIT

Automatizar en pruebas funcionales

• Lab Management

Automatizar en laboratorios virtuales

iteración 1

feature a feature a

iteración 2 iteración de

release

feature b feature c feature d

testing unitario

testing manual

testing de regresión

testing de performance

Estrategia de Automatización

Demo

Algunos consejos

En el Desarrollo

Desacoplar código usando Inyección de Dependencias

Escribir tests unitarios (y mantenerlos!)

Incorporar técnicas (y/o frameworks) de Mocking

Incorporar TDD

En lo Funcional

Utilizar herramientas integradas al proceso de desarrollo (como MTM)

Automatizar pruebas funcionales (con herramientas como MTM)

Generar bugs “ricos” (como los que genera MTM)

Incorporar labs virtuales (con Lab Management)

Lab environment

¿Por dónde atacamos?

¿Preguntas?

¡Muchas gracias!

TE +54 11 4623-2582 (rot.) email info@vemn.com.ar web http://www.vemn.com.ar

Victor H. Passador

ALM Specialist

VEMN S.A.

vpassador@vemn.com.ar

@vpassador

Tel +54 11 4623-2582 | Email info@vemn.com.ar | Web http://www.vemn.com.ar