X
BLOG

Gestión de requisitos y matriz de trazabilidad

Gestión de requisitos y matriz de trazabilidad Tiempo de leer: 6 minutos

Una piedra angular de un proceso de desarrollo de software riguroso es la gestión de requisitos y la trazabilidad de esos requisitos hasta la implementación y, posteriormente, la prueba de la implementación correcta.

La trazabilidad de los requisitos la definen los autores, Gotel y Finkelstein, como “la capacidad de describir y seguir la vida de un requisito, tanto hacia adelante como hacia atrás (es decir, desde sus orígenes, a través de su desarrollo y especificación, hasta su posterior despliegue y uso, y a través de períodos de perfeccionamiento continuo e iteración en cualquiera de estas fases) ".

Los requisitos de seguimiento no se limitan a vincular un párrafo de un documento a una sección de código o una prueba. La trazabilidad debe mantenerse a lo largo de las fases de desarrollo a medida que los requisitos se manifiestan en el diseño, la arquitectura y la implementación. Considere el diagrama típico en “V” de software.

Figura 1: El diagrama V clásico muestra cómo avanza y retrocede la trazabilidad en cada fase del desarrollo.

Cada fase impulsa la fase siguiente. A su vez, los elementos de trabajo en estas fases deben satisfacer los requisitos de la fase anterior. El diseño del sistema se basa en los requisitos. El diseño del sistema satisface los requisitos, etc.

La gestión de trazabilidad de requisitos (RTM) demuestra que cada fase satisface los requisitos de cada fase posterior. Sin embargo, esta es solo la mitad de la imagen. Nada de esta trazabilidad demuestra que se cumplan los requisitos. Eso requiere pruebas.

Figura 2: La otra parte importante de la trazabilidad de los requisitos son las pruebas de verificación y validación para demostrar la implementación de la especificación desde la fase de diseño correspondiente. La validación generalmente ocurre al final del ciclo de desarrollo durante la prueba de aceptación final con el cliente.

En el diagrama V que se muestra en la Figura 2, cada fase de prueba verifica el cumplimiento de las especificaciones asociadas con la fase de diseño / implementación correspondiente. En el ejemplo, las pruebas de aceptación validan los requisitos, las pruebas de integración verifican el diseño de la arquitectura, las pruebas unitarias verifican el diseño del módulo, etc. La validación generalmente ocurre al final del ciclo de vida del desarrollo durante las pruebas de aceptación con el cliente.

La trazabilidad de los requisitos necesita tanto el enlace a la implementación como a la verificación, además de todos los artefactos asociados del proceso de desarrollo. El desarrollo de software a cualquier escala realista tendrá muchos requisitos, un diseño y una arquitectura complejos, y posiblemente miles de unidades y pruebas unitarias. La automatización de RTM en las pruebas es necesaria, especialmente para el software crítico para la seguridad que requiere documentación de trazabilidad para certificaciones y auditorías.

Vea la solución de pruebas de desarrollo más completa para C y C ++ en acción.
Pruebe Parasoft C / C ++test

Requerimientos de trazabilidad matriz

Una matriz de trazabilidad de requisitos es un documento que ilustra la satisfacción de los requisitos con un elemento de trabajo correspondiente, como una prueba unitaria, un código fuente de módulo, un elemento de diseño de arquitectura, etc. La matriz a menudo se muestra como una tabla, que muestra cómo cada requisito es "marcado" por una parte correspondiente del producto. La creación y el mantenimiento de estas matrices a menudo se automatizan con herramientas de gestión de requisitos con la capacidad de mostrarlas visualmente en muchas formas e incluso en papel, si es necesario.

A continuación se muestra un ejemplo de matriz de trazabilidad de requisitos de Intland codeBeamer. Muestra los requisitos de nivel del sistema descompuestos en requisitos de alto y bajo nivel, y los casos de prueba que verifican cada uno.

Figura 3: Ejemplo de matriz de trazabilidad de requisitos en Intland codeBeamer.

¿Por qué se necesita la trazabilidad de requisitos?

En el sentido más simple, la trazabilidad de los requisitos es necesaria para realizar un seguimiento de lo que está creando exactamente al escribir software. Esto significa asegurarse de que el software haga lo que se supone que debe hacer y de que solo está creando lo que se necesita.

La trazabilidad funciona tanto para demostrar que cumplió con los requisitos como para identificar lo que no. Si hay elementos arquitectónicos o código fuente que no se pueden rastrear hasta un requisito, entonces es un riesgo y no debería estar allí. Los beneficios van más allá de proporcionar una prueba de la implementación. La trazabilidad disciplinada es una visibilidad importante del progreso del desarrollo.

La trazabilidad no es necesariamente estricta en la aplicación de software empresarial, aunque eso es ciertamente mejorando. Sin embargo, es una actividad necesaria en el software de seguridad y de misión crítica.

Trazabilidad de requisitos en software crítico para la seguridad

Los requisitos del software crítico para la seguridad son el factor clave para el diseño y desarrollo de productos. Estos requisitos incluyen seguridad funcional, requisitos de aplicación y requisitos no funcionales que definen completamente el producto. Esta confianza en los requisitos documentados es una bendición mixta, ya que los requisitos deficientes son uno de los causas críticas de incidentes de seguridad en software. En otras palabras, la implementación no tuvo la culpa, pero sí los requisitos deficientes o faltantes.

