Capacitacitación Tester - QA 1

1,254 views
1,073 views

Published on

Capacitacitación tester qa 1

Published in: Technology

Capacitacitación Tester - QA 1

  1. 1. Capacitación Tester QA Abril, 2011
  2. 2. Objetivo Capacitar al Alumno Comprometido en la metodología de pruebas (Testing) como Tester Profesional, utilizando de la Metodología de Testing del CMMI (Capability Maturity Model Integration); específicamente con el Modelo-V.
  3. 3. Temario Módulo 1 1) Introducción a) Reforzamiento de Requerimientos Básicos 2) Fundamentos a) ¿Por qué son necesarias la Pruebas? b) ¿Qué es el Testing (Pruebas)? c) Principios Generales del Testing (Pruebas) d) Fundamentos del Proceso de Pruebas e) La Psicología del Testing f) Sumario 3) Testing a través del Ciclo de Vida del Software a) Modelos de Desarrollo de Software b) Niveles de Pruebas c) Tipos de Pruebas; los blancos del Testing d) Testing de Mantenimiento e) Sumario 4) Proyecto Práctico 5) Ejecución de Casos de Prueba
  4. 4. Temario cont. Módulo 2 1) Procesos de Negocio a) Definición b) Tipos de Procesos de Negocio c) Identificación y Entendimiento de Procesos de Negocio a) Diagramas de Flujo b) Reglas de Negocio 2) Técnicas Estáticas a) Definición b) Revisiones y el Proceso de Pruebas c) Proceso de Revisión d) Análisis Estático e) Sumario 3) Técnicas de Diseño de Pruebas a) El Proceso de Diseño de Pruebas b) Categorías de las Técnicas de Diseño de Pruebas c) Especificaciones o Técnicas de Caja Negra d) Estructura o Técnicas de Caja Blanca e) Experiencia Basada en Técnicas f) Eligiendo Técnicas de Pruebas g) Sumario 4) Proyecto Práctico a) Análisis de Requerimientos 5) Diseño de Casos de Prueba
  5. 5. Temario cont. Módulo 3 1) Management de Pruebas a) Organización de Pruebas b) Planeación y Estimación de Pruebas c) Monitoreo y Control del Proceso de Pruebas d) Configuración del Management e) Riesgo y Testing f) Management de Incidencias g) Sumario 2) Proyecto Práctico a) Estimación de un Proyecto de Pruebas b) Planeación de un Proyecto de Pruebas c) Seguimiento y Control de un Proyecto de Pruebas
  6. 6. Módulo 1 INTRODUCCIÓN
  7. 7. Introducción Conceptos Básicos  ¿Qué es la Calidad?  ¿Qué es la Mejora Continua?  ¿Qué es el Aseguramiento de la Calidad?  ¿Qué es Software?  ¿Qué es Hardware?
  8. 8. Introducción cont. Calidad ¿Qué es la Calidad del Software? El desarrollo de software basado en estándares con la funcionalidad y rendimiento total que satisfacen los requerimientos del cliente. ¿Qué es la Calidad en las Pruebas? La Calidad proporciona un nivel de confiabilidad (La probabilidad de que el software no causara una falla en el sistema por un tiempo en especifico bajo condiciones especificas.) de que el software cumpla con los requerimientos definidos, que realice las funciones por las cuales fue elaborado y que se van a reducir posibles errores/defectos/fallas.
  9. 9. Introducción cont. “La Calidad no es intangible . El propósito de las Pruebas es hacer visible a la Calidad . Las Pruebas es la medición de la Calidad del Software!” Bill Hetzel
  10. 10. Módulo 1 FUNDAMENTOS
  11. 11. Fundamentos ¿Por qué son necesarias las pruebas?  Aseguramiento de la calidad del producto y de los procesos de desarrollo.  Detección y Reducción de Riesgos.  Detección de incidencias previo a la instalación en producción.  Redución de los costos en la solución de las incidencias productivas.  Evitar acciones legales.  Mejora Continua.
  12. 12. Fundamentos ¿Qué es un Riesgo? “Es un Factor que puede provocar una consecuencia negativa, se puede expresar como el impacto y la probabilidad.” Los equipos de pruebas tienen como objetivo el detectar, reportar y dar seguimiento a los riesgos del proyecto pero no tomar decisiones sobres estos riesgos, los encargados de tomar dichas decisiones son los Clientes.
  13. 13. Fundamentos cont. ¿Qué es un error / defecto / falla?  Error. Una acción humana que produce un resultado incorrecto.  Defecto. Es el resultado de un error en el software:  También conocido como bug.  Si es ejecutada una aplicación con un defecto, puede generar una falla.  Falla. Desviación del componente o sistema en comparación con el resultado esperado.  Falla es un evento; defecto es un estado del software, causado por un error.
  14. 14. Fundamentos cont. ¿Qué es un error/defecto/falla? … Cont. Una persona comete un error ... … Esto crea un defecto en el software ... … Esto puede causar una falla en la operación.
  15. 15. Fundamentos cont. ¿Son posibles la Pruebas Exhaustivas?  Las pruebas exhaustivas des sistemas complejos:  Requieren recursos enormes.  Costosas.  Requieren demasiado tiempo.  No son prácticas.
  16. 16. Fundamentos cont. ¿Por qué no probamos todo? Sistema con 40 pantallas. 5 menús por pantalla. 4 opciones por menú. 10 campos por pantalla. 2 tipos de entrada por campo. 200 posibles valores. Cantidad de escenarios para pruebas exhaustivas: 40 x 5 x 4 x 10 x 2 x 200 = 3,200,000 Si me tardo 1 seg por prueba Si me tardo 10 seg por prueba Si me tardo 1 min por prueba Si me tardo 10 min por prueba = 37.04 días = 52.91 semanas = 6.09 años = 60.88 años
  17. 17. Fundamentos cont. ¿Cuantas pruebas son necesarias? Para decidir que tantas pruebas debemos realizar tomamos en cuenta:  Nivel de Riesgo.  Límites del Proyecto: Tiempo y Presupuesto. Los riesgos se evalúan de acuerdo a:  Nivel de Negocio.  Nivel Técnico.  Nivel del Proyecto.  Nivel de Pruebas.
  18. 18. Fundamentos cont. ¿Cuantas pruebas son necesarias? cont. Como resultado de este análisis de determina que componentes o módulos es inaceptable no probarlos y cuales se justifica no probarlos, así como el tipo de pruebas a ejecutar. Si no aceptamos un riesgo se debe de probar, si aceptamos el riesgo podemos no probarlo. Las pruebas son una actividad de control de riesgos que proporciona retroalimentación a los involucrados para contar con elementos en la toma de decisiones.
  19. 19. Fundamentos cont. Criterios de Salida: “Son el conjunto de condiciones genéricas y específicas, acordadas con las partes interesadas, para permitir que un proceso sea completado oficialmente.” Se utilizan para determinar cuándo las pruebas en cualquier fase del proyecto se han completado. Se definen por : Minuciosidad.- La cobertura de los requisitos. Costo o limitantes de tiempo. Porcentaje de pruebas ejecutadas sin incidencias. Número de fallas restantes.
  20. 20. Fundamentos cont. ¿Qué es el Testing (pruebas)?  “Una Prueba es una operación técnica que consiste en la determinación de una o mas características de un producto, proceso o de un servicio dado, según un procedimiento en especifico.”  “Una Prueba como proceso consiste en todas las actividades del ciclo de vida del proyecto, estáticas y dinámicas, concernientes con la planeación, preparación y evaluación de productos de software y relacionados con los productos de trabajo, para determinar si se satisfacen los requerimientos especificados, para demostrar que cumplen con su propósito y para la detección de defectos.” Hetzel 1998
  21. 21. Fundamentos cont. ¿Qué es el Testing (pruebas)? Cont.  “Cualquier actividad que se lleva a cabo con el objetivo de ayudarnos a evaluar o medir un atributo de nuestro software debe considerarse como una actividad de prueba.”  “Testing es toda actividad dirigida a la evaluación de un atributo o capacidad de un programa o sistema y la determinación de que cumple con sus resultados necesarios.”
  22. 22. Fundamentos cont. Definición Incluye actividades: Planeación y Control. Elección de Condiciones de Pruebas. Diseño de Casos de Prueba. Evaluación de Resultados. Evaluación de Criterios de Salida. Reporte del Proceso de Pruebas y de los sistemas a probar. Cierre de proyectos. Las pruebas también incluyen las revisiones de la documentación (incluyendo el código) y Análisis Estático.
  23. 23. Fundamentos cont. Testing vs Debugging Son diferentes: El testing muestra las fallas causadas por defectos. El debugging identifica la causa del defecto, corrige el defecto y revisa que el defecto ha sido corregido correctamente. El testing asegura que el defecto sea corregido efectivamente. Responsables: Testing = Tester Debugging = Desarrollador
  24. 24. Fundamentos cont. Principios Generales del Testing (Pruebas)  Las pruebas demuestran la existencia de defectos.  Realizar pruebas exhaustivas es imposible.  Involucrar la etapa de pruebas desde el inicio del proyecto.  Asignación de prioridades y severidad a las pruebas y a las incidencias.  Paradoja del Pesticida.  El tipo de pruebas a realizar se basa en la criticidad del proyecto.  La ausencia de errores es una falacia.
  25. 25. Fundamentos cont. Principios Generales del Testing (Pruebas) “La probabilidad de la existencia de más errores en un módulo de un programa es proporcional al número de errores ya encontrados en dicho programa“. "No planee pruebas de esfuerzo bajo el supuesto tácito de que no se encontrarán errores “. "Una buena prueba es la que tiene una alta probabilidad de detectar un error aún no descubierto“. "Una prueba exitosa es aquella que detecta un error, inesperado“.
  26. 26. Fundamentos cont. Principios Generales del Testing (Pruebas) Paradoja del Pesticida: Las pruebas detectan defectos, y los desarrolladores los solucionan. Como insectos estos defectos son eliminados por los desarrolladores, el software mejora. Como el software mejora las pruebas anteriores caducan. Por esto debemos aprender, crear y utilizar nuevas pruebas basadas en nuevas técnicas para detectar nuevos errores. (Mejora Continua). Se le llama la “Paradoja del Pesticida", después del fenómeno de la agricultura, donde los insectos como el gorgojo del algodón construyeron tolerancia a los pesticidas, provocando la necesidad de crear pesticidas cada vez más poderosos. Beizer 1995
  27. 27. Fundamentos cont. Fundamentos del Proceso de Pruebas El proceso fundamental de las pruebas consta de 5 actividades y se utiliza para la realización de cada uno de los tipos de prueba a implementar dentro de todos los proyectos. Planeación y Control de Pruebas Análisis y Diseño de Casos de prueba Ejecución de Pruebas Evaluación y Reporte de Criterios de Salida Finalización de Pruebas
  28. 28. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Planeación de las pruebas. Se define como la estrategia que se va utilizar en las pruebas, además que determina las técnicas apropiadas (dependiendo del tipo de aplicación, etc.) para el diseño de los casos de prueba.  Plan de Pruebas: Documento que describe el alcance, enfoque, recursos y calendario de actividades específicas de las pruebas.  Verifica la misión de las pruebas.  Define los objetivos de las pruebas.  Especifica las Actividades de Pruebas requeridas para cunplir con la misión y los objetivos definidos.
  29. 29. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Control de las pruebas. Se define como la actividad de comparar el avance real con el planeado, para reportar el estatus y las desviaciones oportunamente.  Tomar acciones necesarias para cumplir la misión y los objetivos del proyecto.  La planificación de las pruebas se ajusta de acuerdo a la retroalimentación de las actividades de vigilancia y control.
  30. 30. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Análisis y Diseño de Casos de Prueba. Los objetivos generales de las pruebas son transformados en Condiciones y Casos de Prueba tangíbles.  Condición de Prueba: Un elemento o evento de un componente o sistema que pudiera ser verificado por uno o más casos de prueba, por ejemplo, una función, operación,, atributo de calidad, o elemento estructural.  Caso de Prueba: Un conjunto de valores de entrada, condiciones de ejecución, resultados esperados y la ejecución. Post-condiciones, desarrollado para un objetivo particular o condición de prueba, tales como el ejercicio de un flujo en particular o para verificar el cumplimiento de un requisito específico.  Las pruebas deben ser diseñadas usando las técnicas de diseño seleccionadas en la planeación.
  31. 31. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Análisis y Diseño de Casos de Prueba:  Cada caso de prueba se especifica con:      Objetivo. Pre-condiciones. Entrada. Resultado Esperado. Post-condiciones (Validaciones).  Se puede Desarrollar como:  Script de Caso de Prueba.  Matríz de Casos de Prueba.
  32. 32. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Análisis y Diseño de Casos de Prueba: "El diseño de pruebas es uno de los mecanismos de prevención de error más eficaces conocidos. ... El proceso mental que debe llevarse a cabo para crear pruebas útiles puede descubrir y eliminar los problemas en cada etapa de desarrollo“. Beizer
  33. 33. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Implementación de las pruebas: Los casos de prueba son ejecutados en una serie de pasos ordenados en particular definidos en los Script de Prueba. Se crea la Tabla de Datos de Prueba. Se generan los Ambientes de Pruebas y se verifican.
  34. 34. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Ejecución de las pruebas: Se verifica que el resultado esperado de cada prueba realizada sea entregada de manera exacta por el sistema o componente. En esta etapa es muy importante la construcción de evidencias de ejecución. Se pueden ejecutar manualmente o por medio de herramientas de pruebas. Registro de los Resultados de las Pruebas. Los registros de ejecución de la prueba únicamente deben identificar las versiones del software bajo prueba y herramientas de prueba. Debe existir evidencia de cada ejecución de cada caso de prueba.
  35. 35. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont. Ejecución de las pruebas: Validación de Resultados: Comparar los resultados actuales con los esperados. Reportar Incidencias. Analizar incidencias para establecer la causa raíz. Re-ejecutar si es necesario, las pruebas para cada incidencia. Se registran los criterios de aceptación para cada caso de prueba.
  36. 36. Fundamentos cont. Fundamentos del Proceso de Pruebas Cont.  Reporte de avance. Se muestra el estado y avance de las actividades de prueba durante la etapa de desarrollo y ejecución.  Finalización de las pruebas. Se verifica que los registros de pruebas cumplan los criterios de finalización de pruebas especificados, en caso contrario, se necesitan repetir las actividades de la prueba, incluso puede ser necesario diseñar mas casos de prueba para poder cumplir con los criterios de finalización y aceptación.

×