Introducción

La empresa donde labora Juan contrató a un equipo de desarrollo de software para que les hagan un sistema de gestión de incidencias que permita controlar todos los eventos ocurridos durante el día. El equipo de desarrollo ha terminado el nuevo producto y están a punto de ponerlo en etapa de producción.

Para poder pasar a esta última etapa es necesario realizar las pruebas de ejecución de software para determinar si cumple con todos los requerimientos solicitados, descubrir algún fallo en el nuevo producto que pudiera ocasionar algún problema y si los equipos en donde será instalado son los suficientemente potentes para ejecutar la aplicación.

Juan no tiene conocimientos sobre esta actividad y tiene muchas interrogantes: ¿Qué actividades se deben realizar?, ¿cómo se deben realizar esas actividades?, ¿cómo y a quien hay que reportar los resultados de estas pruebas?

Es común que cuando una aplicación está a punto de instalarse para usar en el mundo real en las actividades de una empresa, se deban realizar ciertas actividades para validar su funcionamiento. Particularmente en el caso de Juan existen ciertas prácticas que deben ejecutarse antes de realizar las pruebas, ejecutar las pruebas y documentar los resultados de dichas pruebas para ser analizadas; estas actividades dan respuestas a las tres interrogantes previamente enunciadas.

En este tema aprenderás a reconocer las actividades previas antes de realizar las pruebas de ejecución de software, y todo lo necesario para ejecutarlas sin contratiempo.

Explicación

Introducción a las actividades previas a la prueba de software

Es común que en cualquier proyecto se generen ciertos documentos, reportes y gráficas que describen qué, cómo y cuándo se deben ejecutar los trabajos correspondientes al proyecto. Los proyectos de software no son ajenos a este tipo de información, documentos como las historias de usuarios, diagramas de casos de uso, diagramas de despliegue, acuerdos de aceptación, pruebas de humo; son documentos necesarios para cualquier persona que quiera ejecutar pruebas a una aplicación que ha finalizado su desarrollo o a la adquisición de un nuevo sistema, y que está en un ambiente de calidad.

Además de esos documentos se debe también conocer la fase en la que se ejecutarán las pruebas y el tipo de pruebas a realizar (etapa de desarrollo, calidad o producción), también serán necesario informar a todos los integrantes del equipo de proyectos o la dirección de tecnologías de información según sea el caso.

En esta fase, validar actividades previas a la prueba de software, se aplican ciertas técnicas que ayudarán a generar un documento que registra todas las pruebas, fechas, precondiciones y postcondiciones necesarias para que la prueba tenga éxito; este escrito será utilizado por el ejecutor de dichas pruebas sobre el software a probar.

De acuerdo con el estándar de CONOCER (2020) en la competencia Ejecución de prueba de software se describen algunos elementos de forma general que ayudarán a entender mejor las actividades previas a la prueba de software:

  • Historias de usuarios
    Son un conjunto de requerimientos no técnicos que recaban todas las necesidades de usuarios que son utilizados para la elaboración de un sistema; aquí también se encuentran los acuerdos de aceptación o validación que el usuario ha establecido para que al finalizar un módulo sea como su nombre lo indica aceptado.
  • Diagramas de casos de uso
    Son representaciones gráficas en Lenguaje de Modelado Unificado (UML, del inglés Unified Modelling Language), con la que se dibujan procesos de sistemas, procesos empresariales, etc.; mostrando de forma amigable la relación entre un usuario de sistema y sus requisitos o expectativas.
  • Diagramas de despliegue
    Al igual que los diagramas de casos de uso, son representaciones gráficas en UML que muestran la arquitectura física donde se ejecutará un sistema. En el diagrama de despliegue se incluyen todos los elementos de hardware o software, conexiones de red y protocolos necesarios para entender la forma de despliegue del sistema en una red empresarial privada o sobre internet.
  • Acuerdos de aceptación
    Es un documento donde se registran los acuerdos entre un cliente solicitante de software y el equipo que va a desarrollar el software, estos se recaban al inicio de un proyecto de desarrollo de software, antes de la implantación de un sistema o en la compra de algún bien tangible o intangible; y este documento ayudará al ejecutor de pruebas para determinar qué pruebas deberá ejecutar que demostrarán que se han cumplido con dichos acuerdos.
  • Pruebas de humo
    Son pruebas generales que se ejecutan en el momento de la publicación del software a un ambiente de calidad o producción, y tienen como objetivo validar la estabilidad de la nueva publicación y detectar algún fallo antes de la ejecución de las baterías de pruebas reales. Las pruebas de humo se realizan al finalizar el desarrollo después de la compilación.
  • Casos de prueba
    Son documentos que definen las cosas que son necesarias validar y que ayudarán a encontrar fallos que podrían afectar el funcionamiento del sistema. Con esto se asegura que el sistema funciona correctamente. Este documento debe responder a la pregunta ¿Qué voy a probar?
  • Validar actividades previas a la prueba de software
    El proceso de definir, desarrollar y preparar un documento en Excel donde se importan todos los casos de pruebas que serán ejecutadas en el proceso de ejecución de pruebas. Estas acciones previas proporcionarán el conocimiento del proyecto o software en cuestión, todos los elementos necesarios para cuando se estén ejecutando las pruebas, un listado de las pruebas a ejecutar con precondiciones o postcondiciones, etc. El gráfico siguiente ilustra el diagrama de flujo de los datos necesarios de entradas, las técnicas a aplicar y la salida con todas las pruebas necesarias a aplicar al software en cuestión.
  • Entradas
    Aunque no son los únicos, estos documentos darán una idea clara del software en cuestión, ya sea un nuevo desarrollo o la adquisición de algún sistema que se esté implantando en una organización. Con los elementos de entrada se pueden determinar quién es la persona interesada en conocer si el aplicativo cumple con lo que se espera que haga o si pudiera ocurrir algún problema por el tipo de hardware que se esté usando para su ejecución. Además, se puede identificar a la esta persona líder de pruebas.

