Más contenido relacionado La actualidad más candente (20) Similar a Test Factory Implementation V 1 3 (2) (20) Test Factory Implementation V 1 3 (2)1. Implementación de la Test Factory en el
Centre of Excelence of Zurich
Por Javier Fernández-Pello Alvargonzález & Raúl Alares
2. 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
© Zurich - 20/04/2009 2
3. Introducción
Definició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.
© Zurich - 20/04/2009 3
4. Introducción
Preguntas generales
Test no prioritario
para los equipos de
desarrollo
Baja competencia
¿Dónde? proveedores
Entornos Críticos
Falta de interés en
el test
Transparencia
Especialistas en
desarrollo
Falta conocimiento Objetividad
de test ¿Quién?
¿Por qué?
Eficiencia
Falta conocimiento Especialistas en
funcional test Profundidad del
Test
Test Factory
Compatibilidad
Equipo Propio
Automatización
On Site
Rendimiento
¿Cómo? ¿Cuándo?
Equipo Preparación UAT
Near Shore Subcontratado
Sistema
Off Shore
Integración
© Zurich -
5. Introducción
Onsite, Nearshore & Offshore testing
OUTSOURCING
En la empresa del cliente
Las pruebas se llevan a
cabo en la empresa
cliente
NEARSHORE
Las pruebas se llevan a cabo
en un lugar cercano a la
empresa cliente.
OFFSHORE
Las pruebas se llevan a cabo
en un lugar lejano a la
empresa cliente.
© Zurich - 20/04/2009 5
6. 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, integration
y 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.
© Zurich -
7. Introducción
¿Por qué Test Factory en 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 test
cases y los defectos encontrados
Revisión de la calidad de la corrección de los defects
durante 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
© Zurich -
8. Introducción
¿Por qué Test Factory en 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.
© Zurich -
9. Introducción
Pilares del éxito
Tres pilares básicos
• Espónsor, Agustín Flores:
Ha creído siempre en la Test Test Factory
Factory como modelo.
Es el máximo apoyo que tenemos
dentro de la organización.
• Personas del equipo de Zurich:
Equipo altamente cualificado en
Personas Espónsor:
Estructura
áreas complementarias. del equipo Agustín
Gran conocimiento teórico sobre del equipo
pruebas. Zurich Flores
Certificados ISTQB
• Estructura:
Estructura simétrica en Zurich y los
proveedores
Equipo fijo dentro de los diferentes Zurich
proveedores que tiene un
conocimiento alto de la aplicación. Centre Of Excelence
© Zurich -
10. Implementación de la Test Factory
Visión general
• Test Factory es una entidad independiente de validaciàon y verificaciàon
que se ha puesto en marcha en el CoE de Zurich.
• Ha de realizar las pruebas para todos las versiones del producto
independiente de la empresa que lo haya desarrollado.
Applications
Test Factory
Request Testing Services
Test Factory Governance Release x
Deliver Testing Estimates
.
Processes Approach Approved Estimates
.
Commence Delivery
Metrics and Measurements .
Sign-off And Feedback
Best Practices Release X+1
11. Implementación de la Test Factory
Organización del equipo
• Un equipo Zurich Onsite y un
equipo subcontratado Offshore. Vendor Core Team (FIXED TEAM) Zurich Team - ONSITE
OFFSHORE Test Factory Lead
• “Equipo fijo” por ambas partes. (Zurich)
Trabaja continuamente en las
actividades de test a través de los Test Managers / vendor Onsite
diferentes releases y proyectos. Test Managers (Vendor) (Zurich)
• Dependiendo de la carga de Test Leads (Vendor)
Test Leads / Vendor Onsite
trabajo tanto de releases como de (Zurich/Vendor)
proyectos se puede aumentar o
disminuir el equipo bajo demanda-
Tester (Vendor) Tester (Vendor) Tester (Vendor) Tool Expert (vendor)
• Los miembros del equipo de test
están tanto en Barcelona como 1
offshore.
2
• La Test Factory proporciona
Vendor´s Variable Team Pool
servicios de test tanto a los
releases como a proyectos
independientes e informa tanto al Test Lead Domain Consultan Tester
responsable de la Test Factory
como a los responsables de los
proyectos.
Legend
Team Ramp Down
Team Ramp Up
Event Sequence
© Zurich -
12. Implementación de la Test Factory
Zurich 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 test
e 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.
© Zurich -
13. Implementación de la Test Factory
Implementació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
© Zurich - 20/04/2009 13
14. Implementación de la Test Factory
Implementació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.
Processes
Metrics
© Zurich - 20/04/2009 14
15. Implementación de la Test Factory
Vista general del ciclo de vida de pruebas
Traceablility
Matrix
Test Plan Test Case
Document Test Document
Case Test Cases
Test Design
Planning Test
R
Data
Design R
Test Strategy
Document
Weekly
Test
Progress Report
Strategy
Test Test
Correct
Execu-
Management Defets
tion
(Framework)
Study
R Review Point
Require- Defect Reports
R
ment
Test Process
Test Summary
Analysis
Test Deliverables Reports
& Report
R Analysis
Approach Retrospective Reports
Business Meeting
Planning Requirements
Type of Test
Preparation
Functional
Execution Designs
Close
Inputs
© Zurich - 20/04/2009 15
16. Implementación de la Test Factory
La 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.
© Zurich - 20/04/2009 16
17. Implementación de la Test Factory
El cuadro final
Testing Framework: Un enfoque de test básico
Testing Framework: A basic testing approach
Processes
Metrics
© Zurich - 20/04/2009 17
18. Test Factory
Pros
• Corto plazo: • Medio plazo:
- Reduce los costes del test. - Reduce los costes del test.
- Incrementando las
- Decrementando el
actividades de test: presupuesto
- Aumenta el número de
test cases • Largo plazo:
- Incrementa el número de - Decrementa el número de
ejecuciones regresiones
- Reduce los defectos en UAT - Reduce el número de defectos
- Minimiza el riesgo. en producción
- Test formal
- Incrementa la cobertura
- Información transparente
- Ejecución objetiva
- Pruebas de regresión
formales y estructuradas
- Ejecución de los sanity test
© Zurich -
19. Test Factory
Contras
• 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 en
tet. 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”.
© Zurich -
20. Test Factory
Lecciones aprendidas
Lección Causa
Debe respetarse el criterio de entrada Sensibilidad a la inestabilidad del
a IST código
Automatización debe priorizar smoke y Alto número de ejecuciones y base de
sanity test la regresión de futuras releases
Visibilidad del test realizado en etapas Sensibilidad a la inestabilidad del
previas. código
Plan de proyecto claro desde el Sensibilidad a cambios grandes en el
principio plan
Cambios en el alcance deben ser Sensibilidad a los cambios de último
comunicados ASAP minuto.
Plan de comunicación claro TF no solo tiene que ser objetiva, tiene
que parecerlo.
© Zurich -
21. ¿Preguntas?
Contacta con nosotros
• Email: javier.fernandez-pello@zurich.com & raul.alares@zurich.com
• Personal Website: http://www.softqanetwork.com
© Zurich - 20/04/2009 21