4.1.1 Características del sistema
El modelo W propone una serie de pruebas, con diferentes características a realizarse en determinadas etapas del desarrollo. Se debe obtener la información que requiere cada tipo de prueba y asociarse a la etapa e iteración en que se aplica. Una vez que se ejecute alguna prueba, también se deben registrar los resultados, si fue exitosa o no, si se encontraron errores y cuantos, alguna observación acerca de la ejecución o si no fue posible completarla.
Está entre las actividades mencionadas, el análisis de resultados, el cual permite conocer las características del desarrollo, su calidad o deficiencias, entre otras cosas. Este proceso puede considerarse como el más importante pero es también el más complicado, ya que depende de forma directa de las características del sistema, su propósito, el entorno en el que se va a aplicar, el número de usuarios, etc. Por tanto la forma de realizar el análisis puede tener diversas alternativas.
Dado que la cantidad de pruebas a realizar y la información generada en este proceso, pueden llegar a ser importantes en volumen e involucra a varias personas, se requiere de una
CAPITULO 4 SISTEMA PARA LA GENERACIÓN DE PRUEBAS 53
herramienta de software que permita controlar la planeación de pruebas y el registro de resultados.
También es importante llevar un control del personal que realiza cada una de las operaciones y el momento en que las realiza, para lo cual se requiere establecer roles.
4.1.2 Identificación de requerimientos
En el proceso de prueba existen dos tipos, de alto y bajo nivel. Cada tipo se enfoca a aspectos particulares del software. El sistema a desarrollar, debe mostrar las particularidades de cada prueba y proveer los mecanismos necesarios para registrar los datos necesarios para cada tipo, por lo que es importante precisar la información que debe considerar cada prueba e identificar la etapa a la que pertenece.
El sistema debe almacenar y permitir la consulta del plan general de pruebas, el cual contendrá la información de los aspectos globales en lo concerniente a las pruebas, objetivo, descripción, políticas, tipos de pruebas, estrategias y métricas a utilizar en todo el proyecto.
También se requiere registrar los datos del proyecto, como el nombre, tiempo estimado de duración, una descripción general, estimación del número de iteraciones, fecha de inicio del proyecto, el personal disponible para el desarrollo, sus datos, al igual que la especialidad de cada miembro del equipo y el rol que desempeñará.
Se debe llevar registro del inicio y finalización de cada tipo de pruebas, recabar la información del estatus (si está en ejecución, si concluyó, no se pudo realizar, etc.), los criterios de aceptación de la misma, quién realiza la planeación, ejecución y revisión de la prueba.
En el caso de las pruebas de iteración, se debe controlar además del tipo de prueba, la iteración a la cual corresponde. En todos los casos registrar si es el caso, errores, fallas y defectos,
CAPITULO 4 SISTEMA PARA LA GENERACIÓN DE PRUEBAS 54
u observaciones acerca de cualquier situación anómala que se haya presentado. En todo momento se debe disponer de algún mecanismo que permita revisar tanto la planeación de pruebas, como el estado de las mismas, de los distintos tipos de pruebas y de cada una de las iteraciones.
4.1.3 Descripción de la solución
La alternativa de solución para este problema consiste en englobar todas las pruebas como un solo proceso y realizarlo en tres etapas: planeación, ejecución y resumen. Este proceso se muestra en la figura 4.1.
Figura 4.1 Esquema general del prototipo
Desde esta perspectiva, se desarrolla el sistema de forma que la información de cada prueba, se almacena en tres etapas: la planeación registra los datos particulares de cada prueba y quién la realizó; la ejecución, almacena los datos de cuándo se ejecuta la prueba, quién la realiza y características generales; finalmente en el resumen de la prueba se registra cuándo finalizó la ejecución, las incidencias encontradas, quién revisa los resultados, si se concluyó la prueba adecuadamente y si se cumplen los criterios de aceptación.
Con los datos obtenidos se generan reportes por tipo de prueba, por fechas, por estatus de las pruebas o por usuarios. También se lleva registro del personal involucrado en el sistema y las actividades a las que está asignado, con la finalidad de realizar seguimiento de quien realiza las actividades en todo el proceso de desarrollo.
Alto nivel Bajo nivel Prueba
Ejecución
CAPITULO 4 SISTEMA PARA LA GENERACIÓN DE PRUEBAS 55
En la figura 4.2 se muestra el diagrama de actividades, que modela la solución para el problema planteado, también se toma como base la perspectiva de la figura 4.1
4.1.4 Resultados esperados
Las metas que se pretende conseguir, se listan a continuación:
• Controlar, a través del sistema el manejo de información, de los diversos tipos de pruebas y facilitar el registro de la información (uso de plantillas de captura).
• El mecanismo de registro de información, de los procesos de prueba debe ser incremental. • Facilitar el seguimiento de las pruebas realizadas a lo largo del desarrollo.
• Proveer de control de pruebas que se realizan en las iteraciones.
• Posibilitar listados de las pruebas conforme a criterios como: fechas, estatus de la prueba, persona que ejecuta la prueba, etc.
• Mantener un control de las actividades y del personal que opera el sistema.
4.1.5 Limitantes
En cuanto a las características requeridas del sistema planteado, existen procesos que pueden llegar a un alto nivel de automatización, como es el caso del análisis de resultados, generación de estadísticas, la aplicación e inclusión de métricas de acuerdo al tipo de proyecto, el conteo de líneas de código del sistema por cada iteración, etc.
Sin embargo, debido a la complejidad para realizar estas tareas y a que el alcance de este trabajo sólo consiste en desarrollar un prototipo, únicamente se considera el registro de la información en las etapas que se muestran en la figura 4.1 y el resultado de incidencias, que pueden obtenerse con ayuda de otras herramientas de software (por ejemplo el conteo de las líneas de código).
CAPITULO 4 SISTEMA PARA LA GENERACIÓN DE PRUEBAS 56
CAPITULO 4 SISTEMA PARA LA GENERACIÓN DE PRUEBAS 57