Líder de pruebas

El líder de pruebas es la persona que tiene conocimiento y experiencia en el diseño, ejecución y reportes de pruebas en un software, además puede dar seguimiento a todas las pruebas que se realicen en una organización, coordina al conjunto de personal dedicado a esta tarea.

Cuando se está por iniciar alguna prueba, es a el líder de pruebas al que se le debe notificar vía correo electrónico o por algún medio de comunicación el inicio de:

  • Las pruebas de humo.
  • La batería de pruebas.
  • Conclusión y resultado de las pruebas.

Herramientas y técnicas

Las herramientas y técnicas ayudarán en el proceso de cómo se debe abordar el conjunto de pruebas que se aplicarán al software en cuestión. Consultando opiniones de expertos se clarifican más las necesidades de las pruebas, también se puede revisar documentación histórica o algún proyecto similar. Aquí también son importantes las habilidades interpersonales o habilidades blandas en la comunicación e interacción con los demás, ya que, el ejecutor de las pruebas debe poder demostrar responsabilidad, orden e iniciativa.

A través de las reuniones que no son obligatorias, se pueden obtener más información de lo que se espera del software, la importancia y consecuencias si se produjera algún error.

Las pruebas de humo ayudarán a determinar si el software está listo para iniciar la batería de pruebas o si es necesario hacer algún ajuste antes de iniciar, recuerda que estas pruebas se ejecutan inmediatamente después de una publicación a los ambientes de calidad o producción.

Salida

Al finalizar el proceso se tendrá como resultado un listado de todas las pruebas que deberán ser ejecutadas y una idea clara de lo que se va a probar. Este listado puede ser manejado a través de alguna herramienta automatizada o en una hoja de cálculo como Microsoft Excel u Open Office.

El formato y orden de la información no es obligatorio, pero se puede organizar como se muestra en la siguiente figura:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

Asimismo, es importante poder definir el medio de comunicación con el líder de pruebas, por ejemplo, mediante correo electrónico. Esta comunicación servirá para solicitar autorización de inicios de pruebas, el desarrollo y conclusión.

En todo momento y sin importar el medio se debe proporcionar información clara de: 

  • Nombre del proyecto.
  • Plan de ejecución de pruebas.
  • Ciclo de prueba.
  • Objetivo de la prueba.
  • Si se han concluido las pruebas de humo, los resultados/observaciones resultantes.

Para que tengas una mayor comprensión del proceso de la ejecución de una prueba de software, visualiza el siguiente video en el que encontrarás paso a paso la información

Cierre

Validar actividades previas a la prueba de software, este proceso es de análisis, comprensión y organización de todos los elementos necesarios antes de ejecutar una batería de pruebas a un software, en desarrollo o de nueva adquisición. Será necesario consultar los antecedentes del proyecto reuniendo la documentación de las historias de usuario, diagramas UML de caso y despliegue, acuerdos de aceptación, etc.

Aplicando herramientas y técnicas se podrá adquirir el conocimiento necesario del software de lo que se quiere probar y la importancia de los resultados; finalizando con un listado del conjunto de pruebas o baterías de pruebas a ejecutar.

Las pruebas de humo que son pruebas generales ayudarán a determinar si el software está listo para ejecutar la batería de pruebas. Al iniciar este proceso será también importante estar en comunicación con el Líder de Pruebas vía correo electrónico o cualquier otro medio de comunicación.

Checkpoint

Asegúrate de:

  • Comprender las actividades previas a la ejecución de pruebas de software.
  • Determinar los elementos necesarios para elaborar un listado de baterías de pruebas a ejecutar.
  • Aplicar las herramientas y técnicas que ayuden a elaborar el listado de pruebas.

Referencias bibliográficas

  • CONOCER. (2020). EC1252 Ejecución de pruebas de software. Recuperado de https://www.conocer.gob.mx/contenido/publicaciones_dof/2020/EC1252.pdf

Recursos requeridos

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

"Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio".