Pruebas Funcionales

Las pruebas funcionales permiten verificar el correcto funcionamiento del software para medir el nivel de eficacia y eficiencia del aplicativo, es decir que los resultados o salidas del sistema sean exactamente los que están definidos en las especificaciones y los requerimientos definidos por el usuario. La salida o producto del módulo de software debe ser lo que el usuario exactamente espera y requiere.

Las pruebas Funcionales se realizarán en módulos-componentes-aplicativos que el usuario defina, mediante la ejecución, revisión y retroalimentación de la funcionalidad del módulo a probar para verificar, que el resultado obtenido es igual a la función definida en los requerimientos funcionales, con los cuales fue diseñado el software, con un esquema de prueba que contempla el ciclo de entrada, proceso y salida,  denominado esquema de Caja negra. Igualmente la prueba detecta fallas que se pueden identificar en su funcionamiento

Para desarrollar el proceso de pruebas funcionales se deben seguir las siguientes etapas:

1. Planeación de Pruebas

En esta etapa se debe preparar un plan de la prueba que debe contemplar lo siguiente:

  • Alcance de la prueba: Determina que funcionalidades o módulos del producto y/o software serán probadas. Igualmente se debe establecer la prioridad de los módulos que se deben evaluar o probar y la profundidad o rigurosidad de la prueba.
  • Estrategia de Pruebas: Se debe especificar  los criterios, argumentos  o datos de entrada y salida para el desarrollo de la prueba.
  • Criterios de Salida: Se debe especificar cuál es la salida que se desea obtener para determinar si la prueba falla o es exitosa.
  • Recursos, tiempos, ambientes etc.: Se debe incluir una estimación de tiempos, roles y/o recursos que harán parte del proceso, la preparación del entorno de pruebas, cronograma base, etc.

2. Diseño de Pruebas

En esta fase se revisa y analiza la documentación existente relacionada con el sistema, estos pueden ser: casos de uso, historias de usuario, arquitectura del sistema, diseños, diagramas, lecciones aprendidas, manuales de usuario (si existen), manuales técnicos (si existen).

El diseño de las pruebas debe considerar  la elaboración de casos positivos y negativos.

Por último, se definen los datos de prueba necesarios  para la ejecución de los casos de prueba diseñados.

3. Ejecución de Pruebas: 

Para iniciar la ejecución de la prueba se debe tener los datos de prueba necesarios para la realización de la prueba.

La ejecución de estos casos, puede realizarse de manera manual o automatizada, de acuerdo con la documentación de que se disponga o con el conocimiento y experticia del usuario que conoce y maneja el proceso.

El sistema deberá validar en línea los datos ingresados por el usuario que haga la prueba.

Una vez el defecto ha sido corregido por el área técnica en su respectivo proceso de depuración, es necesario ejecutar nuevamente la prueba (re-test) para confirmar que el defecto fue solucionado de manera exitosa.

Finalmente se debe ejecutar un proceso de regresión (RollBack) que garantice que los defectos corregidos en el proceso de depuración  no hayan desencadenado otros tipos de defectos en el sistema.

4. Evaluación de Criterios de Salida

Se debe tener claramente definido cuál es el resultado esperado contra el cual se compara el resultado de la prueba y establecer si la prueba es exitosa o errónea.

También se puede determinar si el resultado es exitoso si se tienen métricas, contra los cuales se compara el resultado obtenido.

5. Informes de la prueba

Se diligencian los formatos o documentos del desarrollo de la prueba, adjuntar los documentos de soporte, adjuntar la información de los errores encontrados, documentar las lecciones aprendidas para aplicarla en futuras pruebas o proyectos. 

Los informes deben ser socializados a los usuarios responsables e interesados en el proceso de la ejecución de las pruebas.

Finalmente se expide un certificado de la prueba realizada.

Pruebas de Servicio Web

Las pruebas de Servicio Web se efectúan mediante herramientas informáticas para efectuar el análisis, interpretación y estructura del Web Service para enviar información a través de una trama o una data generada, y para obtener la respuesta que muestra el Web Service sobre el cual se está realizando la prueba.

Pruebas Móviles

Mediante las pruebas Móviles se realizan pruebas funcionales de las APP,  para analizar y verificar el correcto funcionamiento de las diferentes plataformas disponibles en el mercado como:

  • Android
  • IOS
  • Windows Phone

Pruebas de Usabilidad 

Las pruebas de usabilidad están encaminadas a evaluar la facilidad y el esfuerzo necesario para utilizar el software por parte del usuario experto en el manejo del proceso que desarrolla con la utilización del módulo de software que sirve de herramienta de apoyo para la ejecución de las tareas del respectivo proceso que se desee evaluar.

Metodología

Pruebas de rendimiento

Pruebas No Funcionales

Mediante las Pruebas No Funcionales (PNF) se verifica que el software desarrollado cumple con los requerimientos no funcionales establecidos por el cliente y se centran en CÓMO trabaja el sistema, verificando el desempeño del software según diferentes criterios de medición. Las pruebas no funcionales describen las pruebas requeridas para medir el rendimiento del sistema y software. 