Es importante darse cuenta de que muchos requisitos del software crítico para la seguridad se derivan del análisis de seguridad y la gestión de riesgos. El sistema debe realizar sus funciones previstas, por supuesto, pero también debe mitigar los riesgos para reducir en gran medida la posibilidad de lesiones. Además, para documentar y demostrar que estas funciones de seguridad se implementan y prueban completa y correctamente, la trazabilidad es fundamental.

Automatización de la trazabilidad bidireccional

Mantener registros de trazabilidad en cualquier tipo de escala requiere automatización. Las herramientas de gestión del ciclo de vida de las aplicaciones incluyen capacidades de gestión de requisitos que están maduras y tienden a ser el centro de la trazabilidad. Las herramientas de prueba de software integradas como Parasoft completan la verificación y validación de los requisitos al proporcionar una trazabilidad bidireccional automatizada al caso de prueba ejecutable, que incluye el resultado de aprobado o reprobado y rastrea hasta el código fuente que implementa el requisito.

Parasoft se integra con sistemas de planificación ágil y gestión de requisitos líderes en el mercado como Intland codeBeamer, Polarion de Siemens, Atlassian Jira, CollabNet VersionOne y TeamForge.

Como se muestra en la imagen a continuación, cada una de las herramientas de automatización de pruebas de Parasoft (prueba C / C ++, Jtest, dotTEST, SOAtest y Selenic) admiten la asociación de pruebas con elementos de trabajo definidos en estos sistemas (como requisitos, historias, defectos , definiciones de casos de prueba). La trazabilidad se gestiona a través del panel central de análisis e informes de Parasoft (Parasoft DTP).

Figura 4: Parasoft proporciona trazabilidad bidireccional desde los elementos de trabajo hasta los casos de prueba y los resultados de las pruebas, tanto mostrando informes de trazabilidad con Parasoft DTP como informando los resultados al sistema de gestión de requisitos.

Parasoft DTP correlaciona los identificadores únicos del sistema de gestión con los resultados del análisis estático, la cobertura del código y los resultados de las pruebas de la unidad, la integración y las pruebas funcionales. Los resultados se muestran en los informes de trazabilidad de Parasoft DTP y se envían al sistema de gestión de requisitos. Proporcionan trazabilidad e informes bidireccionales completos como parte de la matriz de trazabilidad del sistema.

Los informes de trazabilidad en Parasoft DTP son altamente personalizables. La siguiente imagen muestra una plantilla de matriz de trazabilidad de requisitos para historias creadas en Jira que se remontan a los casos de prueba, los resultados del análisis estático, los archivos de código fuente y las revisiones de código manuales.

Figura 5: Plantilla de matriz de trazabilidad de requisitos de Parasoft DTP integrada con Altassian Jira.

La correlación bidireccional entre los resultados de las pruebas y los elementos de trabajo proporciona la base de la trazabilidad de los requisitos. Parasoft DTP agrega análisis de cobertura de código y prueba para evaluar la integridad de la prueba. Mantener esta correlación bidireccional entre los requisitos, las pruebas y los artefactos que los implementan es un componente esencial de la trazabilidad.

Gestión del flujo de trabajo de creación de problemas / defectos

Parasoft DTP también ayuda a clasificar la creación de defectos y problemas en nuevos elementos de trabajo. La automatización de pruebas y el análisis estático producen una gran cantidad de datos para consumir. Las herramientas que ayudan a administrar estos datos son importantes para priorizar los elementos de trabajo y evitar que las herramientas abrumen al equipo.

Usando los exploradores de prueba y violación en Parasoft DTP, que se muestran a continuación, el equipo puede crear de manera eficiente nuevos elementos de trabajo después de la clasificación de fallas de prueba y violaciones de análisis estático. La combinación de trazabilidad y creación de problemas / defectos clasificados proporciona un ciclo de retroalimentación completo para un flujo de trabajo.

Figura 6: Creación de un nuevo defecto en VersionOne mientras se clasifican las fallas de prueba en Parasoft DTP.

Resumen

La trazabilidad de requisitos es una parte clave de la gestión de requisitos en el desarrollo de software. El nivel de formalidad en la trazabilidad varía según el tipo de aplicación, pero la práctica es absolutamente necesaria en el software de seguridad crítica.

La trazabilidad bidireccional es importante para que las herramientas de gestión de requisitos y otras herramientas del ciclo de vida puedan correlacionar los resultados y alinearlos con los requisitos y los elementos de trabajo asociados.

La complejidad de los proyectos de software modernos requiere automatización para escalar la trazabilidad de los requisitos. Las herramientas de Parasoft están diseñadas para integrarse con las mejores herramientas de gestión de requisitos para ayudar a la trazabilidad en los resultados de la automatización de pruebas y completar la verificación y validación de las pruebas de software.

Vea la solución de pruebas de desarrollo más completa para C y C ++ en acción.
Pruebe Parasoft C / C ++test

 

Escrito por

Ricardo Camacho

Gerente sénior de marketing técnico de productos para las soluciones de pruebas integradas de Parasoft. Tiene experiencia en SDLC y automatización de pruebas de aplicaciones críticas integradas en tiempo real, de seguridad y protección, y cumplimiento de software con los estándares de la industria.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft