36
Capacitación Tester QA Abril, 2011

Capacitacitación Tester - QA 1

Embed Size (px)

DESCRIPTION

Capacitacitación tester qa 1

Citation preview

Page 1: Capacitacitación Tester - QA 1

Capacitación TesterQA

Abril, 2011

Page 2: Capacitacitación Tester - QA 1

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.

Page 3: Capacitacitación Tester - QA 1

TemarioMódulo 11) Introducción

a) Reforzamiento de Requerimientos Básicos2) 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 Pruebase) La Psicología del Testingf) Sumario

3) Testing a través del Ciclo de Vida del Softwarea) Modelos de Desarrollo de Softwareb) Niveles de Pruebasc) Tipos de Pruebas; los blancos del Testingd) Testing de Mantenimientoe) Sumario

4) Proyecto Práctico5) Ejecución de Casos de Prueba

Page 4: Capacitacitación Tester - QA 1

Temario cont.Módulo 21) Procesos de Negocio

a) Definiciónb) Tipos de Procesos de Negocioc) Identificación y Entendimiento de Procesos de Negocio

a) Diagramas de Flujob) Reglas de Negocio

2) Técnicas Estáticasa) Definiciónb) Revisiones y el Proceso de Pruebasc) Proceso de Revisiónd) Análisis Estáticoe) Sumario

3) Técnicas de Diseño de Pruebasa) El Proceso de Diseño de Pruebasb) Categorías de las Técnicas de Diseño de Pruebasc) Especificaciones o Técnicas de Caja Negrad) Estructura o Técnicas de Caja Blancae) Experiencia Basada en Técnicasf) Eligiendo Técnicas de Pruebasg) Sumario

4) Proyecto Prácticoa) Análisis de Requerimientos

5) Diseño de Casos de Prueba

Page 5: Capacitacitación Tester - QA 1

Temario cont.Módulo 31) Management de Pruebas

a) Organización de Pruebasb) Planeación y Estimación de Pruebasc) Monitoreo y Control del Proceso de Pruebasd) Configuración del Managemente) Riesgo y Testingf) Management de Incidenciasg) Sumario

2) Proyecto Prácticoa) Estimación de un Proyecto de Pruebasb) Planeación de un Proyecto de Pruebasc) Seguimiento y Control de un Proyecto de Pruebas

Page 6: Capacitacitación Tester - QA 1

INTRODUCCIÓNMódulo 1

Page 7: Capacitacitación Tester - QA 1

IntroducciónConceptos Básicos

¿Qué es la Calidad?

¿Qué es la Mejora Continua?

¿Qué es el Aseguramiento de la Calidad?

¿Qué es Software?

¿Qué es Hardware?

Page 8: Capacitacitación Tester - QA 1

Introducción cont.Calidad

¿Qué es la Calidad del Software?

El desarrollo de software basado en estándares con la funcionalidad yrendimiento total que satisfacen los requerimientos del cliente.

¿Qué es la Calidad en las Pruebas?

La Calidad proporciona un nivel de confiabilidad (La probabilidad de queel software no causara una falla en el sistema por un tiempo enespecifico bajo condiciones especificas.) de que el software cumpla conlos requerimientos definidos, que realice las funciones por las cuales fueelaborado y que se van a reducir posibles errores/defectos/fallas.

Page 9: Capacitacitación Tester - QA 1

Introducción cont.

“La Calidad no es intangible . El propósito de las Pruebas es hacer visiblea la Calidad . Las Pruebas es la medición de la Calidad del Software!”

Bill Hetzel

Page 10: Capacitacitación Tester - QA 1

FUNDAMENTOSMódulo 1

Page 11: Capacitacitación Tester - QA 1

Fundamentos¿Por qué son necesarias las pruebas?

Aseguramiento de la calidad del producto y de los procesos dedesarrollo.

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.

Page 12: Capacitacitación Tester - QA 1

Fundamentos

¿Qué es un Riesgo?

“Es un Factor que puede provocar una consecuencia negativa, se puedeexpresar como el impacto y la probabilidad.”

Los equipos de pruebas tienen como objetivo el detectar, reportar y darseguimiento a los riesgos del proyecto pero no tomar decisiones sobresestos riesgos, los encargados de tomar dichas decisiones son losClientes.

Page 13: Capacitacitación Tester - QA 1

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, causadopor un error.

Page 14: Capacitacitación Tester - QA 1

Fundamentos cont.

¿Qué es un error/defecto/falla? … Cont.

Una persona comete un error ...

… Esto crea un defecto en el software ...

… Esto puedecausar una falla en

la operación.

Page 15: Capacitacitación Tester - QA 1

Fundamentos cont.

¿Son posibles la Pruebas Exhaustivas?

Las pruebas exhaustivas des sistemas complejos: Requieren recursos enormes.

Costosas.

Requieren demasiado tiempo.

No son prácticas.

Page 16: Capacitacitación Tester - QA 1

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 = 37.04 días

Si me tardo 10 seg por prueba = 52.91 semanas

Si me tardo 1 min por prueba = 6.09 años

Si me tardo 10 min por prueba = 60.88 años

Page 17: Capacitacitación Tester - QA 1

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.

Page 18: Capacitacitación Tester - QA 1

Fundamentos cont.

¿Cuantas pruebas son necesarias? cont.

Como resultado de este análisis de determina que componentes omódulos es inaceptable no probarlos y cuales se justifica noprobarlos, así como el tipo de pruebas a ejecutar.

Si no aceptamos un riesgo se debe de probar, si aceptamos el riesgopodemos no probarlo.

Las pruebas son una actividad de control de riesgos queproporciona retroalimentación a los involucrados para contar conelementos en la toma de decisiones.

