La relación entre pruebas continuas y pruebas no funcionales
- Gestión de apps
Ambos tipos de pruebas son necesarias y cada vez más comunes. Repasamos qué se entiende por cada una de ellas y qué relación guardan.
Las pruebas continuas es el proceso de ejecución de pruebas automatizadas como parte del flujo de entrega de software para obtener comentarios sobre los riesgos comerciales asociados con un candidato de lanzamiento de software lo más rápido posible.
Las pruebas no funcionales se refieren a probar la forma en que un sistema opera en lugar de un comportamiento específico del sistema. Si bien las pruebas no funcionales también pueden incluir pruebas de seguridad y aceptación, el caso de uso más común es probar el rendimiento del software: confiabilidad y escalabilidad bajo carga.
La entrega de pruebas no funcionales requiere automatización y existe una amplia gama de herramientas disponibles, tanto de licencia como de código abierto. Históricamente, esto se ha aplicado principalmente a las pruebas del sistema llevadas a cabo tarde en el SDLC, dejando poco tiempo para corregir cualquier problema descubierto por las pruebas.
La automatización de pruebas no funcional ahora se extiende cada vez más a Dev, donde el paso a la arquitectura modular o basada en micro servicios simplifica las pruebas a nivel de componentes. Esto a menudo se logra utilizando herramientas de código abierto.
Las pruebas continuas no funcionales son relativamente simples de integrar en el proceso de desarrollo, ya sea ad-hoc o como parte de la compilación / prueba / implementación de la noche a la mañana. Esto permite la tendencia del rendimiento de los componentes en las construcciones y la detección temprana y la corrección de los cambios de codificación que inadvertidamente provocan la regresión del rendimiento.
Realimentación
Las pruebas no funcionales que se limitan a las pruebas del sistema al final del SDLC están mal ubicadas para proporcionar información oportuna al Negocio sobre el rendimiento de las aplicaciones. El ciclo de retroalimentación que es un objetivo clave de la implementación de DevOps necesita funcionar en todo el SDLC para ser verdaderamente efectivo.
Idealmente, las pruebas continuas no funcionales deberían implementarse en las siguientes áreas:
- desarrollo
- componentes y pruebas de componentes integrados
- Control de calidad
- prueba del sistema
- producción
- prueba BAU programada.
Los datos de retroalimentación pueden tomar varias formas, pero la consideración más importante es la visibilidad del rendimiento de la aplicación, buena y mala, para las partes interesadas relevantes. Esto significa una respuesta rápida a Dev de errores relacionados con el rendimiento para que puedan corregirse y, si es necesario, una nueva versión preparada, incluido el tablero de resultados de pruebas que demuestre que una aplicación cumple o no cumple con los objetivos de rendimiento asignados.
Riesgo del negocio
La mitigación del riesgo comercial se trata de garantizar que las aplicaciones principales permanezcan disponibles, funcionalmente estables y de rendimiento para los usuarios finales, independientemente de la carga. La implementación de pruebas continuas no funcionales en las áreas previamente descritas ayuda a que esto suceda al mantener y mejorar la calidad de la liberación.
El impacto comercial de los problemas descubiertos en cada etapa de las pruebas puede evaluarse rápidamente, priorizarse y corregirse. Esto promueve el descubrimiento temprano de problemas, por lo que el número y la gravedad de los errores de software no funcionales disminuyen naturalmente y se desplazan hacia la izquierda, lo que beneficia la velocidad y la calidad de la entrega.
Es igualmente importante comprender el rendimiento continuo de las aplicaciones de software centrales posteriores a la implementación. Las pruebas no funcionales programadas regularmente de los sistemas de producción pueden ayudar a detectar regresiones progresivas del rendimiento, a menudo el resultado acumulativo de muchas versiones pequeñas.
Las pruebas programadas de BAU también brindan la confianza de que las implementaciones de producción están listas para el desempeño antes de los eventos pico como Black Friday y Cyber Monday.
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.