¿Qué son las pruebas de configuración? Casos de prueba de ejemplo

⚡ Resumen inteligente

Las pruebas de configuración ejecutan una aplicación en múltiples combinaciones de software y hardware, de modo que un equipo pueda confirmar que los requisitos funcionales se mantienen en todas partes y pueda identificar la configuración óptima para el lanzamiento.

  • 🧩 Alcance: OperaLos sistemas operativos, los navegadores, las versiones de bases de datos, los controladores, la memoria y los periféricos se consideran configuraciones.
  • 📐 Dos tipos: Las pruebas de configuración de software abarcan las plataformas y las actualizaciones; las pruebas de configuración de hardware abarcan los dispositivos conectados.
  • 🗂️ Matriz primero: Elabore una matriz de combinaciones y luego priorícela, ya que una cobertura exhaustiva resulta inasequible.
  • 🖥️ Máquinas virtuales: Las instantáneas sustituyen los ciclos repetidos de instalación y desinstalación en máquinas de prueba físicas.
  • 🏦 Ejemplo trabajado: Una aplicación bancaria y sus modelos de máquinas contadoras de billetes ilustran casos de prueba de hardware.
  • ???? Fracaso deliberado: Eliminar un requisito previo a propósito deja al descubierto defectos que un laboratorio completamente equipado oculta.

Pruebas de configuración en diversas combinaciones de software y hardware.

Pruebas de configuración

Pruebas de configuración Es una técnica de prueba de software en la que la aplicación se prueba con múltiples combinaciones de software y hardware, con el fin de evaluar los requisitos funcionales y encontrar las configuraciones óptimas bajo las cuales la aplicación funciona sin defectos ni fallos.

Una configuración es cualquier combinación que el producto debe admitir: una versión del sistema operativo, un navegador, una versión de la base de datos, un controlador, un tamaño de memoria o un periférico conectado. Vale la pena separar esto de pruebas de compatibilidad, que pregunta si el producto coexiste con otros programas y plataformas. Las pruebas de configuración plantean una pregunta más específica: ¿la misma compilación sigue funcionando correctamente una vez que cambia su configuración compatible?

Ejemplo de prueba de configuración

Consideremos una aplicación de escritorio como ejemplo práctico.

Las aplicaciones de escritorio suelen construirse en forma de 2 niveles o 3 niveles. Tomemos como ejemplo una aplicación de escritorio de 3 niveles desarrollada en ASP.NET, que consta de un Cliente, un Servidor de Lógica de Negocio y un Servidor de Base de Datos, donde cada componente admite las plataformas que se enumeran a continuación.

  • Plataforma del cliente – Windows XP, Windows 7, Windows 8, y así sucesivamente
  • Plataforma de servidor – Windows Servidor 2008, Windows Servidor 2008 R2, Windows Servidor 2012 R2
  • Base de datos - SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, etc.

El evaluador debe probar el cliente, el servidor y la base de datos conjuntamente en todas las versiones de plataforma y base de datos, para confirmar que la aplicación funciona correctamente y no falla en ninguna combinación compatible.

Las pruebas de configuración no se limitan al software. También se aplican al hardware, por lo que se denominan pruebas de configuración de hardware: impresoras, escáneres, cámaras web y dispositivos similares que la aplicación bajo prueba debe admitir. La siguiente matriz muestra cómo se organizan estas combinaciones antes de que comience la ejecución de la prueba.

Matriz de pruebas de configuración de combinaciones de cliente, servidor y base de datos.

Requisitos previos para las pruebas de configuración

Antes de que comience la prueba de configuración en cualquier proyecto, deben cumplirse tres requisitos previos.

  • Creación de una matriz que enumere las diversas combinaciones de configuraciones de software y hardware.
  • Priorizar esas configuraciones, porque probarlas todas no es realista.
  • Probar cada configuración en el orden establecido por esa priorización.

Objetivos de las pruebas de configuración

Las pruebas de configuración tienen como objetivo lograr lo siguiente.

  • Validar la aplicación según sus requisitos de configurabilidad.
  • Provocar fallos deliberadamente para sacar a la luz defectos que las pruebas ordinarias no detectan, por ejemplo, cambiando la configuración regional como la zona horaria, el idioma o el formato de fecha.
  • Determinar la configuración óptima de la aplicación bajo prueba.
  • Analice el rendimiento del sistema mientras cambian los recursos de hardware, como agregar balanceadores de carga, aumentar o reducir la memoria o conectar diferentes modelos de impresoras.
  • Analice la eficiencia del sistema en función de la priorización, evaluando qué tan bien las pruebas utilizaron los recursos disponibles para alcanzar esa configuración óptima.
  • Verifique el sistema en un entorno distribuido geográficamente, por ejemplo, con el servidor en una ubicación y los clientes en otra, donde el sistema debería funcionar independientemente de la configuración del sistema local.
  • Verifique con qué facilidad se reproducen los defectos cuando cambia la configuración.
  • Confirme que los elementos de la aplicación permanecen tracposible mediante la documentación adecuada y registros de versiones claramente identificables
  • Confirme que los elementos de la aplicación siguen siendo manejables durante todo el proceso. Ciclo de vida del desarrollo de programas

Cómo hacer pruebas de configuración

La estrategia depende de cuál de los dos tipos de pruebas de configuración esté en estudio.

  • Pruebas de configuración de software
  • Pruebas de configuración de hardware

Pruebas de configuración de software

Las pruebas de configuración de software ejecutan la aplicación bajo prueba en múltiples sistemas operativos, actualizaciones de software y versiones de dependencias. Este proceso consume mucho tiempo, ya que cada ronda implica instalar y desinstalar el software correspondiente.

Una forma común de reducir ese costo es realizar pruebas en maquinas virtualesUna máquina virtual es un entorno instalado en software que se comporta como hardware físico, de modo que el evaluador trabaja como si estuviera en una máquina real, aunque la configuración en sí es desechable. Las máquinas virtuales simulan configuraciones reales con la suficiente precisión para la mayoría de las comprobaciones funcionales.

En lugar de instalar y desinstalar la aplicación en varias máquinas físicas, se instala en una máquina virtual y las pruebas se realizan desde allí. Ejecutar varias máquinas virtuales en paralelo, cada una restaurada a partir de una instantánea, simplifica considerablemente el trabajo.

Las pruebas de configuración del software generalmente pueden comenzar cuando

  • Se especifican los requisitos de configurabilidad que se van a probar.
  • El entorno de prueba está listo
  • El equipo de pruebas está capacitado en pruebas de configuración.
  • La versión publicada ha superado las pruebas unitarias y de integración.

La estrategia de prueba Una estrategia consiste en ejecutar el conjunto de pruebas funcionales en cada configuración de software y verificar que la aplicación se comporta según lo previsto, sin fallos ni errores. Una segunda estrategia consiste en provocar fallos en los casos de prueba de forma deliberada y comprobar la eficiencia con la que el sistema los gestiona.

Ejemplo:

Tomemos como ejemplo una aplicación bancaria que debe probarse en múltiples navegadores. Alojada en un entorno donde se cumplen todos los requisitos previos, es muy probable que pase las pruebas unitarias y pruebas de integración en el laboratorio de pruebas.

Instalada en las instalaciones del cliente, la misma aplicación puede fallar debido a que esas máquinas carecen de actualizaciones de software o de las versiones de las dependencias de las que depende la aplicación, ya sea directa o indirectamente. Provocar fallos en las pruebas eliminando ciertos requisitos de configuración y volviendo a realizarlas permite detectar este tipo de defectos antes de que el cliente los descubra. La siguiente captura de pantalla muestra cómo se reproduce un fallo de este tipo, dependiente de la configuración, en un entorno controlado.

La aplicación bancaria falla en un equipo cliente por falta de requisitos previos.

Pruebas de configuración de hardware

