Reyes Sánchez García/ octubre 14, 2021/ Gestión de la calidad/ 0 comentarios
Tiempo de lectura: 4 minutosHoy vamos a hablar sobre la importancia de tener entornos de pruebas herméticos. Todavía queda mucho que saber y trasmitir a los equipos respecto a los procesos de QA, pero sin duda este es un punto clave. Son muchas las organizaciones que desean implantar un equipo de calidad, porque desean mejorar la calidad de sus desarrollos. Sin embargo, no son consientes de la envergadura de los cambios que deberán realizar para adaptar sus procesos a metodologías de testing.
Aunque hoy analizaremos solo uno de los puntos: la importancia de tener entornos de pruebas aislados. ¿Quieres saber en qué nos beneficia? ¿Y cuáles son las consecuencias de no mantener entornos de pruebas herméticos? Pues sigue leyendo.
Índice de contenidos
¿Qué es un entorno de pruebas?
En primer lugar, tenemos que saber qué es un entorno de pruebas. Es un espacio o ambiente dedicado a las pruebas de nuestro producto. Este entorno debe ser una copia exacta del entorno real, pero dedicado a probar el correcto funcionamiento del sistema ante cambios realizados. En otras palabras, tenemos un entorno que se puede romper sin repercusión para la imagen de nuestra organización y sin darnos muchos dolores de cabeza.
En función del volumen del proyecto y de las necesidades, pueden ser necesarios varios entornos asociados a los distintos niveles de pruebas. Por tanto, se dispondrá, por ejemplo de un entorno para desarrollar y consolidar, otro para pruebas de integración u otro para pruebas de cliente. Seguramente, cada uno de ellos, se debe cumplir una serie de características definidas.
¿Qué características debe cumplir un entorno de pruebas?
-
Actualizado con PRODUCCIÓN
Lo ideal es que sea idéntico al entorno real. Aunque sabemos que esto no es siempre algo trivial. Por ello, es importante que, al menos, en las funcionalidades core si se mantengan identicas.
-
Disponemos de Datos Reales
Debemos de disponer de juegos de datos reales y que cubran el máximo abanico de posibilidades o casuísticas distintas. De esta forma podemos hacer pruebas con una cobertura amplia.
-
Dedicado para el Testing
Su uso debe ser exclusivo para pruebas. No debe ser utilizado para realizar desarrollos o aplicar otros cambios simultáneos.
-
Solo para un correctivo o evolutivo simultáneo
El entorno debe estar listo para probar un conjunto de funcionalidades relacionadas o no. Validaremos la ausencia de defectos o corregiremos las incidencias encontradas, sin hacer ninguna modificación más sobre el entorno. Por ejemplo: No podemos incluir el código de otro correctivo, si todavía no se han cerrado las pruebas que se está ejecutando actualmente.
¿Por qué necesitamos un entorno de pruebas hermético?
En tercer lugar, se debe tener en cuenta que en muchas ocasiones se realizan análisis preliminares y no se detecta impactos de un paquete de software frente a otro. Sin embargo, siempre existe una mínima posibilidad de impacto no detectado. Cuando se opta por modificar el entorno de prueba, a mitad de una ejecución destruimos la veracidad de nuestra ejecución de pruebas. En otras palabras, no se mantienen el entorno aislando. Esta situación ocasiona que puedan surgir nuevos defectos sobre casos de pruebas ya validados. Y por tanto, se daría el ok a un software de baja calidad.
Nos encontraríamos en una situación en la que tenemos un software parcialmente validado, y se realizarían cambios sobre el entorno. De esta forma, además de volver a ejecutar todos los casos previamente ejecutados, puede que sea necesario incluir nuevos juegos de pruebas para ampliar coberturas en nuevos casos. Un correcto proceso de QA sería, al menos, analizar el impacto de ese software y definir un mínimo de casos de regresión y de integración. Además, de volver a repetir todas las ejecuciones.
¿Qué riesgos se tienen al hacer cambios en el entorno de pruebas?
En cuarto lugar, es importante ser conscientes de los riesgos. Cómo se ha mencionado, en el párrafo anterior, se pueden encontrar las siguientes situaciones cuando no tenemos entornos de pruebas herméticos:
- Nuestra suite de pruebas queda obsoleta. Es necesario añadir nuevos casos.
- Pasar por alto defectos existentes en casos ya validados.
- Promocionar a PRODUCCIÓN un software con errores.
- Dañar la imagen de nuestra organización.
- Perjudicar la imagen de nuestro cliente.
¿Qué se debe hacer cuando la calidad de las pruebas ha sido comprometida?
Si por algún motivo no se ha cumplido las premisas de entornos de pruebas herméticos, debemos descartar la sensación de desarrollo validado. Independientemente del avance de las ejecuciones, aunque sea de un 99% del plan de pruebas, se debe volver a ejecutar el conjunto de pruebas. Solo en situaciones muy excepcionales, se repetirían solo las ejecuciones más «core» del flujo. Sobre todo, es importante destacar que no es la opción más recomendable. Siempre se puede escapar un defecto.
Hay que tener en cuenta que, se tiene que volver a ejecutar los casos con la misma atención que antes, o incluso poniendo más foco. Sobre todo, debido a la repetición de las ejecuciones, se pueden escapar defectos anteriormente no detectados.
Conclusión: Para asegurar la calidad debemos tener entornos de pruebas herméticos
En último lugar, nos tenemos que quedar con el mensaje de que: es imprescindible mantener los entornos de pruebas herméticos para asegurar la calidad del producto en pruebas. Cualquier fisura en el entorno puede ocasionar errores en el producto, y dañar la imagen de nuestra organización. Sobre todo, es importante transmitir al equipo estos procedimientos de QA para que sean conscientes de las consecuencias de hacer excepciones. En conclusión, tanto desarrollo como Testing deben velar por el aislamiento de los entornos de prueba para mejorar la calidad del equipo.