Verificación de la calidad del código fuente Versión: Estado: ACTIVO Entrada en vigor desde: Obligado cumplimiento desde: Enlaces relacionados: | Verificación de la calidad del código fuente PRE-RELEASE Versión: v03pr01Estado: PRE-RELEASEEntrada en vigor:Obligado cumplimiento desde: Por definirEnlaces relacionados: Procedimiento de registro aspectos funcionales y pruebas de una solución software PRE-RELEASE |
---|
Cumplimiento normativo
Las normas expuestas son de obligado cumplimiento. La DGSIC podrá atender casos excepcionales que serán gestionados a través de los responsables del proyecto correspondiente y autorizados por el area de Gobierno Tecnológico de la DGSIC. Asimismo, cualquier aspecto no recogido en estas normas deberá regirse en primera instancia por las guías técnicas correspondientes al esquema nacional de seguridad y esquema nacional de interoperabilidad, según corresponda, y en su defecto a los marcos normativos y de desarrollo software establecidos por la Junta de Andalucía, debiendo ser puesto de manifiesto ante la DGSIC.
La DGSIC se reserva el derecho a la modificación de la norma sin previo aviso, tras lo cual, notificará del cambio a los actores implicados para su adopción inmediata según la planificación de cada proyecto.
En el caso de que algún actor considere conveniente y/o necesario el incumplimiento de alguna de las normas y/o recomendaciones, deberá aportar previamente la correspondiente justificación fehaciente documentada de la solución alternativa propuesta, así como toda aquella documentación que le sea requerida por la DGSIC para proceder a su validación técnica.
Contacto Dpto: Oficina de Calidad
Los cambios en la normativa vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución.
Este documento está dirigido a los proveedores responsables del producto que siguen metodologías en cascada. El siguiente espacio tiene como propósito introducir los nuevos flujos de trabajo en Jira y los cambios respecto al funcionamiento de EAP.
Se identificarán las mejoras a incluir en una futura entrega y deberá asegurarse el registro en JIRA de la siguiente información.
Para la creación de una mejora, primero se selecciona la opción "Crear" en la cabecera de JIRA y esto abrirá un formulario de registro donde se tendrá que rellenar la siguiente información (los campos mandatorios quedan marcados con un "*"):
Los estados por los que transición una mejora son: "WISHLIST", "BACKLOG", "EN VERSIÓN" y "CLOSED".
Cuando se crea inicialmente una mejora, ésta se crea en estado "WISHLIST" (lista de deseos). Es decisión de los actores JP/Funcional priorizar aquellas mejoras que se deseen incluir en una versión futura del proyecto, por tanto, si desean incluir una mejora, el JP debe aprobarla con la opción "Aprobar mejora" especificando la urgencia de la misma (Muy alta, Alta o Normal). Una vez aprobada la mejora, ésta pasará al estado "BACKLOG" a la espera de decidir si se incluirá o no en alguna versión concreta.
Si los actores JP/Funcional deciden finalmente incluir una mejora en una versión X.Y.Z, el JP podrá usar la opción "Asignar versión" para asignar la mejora a la versión que se seleccione en el campo "Versión relacionada", pasando la mejora al estado "EN VERSIÓN". Con esta acción se establece el tipo de relación "Está contenida en" entre la mejora y la versión. Es importante recordar que los requisitos se podrán informar desde el primer momento en que se registra la mejora. Si no se informan, será necesario editar la Mejora e incluir la información sobre los requisitos que ha de cumplir el sistema para satisfacer los objetivos de la mejora antes de incluir la Mejora en una Versión.
Puede ocurrir que una mejora en estado "EN VERSIÓN" no se aborde finalmente por algún motivo que impide su implantación (por ejemplo falta de tiempo, cambio de alcance, etc.), así pues, el JP podrá usar la opción "Desasignar de versión" de forma que se elimina la relación establecida entre Versión-Mejora y la Mejora pasa al estado "BACKLOG" hasta que se decida de nuevo en qué versión incluirla.
Aclarar que los campos "Versión afectada" y "Versión correctora" de una Mejora se actualizarán automáticamente cuando se resuelva la primera PL hija. Se asignará la versión con la que está relacionada la mejora.
Por último la Mejora pasará automáticamente al estado "CERRADA" cuando finaliza la PL padre.
Los requisitos funcionales de una mejora se anotarán dentro del campo "Requisitos" y se escribirán en una tabla de forma ordenada con una nomenclatura específica RFXXX - Título. De la misma forma, los requisitos de integración de la Mejora que requieran pruebas funcionales de interoperabilidad, se podrán también incluir en la misma tabla, pero siguiendo esta otra nomenclatura: RINTXXX - Nombre. Por tanto, el formato de la tabla resultante tendría el siguiente aspecto:
REF | Título |
---|---|
RF001 | Nombre del requisito |
... | ... |
RFXXX | ... |
... | ... |
RINT001 | Nombre del requisito |
... | ... |
RINTXXX | ... |
Cualquier otro tipo de requisito que pertenezca a la mejora, deberá enlazarse al tique de mejora.
Se identificarán los Casos de uso necesarios para cubrir las mejoras a implantar. Para ello deberán registrarse siguiendo estos pasos.
De nuevo, en la cabecera de JIRA se selecciona la opción "Crear" para abrir un formulario de registro. Los campos del formulario de creación del CU son los siguientes:
ID | Título | Descripción (Dado/Cuando/Entonces) | Requisitos relacionados |
---|---|---|---|
1 | Título del flujo principal o alternativo | Descripción del escenario en formato Dado...Cuando...Entonces | RF00X, RINT00X |
... | ... | ... | ... |
... | ... | ... | ... |
n | ... | ... | ... |
Adicionalmente a cada caso de uso se enlazará en Jira el prototipo correspondiente, para asegurar que se dispone de toda la información necesaria para la correcta construcción de la necesidad, según aplique.
Los estados de un Caso de Uso son: "OPENED", "VIGENTE" y "CLOSED).
Cuando se crea el Caso de uso, su estado inicial será "OPENED" y así se ha de mantener por parte del proveedor. Una vez que la primera PLH (PL Versión Hija) llegue a estado "CERRADA" con resolución "RESUELTA", el Caso de uso pasará al estado "VIGENTE" y se actualizarán los campos "Versión Afectada" y "Versión Correctora" de forma automática.
En caso de que la funcionalidad descrita en el Caso de uso quede obsoleta, el Proveedor podrá cerrarlo pasando al estado "CERRADA" con resolución "Deprecada".
En caso de que el Caso de Uso esté relacionado con otros Casos de Uso, se usará el tipo de relación "relates to".
Los actores representan un rol dentro de la aplicación o producto y se definen para especificar la relación respecto a funcionalidades concretas. En este contexto, los actores se deberán asignar dentro de los casos de uso en los que intervienen pudiéndose asignar más de uno al mismo tiempo, además, aunque el campo "Actores" es opcional no pueden existir casos de uso sin actores según normativa.
Teniendo en cuenta que, dentro del proyecto asignado, existe un listado con actores ya creados, cuando se quiera crear o editar un tique del tipo "Caso de uso" existirá un selector con todo ese listado de actores. Para seleccionar un actor hay que presionar "Clic izquierdo" sobre el nombre de este, en caso de querer seleccionar multiples actores, se deberá mantener la tecla "Ctrl" y clicar sobre todos los actores que se quieran añadir. Finalmente, al presionar el botón "Guardar", los actores estarán relacionados al caso de uso en cuestión y, en otra pantalla, se podrá consultar esta relación junto con todos los CU que contengan esos actores.
Para poder visualizar todo el listado de actores se abrirá una nueva pantalla accesible desde una opción en el menu lateral izquierdo llamada "Actores".
En este listado se mostrará la siguiente información:
Los actores de una aplicación/componente se tendrán que dar de alta en Jira a través de un tique del tipo "Tarea general" en el proyecto "Estela". Se debe incluir en la descripción la siguiente información:
Los subsistemas especifican agrupaciones funcionales del producto. Para cada proyecto se establecerán los subsistemas que sean necesarios y se informarán dentro de los Casos de Uso y Casos de Prueba (test).
2.4.1 Listado de subsistemas
Al igual que los actores, los subsistemas pueden ser consultados en el listado de subsistemas que se abrirá a partir de una opción en el menu lateral izquierdo llamada "Subsistemas".
En este listado se mostrará la siguiente información:
Los subsistemas de una aplicación/componente se tendrán que dar de alta en Jira a través de un tique del tipo "Tarea general" en el proyecto "Estela". Se debe incluir en la descripción la siguiente información:
Para proyectos que siguen el modelo "Aplicación-Componente" se establecerán los componentes necesarios y se informarán tanto en los Casos de uso como en los Test. (Ver figura 6.1 y 6.2)
Al igual que en los subsistemas, los componentes pueden ser consultados en un listado que se abrirá a partir de una opción en el menú lateral izquierdo llamada "Componentes".
En este listado se mostrará entre otra información lo siguiente:
Los componentes de un proyecto que sigue el modelo "Aplicación-Componente" se tendrán que dar de alta en Jira a través de un tique del tipo "Subtarea general" en el proyecto "TRANSFOR" correspondiente. Se debe incluir la siguiente información:
Se identificarán los Casos de prueba o Test necesarios para cubrir la funcionalidad de los casos de uso que estén relacionados.
Los estados de un "Test" son: "OPENED", "VIGENTE", "PARALIZADA(*)" y "CLOSED).
Cuando se crea el Test, su estado inicial será "OPENED".
A continuación, será necesario actualizar los siguientes campos:
Una vez que la primera PLH (PL Versión Hija) llegue a estado "CERRADA" con resolución "RESUELTA", el Test pasará automáticamente al estado "VIGENTE" y se actualizarán los campos "Versión Afectada" y "Versión Correctora".
En caso de que los pasos descritos en el Test queden obsoletos, el Proveedor podrá cerrarlo pasando al estado "CERRADA" con resolución "Deprecada".
El estado PARALIZADA solamente es usado por el equipo de la OCA.
La creación de un test se hará directamente desde el propio caso de uso, puesto que los test están directamente relacionados con los criterios definidos en ese espacio, entonces, hay una opción "Nuevo Test" dentro del tique el cual abrirá un formulario de registro con el tipo "Test" asignado.
Los campos que hay que definir son los siguientes:
Given / When / Then
).Los casos de prueba deben ser descritos garantizando que cada prueba sea comprensible, reproducible y ejecutable por cualquier tester, ya sea utilizando el tipo Test Manual o el tipo Test Cucumber e independientemente de su familiaridad con la aplicación o dominio funcional.
Pautas generales para ambos tipos de casos de prueba que se han de tener en cuenta en la redacción:
# Requiere producto "AX123" previamente cargado en el sistema
En ocasiones puede ocurrir que el caso de uso tenga algún tipo de relación con pruebas existentes o directamente modifican funcionalidades en tests ya existentes, en esos casos, en lugar de crear un test nuevo se enlazará al caso de uso.
La opción de"+ Enlace" está justo al lado del botón "Crear Test" dentro del CU. Al seleccionar esta opción se abre una ventana que permite introducir el código de un tique de test o varios y al guardarlo quedan esos tests relacionados al CU.
Es importante que se tenga en cuenta que un Test podrá estar enlazado con uno o varios CU sólo si estos pertenecen a la misma Mejora.
Todos los tiques del tipo "Test" en Jira se gestionan a través de un plug-in llamado XRay. Este nos proporciona diferentes ventajas que ayudan a mantener un control sobre todo el proceso de testing. Una de estas ventajas es el repositorio de XRay donde se van a guardar los tiques creados del tipo "Test" y donde se van a poder organizar.
Empezando por lo básico, este repositorio está disponible desde el menu lateral izquierdo de Jira o desde el menu en la cabecera abriendo las opciones de "Test".
El repositorio se visualizará de la siguiente manera, donde se muestra una lista de tests del proyecto seleccionado y un apartado con las carpetas por defecto (en caso de no haber creado ninguna todavía):
El repositorio de XRay se divide en carpetas y sigue un esquema en forma de arbol donde, dependiendo del tipo de proyecto, se seguirán unas pautas u otras. Los tipos de proyectos contemplados son:
Una vez creada la estructura por carpetas se puede realizar una subdivisión extra para identificar más rápidamente los test. En esta ocasión será el propio equipo que deberá escoger la forma más adecuada, ahora bien, aquí se proponen algunas ideas que pueden ser interesantes:
Por defecto, todos los tests se guardan en la carpeta "Sin Asignar", si hubiera carpetas creadas, esta asignación se podría hacer desde el formulario de creación del test o desde el mismo repositorio arrastrando los test hacia el lugar que corresponda. Para crear las carpetas, se selecciona la opción "+" en la parte de abajo de la estructura de carpetas (ver figura 16) y se creará una carpeta en la carpeta raíz previamente seleccionada.
En este apartado queremos hacer hincapié en la necesidad de identificar qué pruebas van a formar parte del plan regresión desde el inicio del proyecto e ir ampliando poco a poco dicho plan con los nuevos casos de Test de cada nueva entrega. Para ello se usará el campo "Etiquetas" con el valor "TESTING_REGRESION".
Por otro lado se requerirá el mantenimiento de dicha regresión, actualizando el estado(vigente/deprecado) o las etiquetas de los test para marcar/desmarcar la regresión del mismo.
IMPORTANTE: se deberá informar al equipo de la OCA de cualquier cambio en la regresión del proyecto (baja o actualización de tests) para poder mantener lo más actualizado posible el Test plan de regresión del proyecto de cuya gestión se encarga dicho equipo.
Un caso de uso contiene una descripción textual de todas las maneras que los actores previstos podrían trabajar con el software o el sistema. Los casos de uso no describen ninguna funcionalidad interna (oculta al exterior) del sistema, ni explican cómo se implementará. Simplemente muestran los pasos que el actor sigue para realizar una tarea.
Un caso de uso debe:
Los casos de uso, como el resto de los requisitos, deben tener una redacción cuidada para evitar problemas de interpretación. En general, algunas recomendaciones a tener en cuenta son:
Un test en aplicaciones de software es un proceso sistemático que busca identificar errores, verificar que el software cumpla con los requisitos especificados y garantizar que funcione como se espera. Los tests pueden clasificarse en diferentes subtipos, cada uno con un enfoque específico:
Test Documental: Este tipo de prueba se centra en evaluar la documentación del software, como los requisitos, los manuales de usuario y las especificaciones técnicas. Su objetivo es asegurarse de que la documentación esté completa, sea clara y refleje con precisión el funcionamiento del software.
Test de Integración (OTI - Servicios): Se realiza para verificar que diferentes módulos o componentes del software funcionen correctamente juntos. Este tipo de prueba asegura que las interfaces entre componentes sean correctas y que los datos fluyan adecuadamente entre ellos.
Test End-To-End (Funcionales de integración E2E): Este tipo de prueba evalúa el flujo completo de la aplicación, desde el inicio hasta el final, simulando la experiencia del usuario. Se comprueba que todas las partes del sistema interactúan correctamente y que se cumplen los requisitos de negocio en escenarios reales.
Test de Accesibilidad: Se enfoca en garantizar que el software sea accesible para todos los usuarios, incluidas personas con discapacidades. Esto implica verificar que la interfaz cumpla con estándares de accesibilidad y que las funcionalidades sean utilizables por todos.
Test Funcional: Este tipo de prueba verifica que el software cumpla con los requisitos funcionales especificados. Se evalúa cada funcionalidad de la aplicación para asegurarse de que produzca los resultados esperados y que se comporte de acuerdo con las especificaciones.
Test de Seguridad: Se realiza para identificar vulnerabilidades en el software y garantizar que los datos y sistemas estén protegidos contra amenazas y ataques. Esto incluye pruebas de autenticación, autorización, encriptación y resistencia a ataques comunes.
Cada uno de estos subtipos de prueba es esencial para asegurar la calidad y el rendimiento del software, así como para proporcionar una experiencia positiva al usuario final.
A tener en cuenta: las pruebas Documentales, de Integración, Accesibilidad y de Seguridad serán gestionadas por el equipo de la OCA a partir de las plantillas que dispone en cada uno de los subtipos.