test factory implementation v 1 3 (2)

21
Implementación de la Test Factory en el Centre of Excelence of Zurich Por Javier Fernández-Pello Alvargonzález & Raúl Alares

Upload: la-salle-bcn

Post on 14-Jun-2015

2.048 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Test Factory Implementation V 1 3 (2)

Implementación de la Test Factory en el Centre of Excelence of Zurich

Por Javier Fernández-Pello Alvargonzález & Raúl Alares

Page 2: Test Factory Implementation V 1 3 (2)

© Zurich - 220/04/2009

Agenda

• Introduction� Definición de la Test Factory

� Preguntas generales

� Test en Onsite, Nearshore & Offshore

� ¿Por qué una Test Factory en Zurich?

� Pilares del éxito

• Implementación Test Factory� Visión general

� Organización del equipo

� Zurich Roles & Responsibilities

� Implementación del Testing Framework

� Vista general del ciclo de vida de pruebas

• Test Factory Model� Implementación del Test Framework

� Vista general del ciclo de vida de pruebas

� La herramienta de Test Management

� El cuadro final

• Test Factory� Pros

� Contras

� Lecciones aprendidas

Page 3: Test Factory Implementation V 1 3 (2)

© Zurich - 320/04/2009

IntroducciónDefinición de la Test Factory

• Una Test Facgtory proporciona servicios de test que desarrollan las actividades necesarias para cumplir con los requerimientos del cliente.

• Servicios tales como:

• Test management a través del ciclo de vida del software.

• Pruebas funcionales.

• Pruebas de regresión.

• Preparación de pruebas automatizadas.

• Pruebas de carga y rendimiento …

• Test Factory proporciona una plataforma y un marco estándares para dar servicios de test a los clientes, ya sean internos o externos y permite una rápida respuesta a los requerimientos de estos.

Page 4: Test Factory Implementation V 1 3 (2)

© Zurich -

IntroducciónPreguntas generales

Test Factory

¿Dónde?

¿Cuándo?

¿Por qué?

¿Quién?

¿Cómo?

Entornos Críticos

Baja competencia

proveedores

Test no prioritario

para los equipos de

desarrollo

Transparencia

Objetividad

Eficiencia

Profundidad del

Test

Especialistas en

test

Especialistas en

desarrollo

Falta conocimiento

funcional

Falta conocimiento

de test

Falta de interés en

el test

Integración

Sistema

Preparación UAT

Rendimiento

Automatización

CompatibilidadEquipo Propio

Equipo

Subcontratado

On Site

Near Shore

Off Shore

Page 5: Test Factory Implementation V 1 3 (2)

© Zurich - 520/04/2009

OFFSHORE

NEARSHORE

OUTSOURCING

Las pruebas se llevan a cabo en un lugar cercano a la

empresa cliente.

IntroducciónOnsite, Nearshore & Offshore testing

En la empresa del cliente

Las pruebas se llevan a cabo en la empresa

cliente

Las pruebas se llevan a cabo en un lugar lejano a la

empresa cliente.

Page 6: Test Factory Implementation V 1 3 (2)

© Zurich -

Introducción¿Por qué Test Factory en Zurich?

• Permite a Zurich foclizarse en su negocio de base:� La mayoría de las pruebas se realizan

offshore pero se controlan totalmente desde Barcelona.

� Controladas por un equipo especializado.

• Permite realizar diferentes actividades de test:� Test Factory es transversal a los diferentes

proyectos.� Ejecuta las pruebas en diferentes entornos

y fases del proyecto (Assembly, integrationy pre-production)

� Realiza pruebas manuales, automatizadas y de rendimiento.

• Controla las actividades de prueba:� Los responsables de Zurich en Barcelona

controlan todas las pruebas.� Es independiente de los equipos de

desarrollo.� Planifica informes y reuniones de progreso

regulares para garantizar la transparencia de las pruebas realizadas.

Page 7: Test Factory Implementation V 1 3 (2)

© Zurich -

• Los procesos son implementados por Zurich y seguidos por los proveedores:� Testing Framework� Guías de preparación� Documentos de apoyo

• Mejora de la calidad:� Revisión de la calidad de test durante todas las fases

gracias al cálculo de diferentes métricas sobre los testcases y los defectos encontrados

� Revisión de la calidad de la corrección de los defectsdurante todas las fases gracias al cálculo de diferentes métricas sobre el ciclo de vida de los defectos encontrados

• Disponibilidad de recursos bajo demanda:� Se puede aumentar o disminuir el número de personas

para realizar las pruebas adaptando su número a las necesidades especificas del proyecto.

� Los testers más cualificados se comparten entre diferentes proyectos y son formados permanentemente.

• Comunicación centralizada:� La comunicación entre el equipo de pruebas y el de

desarrollo se realiza a través de una herramienta de test management.

� El progreso en la preparación y ejecución de los test es fácilmente controlable a través de la herramienta mencionada anteriormente

Introducción¿Por qué Test Factory en Zurich?

Page 8: Test Factory Implementation V 1 3 (2)

© Zurich -

• Control de los costes:� Se puede decidir el coste onsite y

offshore de forma que podamos adaptar dicho cose a los riesgos y el presupuesto del proyecto.

� Se puede reducir el coste del producto a lo largo de su ciclo de vida.

• Mitigación del riesgo:� La documentación queda centraliza en

“casa”� Se pueden satisfacer planes muy

ajustados.� Se puede disminuir el time-to-market� Incremento de la satisfacción del cliente

con la aplicación.

Introducción¿Por qué Test Factory en Zurich?

Page 9: Test Factory Implementation V 1 3 (2)

© Zurich -

ZurichCentre Of Excelence

IntroducciónPilares del éxito

Test Factory

Espónsor:Agustín Flores

Personas del equipo

Zurich

Estructura del equipo

Tres pilares básicos• Espónsor, Agustín Flores:

� Ha creído siempre en la TestFactory como modelo.

� Es el máximo apoyo que tenemos dentro de la organización.

• Personas del equipo de Zurich:� Equipo altamente cualificado en

áreas complementarias.� Gran conocimiento teórico sobre

pruebas.� Certificados ISTQB

• Estructura:� Estructura simétrica en Zurich y los

proveedores� Equipo fijo dentro de los diferentes

proveedores que tiene un conocimiento alto de la aplicación.

Page 10: Test Factory Implementation V 1 3 (2)

Test Factory

Request Testing Services

Deliver Testing Estimates

Commence Delivery

Release x

Release X+1

Applications

Sign-off And Feedback

Metrics and Measurements

Best Practices

Test Factory Governance

Processes Approach Approved Estimates

.

.

.

• Test Factory es una entidad independiente de validaciàon y verificaciàonque se ha puesto en marcha en el CoE de Zurich.

• Ha de realizar las pruebas para todos las versiones del productoindependiente de la empresa que lo haya desarrollado.

Implementación de la Test FactoryVisión general

Page 11: Test Factory Implementation V 1 3 (2)

© Zurich -

Implementación de la Test FactoryOrganización del equipo

• Un equipo Zurich Onsite y un equipo subcontratado Offshore.

• “Equipo fijo” por ambas partes. Trabaja continuamente en las actividades de test a través de los diferentes releases y proyectos.

• Dependiendo de la carga de trabajo tanto de releases como de proyectos se puede aumentar o disminuir el equipo bajo demanda-

• Los miembros del equipo de testestán tanto en Barcelona como offshore.

• La Test Factory proporciona servicios de test tanto a los releases como a proyectos independientes e informa tanto al responsable de la Test Factorycomo a los responsables de los proyectos.

Legend

Team Ramp Down

Team Ramp Up

Event Sequence

2

Vendor´s Variable Team Pool

Test Lead Domain Consultan Tester

1

Test Managers (Vendor)

Tester (Vendor)

Vendor Core Team (FIXED TEAM)

OFFSHORE

Tester (Vendor)

Test Leads (Vendor)

Tester (Vendor) Tool Expert (vendor)

Test Factory Lead(Zurich)

Test Leads / Vendor Onsite(Zurich/Vendor)

Zurich Team - ONSITE

Test Managers / vendor Onsite(Zurich)

Page 12: Test Factory Implementation V 1 3 (2)

© Zurich -

Implementación de la Test FactoryZurich Roles & Responsibilities

• Proporciona soporte al equipo externo durante las fases de análisis, diseño y preparación de las pruebas. Coordina las tareas y la distribución de trabajo para alcanzar los niveles de servicio requeridos en su área

• Valida el alcance del plan de test y los escenarios de prueba.

• Diseña los criterios de salida para el área funcional. Tiene y mantiene el conocimiento de los procesos de negocio para asegurar que la aplicación esta acorde con los requerimientos funcionales y de calidad. Asegura junto al test manager que se alcanzan los criterios de aceptación de las pruebas.

• Sigue e informa acerca de la ejecución del plan de test. Analiza los resultados de los teste identifica las áreas de mejora.

• Proporciona apoyo en el uso de las herramientas de test, el desarrollo de los escenarios de test y de los casos de test.

• Participa en el análisis y desarrollo de los procesos, metodologías y estándares, ya sean nuevos o revisados.

• Desarrolla, documenta, ejecuta y mantiene casos de test y datos.

• Desarrolla planes de prueba, incluyendo escenarios de test y participa en la definición de las métricas de test.

Page 13: Test Factory Implementation V 1 3 (2)

© Zurich - 1320/04/2009

Implementación de la Test FactoryImplementación del Testing Framework

• ¿Qué es el Testing Framework? “Un framework es un conjunto de métodos, herramientas y objetos usados para resolver problemas complejos.”

• Puede haber diferentes tipos de frameworks o pueden ser usados para diferentes propósitos.

• Un testing framework proporciona un esquema que organiza las actividades de test en unidades lógicas para ayudar al control de las pruebas e integrar las pruebas en el ciclo de vida de la aplicación.

• ¿Por qué necesitamos un Testing Framework?- Un Testing framework proporciona un enfoque completo para

implementar las actividades de test.- Es necesario proporcionar un enfoque flexible, escalable y eficiente para

todas las necesidades de test, ya sean funcionales o no funcionales.- Aumentar la probabilidad del exito de un proyecto a largo término.- Las actividades de test resultan mucho más fáciles de manejar.- Repetitibidad

Page 14: Test Factory Implementation V 1 3 (2)

© Zurich - 1420/04/2009

Implementación de la Test FactoryImplementación del Testing Framework

• Identifica los objetivos del negocio.• Analiza cuantas personas se necesitan para llegar a esos objetivos. (Roles)• Define las actividades de test que se desea hacer y se selecciona el equipo

más apropiado basándose en esas actividades. (Testing Activities)• Comienza definiendo el ciclo de vida que se quiere implementar en la

organización.• Define los procesos de test que hay que implementar.• Define que medir y como medirlo. (Metrics)• Selecciona la herramienta más adecuada para asegurar las actividades de

test.

Metrics

Processes

Page 15: Test Factory Implementation V 1 3 (2)

© Zurich - 1520/04/2009

Implementación de la Test FactoryVista general del ciclo de vida de pruebas

TestManagement(Framework)

Study Require-

ment

Test Strategy

Test Planning

Test Case

Design

Test Execu-

tion

Analysis & Report

R

R

R

Test Strategy Document

Test Plan Document

Traceablility Matrix

Test Cases

Test Case Document

Defect Reports

Analysis Reports

Test Summary Reports

Business Requirements

Type of Test

Weekly Progress Report

Correct Defets

Functional Designs

Test Data

Design

Retrospective Meeting

R

R Review Point

Test Process

Test Deliverables

Approach

Planning

Inputs

Execution

Preparation

Close

Page 16: Test Factory Implementation V 1 3 (2)

© Zurich - 1620/04/2009

Implementación de la Test FactoryLa herramienta de Test Management

• Permite centralizar todas las actividades de test.

• Permite seguir la cobertura de los test.• Ayuda en la medida del progreso y

eficiencia de las actividades de test.• Permite el acceso a los conjuntos de test

desde cualquier lugar y a cualquier hora.• Permite controlar pruebas manuales y

automatizadas.• En el caso de pruebas automatizadas

acelera las pruebas pudiendo ser programadas 24x7.

• Permite analizar el proceso de prueba con gráficos e informes.

• Tiene una gran facilidad de uso.• Integra su propio sistema de seguimiento.

Page 17: Test Factory Implementation V 1 3 (2)

© Zurich - 1720/04/2009

Implementación de la Test FactoryEl cuadro final

Testing Framework:A basic testing approach

Metrics

Processes

Testing Framework: Un enfoque de test básico

Page 18: Test Factory Implementation V 1 3 (2)

© Zurich -

Test FactoryPros

• Corto plazo:

- Reduce los costes del test.

- Incrementando las actividades de test:

- Aumenta el número de test cases

- Incrementa el número de ejecuciones

- Reduce los defectos en UAT

- Minimiza el riesgo.

- Test formal

- Incrementa la cobertura

- Información transparente

- Ejecución objetiva

- Pruebas de regresión formales y estructuradas

- Ejecución de los sanity test

• Medio plazo:

- Reduce los costes del test.- Decrementando el

presupuesto

• Largo plazo:- Decrementa el número de

regresiones

- Reduce el número de defectos en producción

Page 19: Test Factory Implementation V 1 3 (2)

© Zurich -

Test FactoryContras

• Debido al modelo Offshore- Problemas culturales- Comunicación- Horarios- Control de las personas que están trabajando

• Sensible a los cambios de plan en el último minuto.• Sensible a los cambios de alcance en el último minuto.• Adquisición del conocimiento larga y cara

- Especialistas funcionales: Necesitan adquirir el conocimiento entet. Normalmente no están muy motivados para ello.

- Especialistas en Test: Necesitan adquirir el conocimiento funcional, normalmente largo y caro, especialmente en el modelo offshore.

• Relación con los equipos de desarrollo.- TF no solo tiene que ser objetiva, tiene que parecerlo.- En la TF somos siempre los “chicos malos”.

Page 20: Test Factory Implementation V 1 3 (2)

© Zurich -

Test FactoryLecciones aprendidas

Sensibilidad a los cambios de último minuto.

Cambios en el alcance deben ser comunicados ASAP

TF no solo tiene que ser objetiva, tiene que parecerlo.

Plan de comunicación claro

Sensibilidad a la inestabilidad del código

Visibilidad del test realizado en etapas previas.

Sensibilidad a cambios grandes en el plan

Plan de proyecto claro desde el principio

Sensibilidad a la inestabilidad del código

Debe respetarse el criterio de entrada a IST

Alto número de ejecuciones y base de la regresión de futuras releases

Automatización debe priorizar smoke y sanity test

CausaLección

Page 21: Test Factory Implementation V 1 3 (2)

© Zurich - 2120/04/2009

¿Preguntas?

Contacta con nosotros• Email: [email protected] & [email protected]• Personal Website: http://www.softqanetwork.com