Pruebas de Recorrido de la Aplicación

Consiste en recorrer la aplicación desde un punto de vista de usuario final, en donde:

  1. Se registraran todas las acciones realizadas, peticiones (Request), respuestas (Response), tamaño de las respuestas y tiempo de respuesta.
  2. Se analizará la existencia de acciones que puedan ser simplificadas, existencia de consultas redundantes, tamaño de cada respuesta que se debe encontrar dentro de los criterios aceptables, se utiliza gzip para comprimir el tráfico; además se verificará la existencia de peticiones que generen errores

El desarrollo de estas pruebas permite  identificar:

  • Tamaño en bytes de cada acción (clic y/o postbacks)
  • Acciones redundantes.
  • Acciones que pudieran ser simplificadas para reducir la cantidad de pasos para completar un flujo de actividades. 

Pruebas de simulación de consultas SQL concurrentes

El desarrollo de estas pruebas consiste en simular de forma concurrente, una cantidad determinada de usuarios, ejecutando consultas SQL, mediante las siguientes actividades:

Pruebas de simulación de consultas MDX concurrentes en Cubo OLAP

Simula de forma concurrente, una cantidad determinada de usuarios, ejecutando consultas MDX en cubo OLAP, mediante las siguientes actividades:

1. Identificar las consultas a evaluar

  • Generar las consultas disponibles en el Cubo.
  • Realizar una traza en el cubo durante su uso por parte de usuarios, para obtener las consultas MDX realizadas. 

2. Establecer cantidad de usuarios a simular

  • Determinar de acuerdo con lo proyectado, cuantas consultas MDX concurrentes se esperan sobre la base de datos.

3. Establecer topología de pruebas

  • Identificar la topología de acceso al Cubo y su posible efecto durante las pruebas.

4. Establecer plan de pruebas

  • Desarrollar casos de prueba y scripts.
  • Determinar cantidad de pruebas, cantidad de usuarios, tiempo por cada prueba.

5. Probar

  • Iniciar las pruebas en las ventanas de tiempo establecidas.

Con el fin de identificar:

  • Comportamiento del Cubo con carga mínima y máxima.
  • Punto en el cual el Cubo empieza a responder en tiempos de respuesta mayores a los criterios aceptables. 

Pruebas de simulación de impresión de documentos

Simula el envío continuo de documentos hacia servidores de impresión, mediante las siguientes actividades:

1. Identificar las impresiones a evaluar

  • Realizar trazas de impresiones estándar.

2. Establecer cantidad de usuarios a simular

  • Determinar de acuerdo con lo proyectado, cuantas impresiones concurrentes se esperan sobre el servidor de impresión.

3. Establecer topología de pruebas

  • Identificar la topología de acceso hacia el servidor de impresión y su posible efecto durante las pruebas.

4. Establecer plan de pruebas

  • Desarrollar casos de prueba y scripts.
  • Determinar cantidad de pruebas, cantidad de usuarios, tiempo por cada prueba.

5. Probar

  • Iniciar las pruebas en las ventanas de tiempo establecidas.

Con el fin de identificar:

  • Comportamiento del Servicio de Impresión con carga mínima y máxima.
  • Punto en el cual el Servicio de Impresión empieza a responder en tiempos de respuesta mayores a los criterios aceptables. 

Pruebas de análisis dinámico del código fuente

El análisis de código dinámico es el método mediante el cual se prueba una aplicación durante su ejecución. El proceso de análisis dinámico puede dividirse en varias etapas: la preparación de los datos de entrada, ejecutar una prueba de ejecución del programa, obtener los parámetros necesarios, y analizar los datos de salida. Cuando se realiza la prueba de ejecución, el programa se puede ejecutar tanto en un servidor real o uno virtual. El código fuente debe ser necesariamente compilado en un archivo ejecutable, es decir, no puede utilizar este método para analizar un código que contenga la compilación o errores de compilación.

Éste análisis dinámico puede realizarse en programas escritos en distintos lenguajes de programación: C, C++ , Java, C#, PHP, Python, Erlang, y muchos otros.

La prueba dinámica es una de las más importantes, pues en esta se comprueba la confiabilidad del programa, los tiempos de respuesta y los recursos consumidos. Puede ser, por ejemplo, un sistema de gestión en tiempo real de una producción responsable de área o de un servidor de base de datos. Cualquier fallo que se produce en estos sistemas puede ser crítico.

Las pruebas dinámicas permiten asegurar que el producto funciona bien o revela errores mostrando que el programa no funciona de la manera esperada.

Para mayor información:

Pablo Benavides G. | Gerente de Consultoría y Sistemas
E-mail: pablo.benavides@co.gt.com
Tel. Oficina +57 1 7059000 Ext. 1701; Cel 310 232 4660

Recibe nuestras Alertas y boletines Suscríbete