Upload
la-salle-bcn
View
2.049
Download
3
Tags:
Embed Size (px)
Citation preview
Implementación de la Test Factory en el Centre of Excelence of Zurich
Por Javier Fernández-Pello Alvargonzález & Raúl Alares
© 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
© 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.
© 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
© 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.
© 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.
© 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?
© 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?
© 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.
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
© 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)
© 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.
© 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
© 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
© 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
© 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.
© 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
© 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
© 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”.
© 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
© Zurich - 2120/04/2009
¿Preguntas?
Contacta con nosotros• Email: [email protected] & [email protected]• Personal Website: http://www.softqanetwork.com