Las pruebas de configuración de hardware generalmente se realizan en un laboratorio que contiene máquinas físicas con diferentes componentes de hardware conectados.

Cada vez que se publica una nueva versión, el software se instala en todas esas máquinas y se ejecuta el conjunto de pruebas en cada una de ellas para confirmar que la aplicación funciona con el dispositivo conectado.

Esa tarea requiere un esfuerzo considerable: instalar el software en cada máquina, conectar el hardware y luego ejecutar el paquete de software manualmente o automatizarlo previamente.

También es necesario especificar el tipo de hardware que se va a probar. La variedad de hardware y periféricos informáticos es tal que resulta imposible abarcarlos todos, por lo que el evaluador analiza en qué dispositivos confían realmente los usuarios y realiza las pruebas según esa priorización.

Casos de prueba de muestra

Consideremos un escenario bancario sometido a pruebas de compatibilidad de hardware. Una aplicación bancaria conectada a una máquina contadora de billetes debe funcionar con varios modelos, como Rolex, Strob, Maxsell y StoK.

Muestra Casos de prueba Para la máquina contadora de billetes, incluya lo siguiente.

  • Verifique la conexión entre la aplicación y el modelo Rolex cuando NO estén instalados los requisitos previos.
  • Verifique la conexión entre la aplicación y el modelo Rolex una vez instalados los requisitos previos.
  • Verifique que el sistema cuente los billetes correctamente.
  • Verifique cómo el sistema informa un error de conteo.
  • Verificar el manejo de los billetes manipulados
  • Verificar los tiempos de respuesta
  • Verificar que se detecten los billetes falsos

Estos casos se refieren a un solo modelo, y cada modelo restante en el mercado debe configurarse en un laboratorio de pruebas y probarse de la misma manera, lo cual rara vez es factible internamente. Subcontratar las pruebas de configuración de hardware a una organización especializada suele ser la opción más realista.

Preguntas Frecuentes

Las pruebas de configuración varían la configuración compatible del producto (sistema operativo, versión de la base de datos, dispositivo conectado) y vuelven a ejecutar el conjunto de pruebas. Las pruebas de compatibilidad verifican que el producto coexista con el software, las plataformas y los navegadores externos con los que debe funcionar.

Tantos como el riesgo lo justifique. El orden lo determina el análisis de uso: primero se cubren las combinaciones de plataforma, navegador y dispositivo que utiliza la mayor parte de la base de usuarios, seguidas de las especificaciones mínimas compatibles.

Por lo general, el equipo de control de calidad, con el apoyo de los administradores de sistemas, se encarga de configurar los entornos. En productos con un alto componente de hardware, un equipo de laboratorio especializado o un especialista externo gestiona la cobertura de los dispositivos físicos.

Plataformas de máquinas virtuales y contenedores para configuraciones de software, laboratorios de dispositivos o granjas de dispositivos en la nube para hardware y navegadores, y una prueba de automatización marco para reproducir el mismo conjunto de pruebas en cada configuración.

La explosión combinatoria, el coste de las licencias y los dispositivos físicos, el lento aprovisionamiento del entorno y los defectos que se reproducen en una sola configuración son problemas comunes. La priorización y la virtualización solucionan la mayoría de ellos.

Tras superar las pruebas unitarias y de integración, y normalmente junto con las pruebas del sistema, este proceso se repite antes de cada lanzamiento importante, ya que una nueva versión del sistema operativo o del controlador puede invalidar los resultados anteriores.

Los modelos clasifican las combinaciones de configuración según el uso real y los datos históricos de defectos, de modo que la matriz se reduce a las filas de mayor riesgo. Además, agrupan los fallos para mostrar cuáles comparten una misma causa de configuración.

Sí. Genera plantillas de pruebas parametrizadas, scripts de aprovisionamiento de entornos y definiciones de trabajos de CI que ejecutan un conjunto de pruebas en diversas configuraciones. La matriz en sí debe provenir de la lista de plataformas compatibles.

Resumir este post con: