Contenido
- Introducción
- Concepto general
- Actividades del ‘análisis de pruebas’
- Concepto de trazabilidad bidireccional
- Trazabilidad y Cobertura en Pruebas Basadas en la Experiencia: Optimizando Acuerdos de Prueba
- Utilidad de una herramienta para gestionar nuestro testing
- Optimizando la Calidad del Software: Beneficios Claves de la Detección de Defectos en el Análisis de Pruebas
- Características a considerar en toda herramienta
- Beneficios a corto plazo
- TestMonitor
- Conclusiones
Introducción
El análisis de la prueba es una de las principales actividades de todo proceso de prueba, junto con otras que hay que considerar y entender su alcance dentro de todo contexto y una de las formas de comprender el tema es asociarlo con herramientas que permiten la gestión integral del testing.
En este sentido y para que puedas “aterrizar” el concepto, en este artículo (y en los próximos relacionados) comenzaré a explicarte la manera en la que una de las tantas herramientas que tenemos en nuestra disposición, nos permite conducir nuestros proyectos de testing.
Concepto general
El análisis de la prueba es una de las principales actividades de todo proceso de prueba, junto con la planificación de la prueba, el monitoreo y control de la prueba, el diseño de prueba, la implementación de la prueba, la ejecución de la prueba y la prueba de finalización.
Cada una de estas actividades a su vez está compuesta por múltiples tareas individuales, que pueden variar según el proyecto en el que nos encontremos.
También está la idea instalada que las actividades se deben realizar de manera secuencial, a menudo se implementan de manera iterativa, es decir que la secuencia lógica escalonada de actividades implica superposición, combinación, concurrencia u omisión.
En el proceso de análisis de pruebas, se examina detalladamente la base de pruebas con el fin de reconocer las funciones que son susceptibles de ser sometidas a evaluación, al mismo tiempo que se establecen las condiciones de prueba pertinentes. En términos más simples, este análisis tiene como objetivo definir «qué aspectos evaluar», enfocándose en criterios de cobertura que son cuantificables.
Actividades del ‘análisis de pruebas’
1. Revisar la base de prueba correspondiente al nivel de prueba en consideración:
1.1. Documentación de requerimientos, como requisitos empresariales, requisitos funcionales, requisitos del sistema, historias de usuario, épicas, casos de uso u otros documentos que detallan el comportamiento funcional y no funcional esperado del componente o sistema.
1.2. Datos de diseño e implementación, como diagramas o documentos arquitectónicos del sistema o del software, especificaciones de diseño, flujos de trabajo, modelos (por ejemplo, diagramas UML o entidad-relación), especificaciones de interfaz u otros documentos que describen los componentes o la estructura del sistema.
1.3. La implementación misma del componente o sistema, que incluye código, metadatos de la base de datos y consultas, así como interfaces.
1.4. Reportes de análisis de riesgos, que pueden abordar aspectos funcionales, no funcionales y estructurales del componente o sistema.
2. Examinar la base de prueba y los elementos de prueba para descubrir defectos de distintas categorías, como:
2.1. Falta de claridad.
2.2. Omisiones.
2.3. Inconsistencias.
2.4. Inexactitudes.
2.5. Contradicciones.
2.6. Declaraciones innecesarias.
3. Reconocer las características y conjuntos de características que se someterán a prueba.
4. Establecer y dar prioridad a las condiciones de prueba para cada característica, basándose en el análisis de la base de prueba y considerando las características funcionales, no funcionales y estructurales, así como otros factores empresariales y técnicos, y los niveles de riesgo.
5. Establecer una trazabilidad bidireccional entre cada elemento de la base de prueba y las condiciones de prueba correspondientes.
Concepto de trazabilidad bidireccional
La trazabilidad bidireccional en el contexto del software testing se refiere a la capacidad de seguir y documentar las relaciones entre diferentes elementos del proceso de prueba a lo largo de su ciclo de vida. Esta trazabilidad funciona en dos direcciones: desde los requisitos hasta las condiciones de prueba y viceversa.
Trazabilidad y Cobertura en Pruebas Basadas en la Experiencia: Optimizando Acuerdos de Prueba
En ciertas situaciones, el examen de la prueba conduce a la formulación de criterios de prueba que deben ser adoptados como metas de prueba en los acuerdos de prueba. Los acuerdos de prueba constituyen resultados específicos en algunos enfoques de prueba fundados en la experiencia. Cuando estas metas de prueba tienen una trazabilidad clara hasta la base de prueba, es posible evaluar la cobertura que se haya alcanzado durante la ejecución de dicha prueba basada en la experiencia.
Utilidad de una herramienta para gestionar nuestro testing
La integración continua de la prueba de software en el desarrollo iterativo se intensifica, con equipos colaborando en diversos entornos de trabajo, husos horarios y múltiples proyectos.
Con el fin de lanzar software seguro y sin errores, surge una necesidad cada vez más apremiante de contar con una gestión de casos de prueba organizada, estructurada y coherente. Poseer una herramienta de administración de casos de prueba puede marcar una verdadera diferencia para los equipos.
Desde facilitar a los testers la organización y simplificación de su proceso de gestión de casos de prueba hasta posibilitar una cobertura de pruebas mejorada y una colaboración más eficiente, las herramientas de administración de casos de prueba constituyen un recurso esencial para cualquier programa de aseguramiento de calidad (QA).
Este tipo de aplicaciones de software (denominadas habitualmente ‘herramientas’) proporcionan un concentrador para almacenar, organizar, rastrear y, en última instancia, secuenciar casos de prueba en ejecuciones de prueba. Las herramientas de administración de casos de prueba disponen de un conjunto estándar de campos para capturar datos clave de casos de prueba, como el ID de prueba, el nombre del caso de prueba, los resultados esperados y los entornos de prueba. Es decir, tienen embebidas las mejores prácticas de nuestra actividad. En algunos casos, estas herramientas ofrecen funciones de informes integradas que ayudan a los profesionales de QA a realizar un seguimiento del progreso de las pruebas y supervisar los defectos.
Optimizando la Calidad del Software: Beneficios Claves de la Detección de Defectos en el Análisis de Pruebas.
Identificar defectos mientras realizamos y evaluamos la prueba representa un beneficio tanto para nosotros los testers como para el equipo completo, especialmente cuando no se aplica ningún otro procedimiento de revisión y/o cuando el proceso de prueba se encuentra estrechamente ligado al mismo proceso de revisión.
Estas actividades de evaluación de prueba no solo certifican la coherencia, expresión adecuada y completitud de los requisitos, sino que también confirman si dichos requisitos satisfacen de manera apropiada las demandas de nuestros clientes, usuarios y otras partes interesadas.
Si llevamos estos conceptos al plano de la agilidad, nos encontraremos con BDD (desarrollo conducido por comportamiento) y ATDD (desarrollo basado en pruebas de aceptación), que permiten que generemos condiciones y casos de prueba a partir de historias de usuarios y criterios de aceptación antes del desarrollo, y nos permiten que comprobemos, validemos y detectemos defectos en las historias de usuarios y los criterios de aceptación (consultar el Plan de Estudio del Certificador de Pruebas del ISTQB – Nivel Básico – Extensión Ágil – 2014).
Características a considerar en toda herramienta
- Interfaz personalizable e intuitiva
- Posibilidad de integración y colaboración.
- Biblioteca dinámica de casos de prueba
- Escalabilidad
- Seguridad
Beneficios a corto plazo
Pensar en implementar una herramienta que nos permitirá conducir el testing de manera integral, nos permitirá:
- Reconocer nuestros costos actuales y futuros.
- Reducir el esfuerzo administrativo.
- Aplicar las mejores prácticas de manera eficiente y eficaz.
- Reducir la entrada de datos duplicados.
- Proporcionar el estado del testing en tiempo real.
- Simplificar la documentación de nuestro testing.
Testmonitor
En esta entrega, te compartiré algo de información sobre esta herramienta y parte de todo lo que nos puede ofrecer para conducir nuestro ‘análisis de prueba’.
El ejercicio que aquí te estaré proponiendo es relacionar el alcance funcional de la opción Define que nos ofrece la herramienta con el objeto del ‘análisis de prueba’ a nivel conceptual para que puedas comprender cómo la herramienta entiende su aplicación.
Recomiendo que vuelvas a repasar las Actividades del ‘análisis de pruebas’ y explores la herramienta para que puedas ver la manera en la que la herramienta cubre los 5 puntos.
Vista de la pantalla principal
Vista opción Define
Desde esta pantalla podremos:
- los requerimientos que debemos testear reconociendo de que tipo son;
- tener visibilidad y acceder a los casos de prueba vinculados;
- agregar nuevos requerimientos;
- gestionar los riesgos asociados;
también hay otras opciones
Podrás acceder a una pantalla para tratar los riesgos que estén asociados a los requerimientos
Podrás acceder a los casos de prueba asociados por ejemplo desde el detalle del Requerimiento
y desde aquí podrás acceder al detalle del Caso de Prueba asociado
Conclusiones
Recordar que este tipo de herramienta así como otras tantas, se pueden integrar a Jira como complemento y de esa forma se evitaría la gestión (Alta / Baja / Modificación) del Requerimiento, actividad que se encarga el PO (Product Owner) en equipos en los que sus integrantes no están lo suficientemente maduros.
En el próximo artículo estaré explorando la siguiente opción: Design.
Fuentes de inspiración
Programa de Estudio de Nivel Básico – ISTQB CTFL (Certified Tester Foundation Tester) v3.1 (2018)