Page 19: Capacitacitación Tester - QA 1

Fundamentos cont.

Criterios de Salida:

“Son el conjunto de condiciones genéricas y específicas, acordadascon las partes interesadas, para permitir que un proceso seacompletado oficialmente.”

Se utilizan para determinar cuándo las pruebas en cualquier fase delproyecto 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.

Page 20: Capacitacitación Tester - QA 1

Fundamentos cont.

¿Qué es el Testing (pruebas)?

“Una Prueba es una operación técnica que consiste en ladeterminación de una o mas características de un producto, proceso ode un servicio dado, según un procedimiento en especifico.”

“Una Prueba como proceso consiste en todas las actividades del ciclode vida del proyecto, estáticas y dinámicas, concernientes con laplaneación, preparación y evaluación de productos de software yrelacionados con los productos de trabajo, para determinar si sesatisfacen los requerimientos especificados, para demostrar quecumplen con su propósito y para la detección de defectos.”

Hetzel 1998

Page 21: Capacitacitación Tester - QA 1

Fundamentos cont.¿Qué es el Testing (pruebas)? Cont.

“Cualquier actividad que se lleva a cabo con el objetivo de ayudarnosa evaluar o medir un atributo de nuestro software debe considerarsecomo una actividad de prueba.”

“Testing es toda actividad dirigida a la evaluación de un atributo ocapacidad de un programa o sistema y la determinación de quecumple con sus resultados necesarios.”

Page 22: Capacitacitación Tester - QA 1

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.

Page 23: Capacitacitación Tester - QA 1

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 revisaque el defecto ha sido corregido correctamente.

El testing asegura que el defecto sea corregido efectivamente.

Responsables:Testing = TesterDebugging = Desarrollador

Page 24: Capacitacitación Tester - QA 1

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.

Page 25: Capacitacitación Tester - QA 1

Fundamentos cont.Principios Generales del Testing (Pruebas)

“La probabilidad de la existencia de más errores en un módulo de unprograma es proporcional al número de errores ya encontrados en dichoprograma“.

"No planee pruebas de esfuerzo bajo el supuesto tácito de que no seencontrarán errores “.

"Una buena prueba es la que tiene una alta probabilidad de detectar unerror aún no descubierto“.

"Una prueba exitosa es aquella que detecta un error, inesperado“.

Page 26: Capacitacitación Tester - QA 1

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, elsoftware mejora.

Como el software mejora las pruebas anteriores caducan.

Por esto debemos aprender, crear y utilizar nuevas pruebas basadas en nuevasté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 lospesticidas, provocando la necesidad de crear pesticidas cada vez más poderosos.

Beizer 1995

Page 27: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas

El proceso fundamental de las pruebas consta de 5 actividades y se utilizapara la realización de cada uno de los tipos de prueba a implementardentro de todos los proyectos.

Planeación y Control de Pruebas

Análisis y Diseño deCasos de prueba

Ejecuciónde Pruebas

Evaluación y Reporte de Criterios de Salida

Finalizaciónde Pruebas

Page 28: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas Cont.

Planeación de las pruebas. Se define como la estrategia que se vautilizar en las pruebas, además que determina las técnicasapropiadas (dependiendo del tipo de aplicación, etc.) para el diseñode 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 conla misión y los objetivos definidos.

Page 29: Capacitacitación Tester - QA 1

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 objetivosdel proyecto.

La planificación de las pruebas se ajusta de acuerdo a laretroalimentación de las actividades de vigilancia y control.

Page 30: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas Cont.

Análisis y Diseño de Casos de Prueba. Los objetivos generales de laspruebas son transformados en Condiciones y Casos de Pruebatangíbles.

Condición de Prueba: Un elemento o evento de un componente o sistemaque pudiera ser verificado por uno o más casos de prueba, por ejemplo, unafunción, operación,, atributo de calidad, o elemento estructural.

Caso de Prueba: Un conjunto de valores de entrada, condiciones deejecución, resultados esperados y la ejecución. Post-condiciones, desarrolladopara un objetivo particular o condición de prueba, tales como el ejercicio deun flujo en particular o para verificar el cumplimiento de un requisitoespecífico.

Las pruebas deben ser diseñadas usando las técnicas de diseñoseleccionadas en la planeación.

Page 31: Capacitacitación Tester - QA 1

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.

Page 32: Capacitacitación Tester - QA 1

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 deerror 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

Page 33: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas Cont.

Implementación de las pruebas:

Los casos de prueba son ejecutados en una serie de pasosordenados 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.

Page 34: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas Cont.

Ejecución de las pruebas: Se verifica que el resultado esperado decada prueba realizada sea entregada de manera exacta por el sistemao componente. En esta etapa es muy importante la construcción deevidencias de ejecución.

Se pueden ejecutar manualmente o por medio de herramientas depruebas.

Registro de los Resultados de las Pruebas.

Los registros de ejecución de la prueba únicamente debenidentificar las versiones del software bajo prueba y herramientas deprueba.

Debe existir evidencia de cada ejecución de cada caso de prueba.

Page 35: Capacitacitación Tester - QA 1

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.

Page 36: Capacitacitación Tester - QA 1

Fundamentos cont.Fundamentos del Proceso de Pruebas Cont.

Reporte de avance. Se muestra el estado y avance de lasactividades de prueba durante la etapa de desarrollo y ejecución.

Finalización de las pruebas. Se verifica que los registros depruebas cumplan los criterios de finalización de pruebasespecificados, en caso contrario, se necesitan repetir lasactividades de la prueba, incluso puede ser necesario diseñar mascasos de prueba para poder cumplir con los criterios definalización y aceptación.