2. Temario
Ø Conceptos básicos de pruebas.
Ø Análisis de ambigüedades sobre
requerimientos.
Ø Técnicas de Diseño de Casos de Prueba.
Ø Desarrollo de Procedimientos de Prueba.
Ø Principios para Revisión de Casos de
Prueba.
Ø Desarrollo de Casos de Prueba.
evolución tecnológica...
3. Agenda
Ø Objetivo.
Ø Introducción a las pruebas.
Ø Pruebas en el proceso de vida del software.
Ø Métodos de las pruebas.
Ø Niveles de pruebas.
Ø Tipos de pruebas.
Ø Sesión de preguntas.
evolución tecnológica...
4. OBJETIVO
Ø Objetivo. Brindar al participante una introducción a la disciplina de
pruebas y su participación en el ciclo de vida de software. Al finalizar
el entrenamiento se tendrá un concepto claro de la disciplina de
pruebas, así como de las actividades de prueba que deben ser
ejecutadas durante cada fase del desarrollo de un software.
Ø El curso esta dirigido a cualquier persona que esta interesada en
empezar a conocer los conceptos básicos de la Célula de
Certificación QA.
evolución tecnológica...
5. Introducción a las pruebas
¿Qué es una prueba?
Ø 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.
evolución tecnológica...
6. Introducción a las pruebas
Principios de una prueba
Ø
Las pruebas demuestran la existencia de defectos.
Ø
Realizar pruebas exhaustivas es imposible.
Ø
Involucrar la etapa desde el inicio del proyecto.
Ø
Asignación de prioridades y severidad a las pruebas.
Ø
El tipo de pruebas a realizar se basa en la criticidad del proyecto.
Ø
Algunas características son:
Ø
Ø
Precisa. Muestra que es lo que se supone se probará.
Efectiva. Ayuda a encontrar defectos.
Ø
Trazable. Existe una relación con los requerimientos.
Ø
Ø
Evolutiva. Fácil de mantener.
Eficiente. Sin pasos innecesarios.
Ø
Estado inicial. Retorna el estado de pruebas al estado inicial.
evolución tecnológica...
7. Introducción a las pruebas
¿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.
evolución tecnológica...
8. Introducción a las pruebas
¿Qué es un error/defecto/falla? … Continuación
Una persona
comete un
error ...
… Esto crea un
defecto en el
software ...
… Esto puede
causar una falla
en operación.
evolución tecnológica...
9. Introducción a las pruebas
Proceso fundamental de las 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 de
Pruebas
Desarrollo de
Casos de prueba
Ejecución
de Pruebas
Reportes de
Avance
Finalización
de Pruebas
evolución tecnológica...
10. Introducción a las pruebas
Ø Proceso fundamental de las pruebas … Continuación
Ø Planeación de las pruebas. Se define 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.
Ø Desarrollo de casos de prueba. Se desarrollan los casos de prueba en base a las técnicas
de diseño especificadas en la planeación de pruebas.
Ø 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.
Ø 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.
evolución tecnológica...
11. Introducción a las pruebas
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.
evolución tecnológica...
12. Pruebas en el proceso de vida del software
Pruebas en el ciclo de vida del software
La siguiente figura ilustra la diferencia entre el enfoque tradicional de pruebas y el
enfoque de pruebas a través del ciclo de vida del proyecto.
Enfoque de pruebas a través del ciclo de vida del proyecto
Inicio
del
proyecto
Requerim
ientos
Análisis /
Diseño
Codificaci
ón
Pruebas
Enfoque de pruebas tradicional
evolución tecnológica...
Instalaci
ón
Manteni
miento
13. Pruebas en el proceso de vida del software
Metodología RBT y Modelo V
Ø La Metodología RBT y Modelo V de pruebas soporta los principios de pruebas, y también es lo
suficientemente flexible para adaptarse a un proceso iterativo e incremental del desarrollo de
software. La siguiente figura se presenta el “Modelo V” de pruebas, el cual muestra las relaciones
internas entre:
Ø Los diferentes tipos de pruebas de la aplicación y otras fases del proyecto.
Ø Las actividades de prueba (ej. preparación y planeación, diseño de pruebas y
ejecución de pruebas) y otras actividades del proyecto.
Ø Entregables de pruebas y otros entregables del proyecto.
Ø El modelo fue desarrollado por Richard Berder.
Ø Tiene un enfoque sistemático para:
Ø Verificar requerimientos como entradas a diseño, codificación y pruebas.
Ø Establecer seguimiento a los requerimientos.
Ø Proveer
evolución tecnológica...
una cobertura máxima de pruebas con el mínimo número de casos de prueba.
Ø Validar la conformidad del sistema con los requerimientos.
14. Pruebas en el proceso de vida del software - Pruebas
Metodología RBT y Modelo V … Continuación
evolución tecnológica...
15. Pruebas en el proceso de vida del software
Proporciones típicas de descubrir defectos
evolución tecnológica...
16. Pruebas en el proceso de vida del software
Proporciones típicas de descubrir defectos … Continuación
evolución tecnológica...
17. Métodos de las pruebas
Métodos utilizados para las pruebas
Ø Dinámicas – ejecución
Ø Analizar.
Ø Demostrar.
Ø Probar.
Ø Validar.
Ø Estáticas – no ejecución
Ø Verificar.
Ø Revisar/Inspeccionar el software.
Ø Probar.
evolución tecnológica...
18. Niveles de pruebas
Introducción
Ø Se organizan los tipos de pruebas necesarios para ser usados (cada nivel enlista un
grupo de requerimientos o especificaciones funcionales y técnicas).
Ø Es un grupo de actividades de prueba que son organizadas y dirigidas colectivamente,
basadas en requerimientos y riesgos implicados.
Ø Si los requerimientos no se resuelven, cada nivel define una estrategia para buscar
los defectos mas importantes, tan pronto como sea posible, en el mejor camino
posible.
evolución tecnológica...
19. Niveles de pruebas
Introducción
Ø Pruebas unitarias.
Ø Pruebas de integración.
Ø Pruebas de sistema.
Ø Pruebas de Aceptación del Usuario (UAT; User Acceptance Test).
Ø Pruebas de desempeño.
Ø Pruebas de regresión.
evolución tecnológica...
20. Niveles de pruebas
Tipos de pruebas … Continuación
Nivel de
prueba
evolución tecnológica...
Propósito
Ambiente
Responsable
21. Niveles de pruebas
Tipos de pruebas … Continuación
Nivel de
prueba
evolución tecnológica...
Objetivo
Criterio de aceptación
22. Niveles de pruebas
Introducción
Ø Pruebas de desempeño:
Ø La pruebas están enfocadas en tiempo de respuesta del sistema para
que se satisfagan los criterios del funcionamiento
de las
pantallas y reglas del negocio (Ejemplo. Funciones, negocio, etc).
Ø Pruebas sobre el manejo de grandes cantidades de datos.
Ø Pruebas de regresión:
Ø Realizar un testing sobre programas modificados para asegurar que los
defectos han sido eliminados.
evolución tecnológica...
24. Tipos de pruebas
Prueba de caja negra
Ø
Se realizan sin necesidad de conocer las características internas del código.
Ø
Se centra en “¿QUE?” hace el sistema software, en vez de “¿COMO?” lo hace.
Ø
Se usan, típicamente, en las pruebas de nivel de sistema y de aceptación de usuario.
Ø
Pruebas Basadas en la Especificación.
Ø
Se aplican tanto para pruebas Funcionales como pruebas No Funcionales.
evolución tecnológica...
25. Tipos de pruebas
Pruebas de caja blanca
Ø
Se basan en la estructura del código.
Ø
Se utilizan, típicamente, por los grupos de desarrollo en las fases de prueba de componentes e
integración de componentes.
Ø
Pruebas estructurales.
evolución tecnológica...