presentacion proceso de testing funcional independiente

Upload: arielinho987

Post on 07-Jul-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    1/45

    PEDECIBA informática Instituto de Computación (InCo)

    Facultad de Ingeniería Universidad de la República.

    Montevideo, Uruguay 

    Proceso de Testing FuncionalIndependienteTesis de Maestría en Informática

    Beatriz Pérez Lamancha

    Setiembre 2006

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    2/45

    Tesis de Maestría en Informática 2

    Temario Centro de Ensayos de Software

    Contribuciones Proceso de Testing Funcional

    • Principales características

    • Roles• Etapas

    Caso de Estudio

    Ajustes realizados Conclusiones

    Trabajo a Futuro

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    3/45

    Tesis de Maestría en Informática 3

    Centro de Ensayos de Software Financiado por la Unión Europea, parte del proyecto proyecto

    “Desarrollo tecnológico en sectores clave de la economía uruguaya”

    Laboratorios

    • Testing Funcional

    • Ensayos de Plataformas

    Servicios

    • Prueba independiente de productos de software

    • Consultoría

    Mejora de los procesos de prueba

    Colaborar en la creación y consolidación del àrea de prueba

    • Capacitación Motivación

    • Definición de procesos y procedimientos

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    4/45

    Tesis de Maestría en Informática 4

    Contribuciones Estudio del estado del arte sobre

    • Pruebas de software• Proceso de pruebas de software

    ProTest

    • Definición proceso para pruebas funcionalesindependientes

    • Validación y ajuste mediante caso de estudio

    • Usado en el Laboratorio de Testing Funcional del CES DeVeloPro

    • Herramienta para la documentación y administración deprocesos

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    5/45

    Tesis de Maestría en Informática 5

    Definiciones* Testing

    • Verificación dinámica del comportamiento de unprograma usando un conjunto finito de casos de prueba,seleccionados desde el dominio infinito de ejecución,contra el comportamiento esperado.

    • La verificación dinámica implica que para realizar laspruebas siempre hay que ejecutar el programa para losdatos de entrada

    Testing Funcional• Validar si el comportamiento observado del

    software probado cumple o no con sus especificaciones.

    * SWEBOK - IEEE's Software Engineering Body of Knowledge

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    6/45

    Tesis de Maestría en Informática 6

    Proceso de Testing Funcional Principales características

    • Independiente del proceso de desarrollo• Testing funcional de productos

    Desde su comienzo

    En etapas avanzadas de desarrolloMantenimiento

    • Testing basado en los riesgos del producto

    • Guiado por los Ciclos de Prueba• Pruebas a partir de los Requerimientos

    Adaptado a cada proyecto de prueba

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    7/45

    Tesis de Maestría en Informática 7

    Testing basado en los riesgos del

    producto No es posible probar todo

    • ¿qué probar? Identificar junto al cliente las funcionalidades que:

    • presenten mayor riesgo para el negocio en caso de no funcionarcorrectamente

    Identificar junto a los desarrolladores lasfuncionalidades que:• es mas probable que tengan defectos.

    • son mas complejas de desarrollar

    Priorizar las funcionalidades que serán verificadas

    Identificar las funcionalidades que no serán verificadas

    y el riesgo asociado

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    8/45

    Tesis de Maestría en Informática 8

    Guiado por los Ciclos de Prueba Cada ciclo de prueba está asociado a una

    versión ejecutable del producto a probar Cada nuevo ciclo de prueba implica una nueva

    versión de uno o más componentes del sistema

    En un ciclo de prueba se puede ejecutar una,alguna o todas las pruebas planificadas para elproducto.

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    9/45

    Tesis de Maestría en Informática 9

    Pruebas basadas en los

    Requerimientos Decidir si la salida observada al ejecutar el programa

    es la salida esperada. Los requerimientos son analizados y catalogados en el

    Inventario de Pruebas

    Si no es posible realizar el diseño de las pruebas apartir de los requerimientos

    • se trabaja junto con desarrolladores y cliente en mejorarlos requerimientos existentes

    • Se explora versiones anteriores del producto

    Estudio incremental de los requerimientos en cadaciclo

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    10/45

    Tesis de Maestría en Informática 10

    Etapas del Proceso de Testing

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    11/45

    Tesis de Maestría en Informática 11

    Roles Equipo de testing:

    • Líder del Proyecto de TestingDirige el proyecto de testing.

    • Diseñador

    Diseña los casos de prueba

    • Tester

    Ejecuta los casos de prueba y reporta los resultados

    Cliente• Quien desarrolla el producto

    • Quien compra el producto

    Desarrollador (Contraparte técnica)

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    12/45

    Tesis de Maestría en Informática 12

    Estudio Preliminar Objetivo: Definir alcance y cronograma para las

    pruebas Cliente, Líder de Proyecto

    Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    13/45

    Tesis de Maestría en Informática 13

    Estudio Preliminar

    Salidas:• Propuesta de Servicio

    Alcance de las Pruebas

    Agenda

    Cotización

    Acuerdo deConfidencialidad

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    14/45

    Tesis de Maestría en Informática 14

    Planificación

    Objetivo: Planificar el proyecto de prueba

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    15/45

    Tesis de Maestría en Informática 15

    Planificación

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    16/45

    Tesis de Maestría en Informática 16

    Planificación

    Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    17/45

    Tesis de Maestría en Informática 17

    P8 - Definición del Proceso deIncidentes Un incidente puede ser:

    • un defecto del producto• una mejora a realizar

    • o una observación

    El sistema de seguimiento de incidentespermite al equipo de testing:• reportar

    • administrar• analizar los incidentes reportados

    • y la tendencia de los mismos en cada ciclo de prueba

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    18/45

    Tesis de Maestría en Informática 18

    Ciclos de Prueba

    Objetivo: Generar y ejecutar las pruebas

    planificadas para el ciclo

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    19/45

    Tesis de Maestría en Informática 19

    Seguimiento del Ciclo

    Objetivo: Planificación, seguimiento ycontrol del ciclo

    Cliente, Líder de Proyecto

    Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    20/45

    Tesis de Maestría en Informática 20

    Seguimiento del Ciclo

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    21/45

    Tesis de Maestría en Informática 21

    Configuración del Entorno

    Objetivo: Configurar el ambiente de pruebas,separando los ambientes de desarrollo y testing

    Actividades y Entregables

    Entorno de trabajo

    • en el cliente• en el laboratorio del CES

    • en laboratorios asociados

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    22/45

    Tesis de Maestría en Informática 22

    Diseño de las Pruebas

    Objetivo: Diseñar los casos de prueba a partirde la especificación del producto

    Cliente, Desarrollador, Diseñadores

    Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    23/45

    Tesis de Maestría en Informática 23

    Diseño de las Pruebas

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    24/45

    Tesis de Maestría en Informática 24

    D1 - Diseño de los casos deprueba

    Técnicas de Caja Negra Incluye:

    • Diseñar las pruebas

    • Identificar los datos de prueba

    • Matriz de trazabilidad

    Conocer qué casos de prueba cubren qué elementosde prueba

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    25/45

    Tesis de Maestría en Informática 25

    Ejecución de las Pruebas

    Objetivo: Contrastar el comportamiento esperadodel producto con su comportamiento real

    Tester, Cliente, Desarrolladores Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    26/45

    Tesis de Maestría en Informática 26

    Ejecución de las Pruebas

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    27/45

    Tesis de Maestría en Informática 27

    Evaluación Objetivo: Evaluar y archivar el proyecto de

    prueba Actividades y Entregables

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    28/45

    Tesis de Maestría en Informática 28

    Evaluación

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    29/45

    Tesis de Maestría en Informática 29

    Caso de Estudio Aplicación de Gestión

    • Lleva varios años en producción

    • Existían dos versiones de la aplicación en clientes distintos• Unificación en una sola versión

    Cliente es el gerente de desarrollo

    Documentación

    • Manual de usuario sin actualizar

    Estudio Preliminar

    • 3 reuniones con el cliente

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    30/45

    Tesis de Maestría en Informática 30

    Etapa: Planificación Plan de Pruebas

    Alcance para los Ciclos

    Proceso de Incidentes

    • Bugzilla

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    31/45

    Tesis de Maestría en Informática 31

    Etapa: Ciclo de Prueba 1 S1 – Planificación del

    Ciclo

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    32/45

    Tesis de Maestría en Informática 32

    Etapa: Ciclo de Prueba 1 Principales desviaciones

    • P2 – Revisión de Requerimientos, D1-Diseño

    de las pruebas y D2 – Validación de losCasos de Prueba llevaron dos semanas más

    • E2 – Ejecución de las Pruebas, E3-TestingExploratorio y E4-Reporte de Incidentes

    llevaron una semana más de lo planificado

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    33/45

    Tesis de Maestría en Informática 33

    Etapa: Ciclo de Prueba 2 Atraso en la nueva versión

    • 2 semanas para comenzar el Diseño• 5 semanas para comenzar la Ejecución

    La nueva versión unifica dos versiones existentes de

    la aplicación S1 – Planificación del Ciclo

    • Pruebas de regresión: Ejecutar 42 casos de prueba

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    34/45

    Tesis de Maestría en Informática 34

    Etapa: Ciclo de Prueba 2

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    35/45

    Tesis de Maestría en Informática 35

    Etapa: Evaluación Encuesta de satisfacción del cliente

    Evaluación del Proyecto e Informe FinalFuncionalidades , Casos e Incidentes

    188 8

    34

    106

    5742

    205

    3825

    16

    79

    Ciclo 1 Ciclo 2 Regresión Total

    Cant. Funcionalidades Cant. Casos de Prueba Cant. Incidentes

    Cantidad Incidentes por Tipo

    107

    3

    20

    7

    12 13

    20

    1 0

    21

    1

    5

    0

    6

    32

    Ciclo 1 Ciclo 2 Regresión Total

    Funcional - Implementación Incorrecta

    Interfaz de UsuarioMensajes erróneos y Falta de Mensaje.Validación faltante o incorrecta

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    36/45

    Tesis de Maestría en Informática 36

    Etapa : EvaluaciónCantidad Incidentes por Criticidad

    3 3 224

    0

    33

    18

    14

    Ciclo 1 Ciclo 2 Regresión

    Alta Media Baja

    Ciclo 2

    12%

    16%

    72%

    Ciclo 2

    12%

    16%

    72%

    Ciclo 2 - Regr es ión

    13%

    0%

    87%

    Alta

    Media

    Baja

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    37/45

    Tesis de Maestría en Informática 37

    Conclusiones ProTest permitió realizar un proyecto de prueba

    que resultó de valor para quién contrató elservicio

    • Las características del proceso resultaron unaguía útil

    Aspectos positivos de comunicación

    • Colaboración del cliente para priorizar y validar

    • Plan de Pruebas• Informes de Avance

    • Sistema de seguimiento de incidentes web

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    38/45

    Tesis de Maestría en Informática 38

     Ajustes Realizados Planificación

    • Mejora en las mediciones para mejorar lasestimaciones

    Se agregan elementos PSP

    Mejoras en la forma en como se reporta el esfuerzoTiempo de ejecución de las pruebas para mejorar

    planificación de pruebas de regresión

    Mejoras en las mediciones realizadas

    Cambios en nombre de actividades y momento

    en que se realizaban

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    39/45

    Tesis de Maestría en Informática 39

    Mediciones usadas

    D t ió Ad i i t ió d

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    40/45

    Tesis de Maestría en Informática 40

    Documentación y Administración de

    ProTest La documentación del Proceso debe estar:

    • Disponible a todos los miembros de la organización

    • En un formato imprimible

    Herramienta DeVeloPro

    • Se definieron los requerimientos que debía cumplir

    • Seguimiento de su desarrollo cumpliendo el rol decliente

    • Validación de los distintos prototipos

    • Un grupo de estudiantes de PIS desarrolló estaherramienta

    El sitio web de ProTest fue generado automáticamentecon la herramienta DeVeloPro

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    41/45

    Tesis de Maestría en Informática 41

    DeVeloPro

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    42/45

    Tesis de Maestría en Informática 42

    Documentación de ProTest

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    43/45

    Tesis de Maestría en Informática 43

    Conclusiones ProTest modela las etapas de un proyecto de

    pruebas• Guía útil para el equipo de prueba

    • Usado actualmente en el Laboratorio de Testing

    Funcional del CES• Documentado con DeVeloPro

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    44/45

    Tesis de Maestría en Informática 44

    Trabajo a Futuro

    Probarlo en un contexto donde el cliente sea quiencompra el producto

    Definir un proceso común a ambos laboratorios del CES.

    Contar con datos históricos resultado de las medicionesintroducidas para realizar las actividades de ProTest

    • A partir de estos datos se espera mejorar las estimaciones

    Extender ProTest para la automatización de pruebasfuncionales

    Instrumentación del Proceso• Uso de herramientas que ayuden en todo el proceso de

    pruebas

  • 8/18/2019 Presentacion Proceso de Testing Funcional Independiente

    45/45

    PEDECIBA informática Instituto de Computación (InCo)

    Facultad de Ingeniería 

    Universidad de la República.Montevideo, Uruguay 

    Gracias por su atención

    ¿Preguntas?