f Skip to main content

Testabilidad

El siguiente decálogo nos ofrece una perspectiva para analizar: cuando la capacidad de prueba es baja, la retroalimentación para el negocio se ralentiza, seguido de una disminución en el grado de calidad y profundidad de las pruebas. Esta situación provoca un aumento de los costos, baja motivación y disminución de la calidad del producto.

Un enfoque en la capacidad de prueba permite un desarrollo más rápido, pruebas más exhaustivas y un enfoque más confiable para la automatización.

Testabilidad | Ceiba

1- Personas

El objetivo común de las personas que forman el equipo debe ser la calidad. Una vez que las personas tienen suficientes conocimientos y habilidades para producir un trabajo de calidad, pueden formar una perspectiva común.

Cada miembro debe tener las habilidades y la experiencia necesarias para realizar análisis de riesgos, pruebas exploratorias, integración y pruebas de extremo a extremo.

La calidad dentro del equipo no es responsabilidad de una sola persona, debe existir una visión común de la calidad. El equipo debe trabajar en conjunto para establecer la calidad, facilitar las pruebas y mejorar si hay una situación de trabajo defectuosa o incompleta.

2- Proactividad

El equipo aprende de sus errores y busca de manera proactiva mejorar continuamente su enfoque de pruebas utilizando nuevas herramientas y técnicas.

El equipo evalúa continuamente qué tan efectivo es el enfoque de prueba y si existen situaciones que necesitan mejorar, tomar medidas rápidamente y discutirlas.

Todo el equipo se asegura de que si hay deficiencias, vacíos o aplicaciones defectuosas en los procesos, y de existir, trabajan en ellas y se crean planes de acción para que no vuelvan a ocurrir.

Se alienta a cada miembro del equipo a aprender acerca de las herramientas y técnicas de prueba, motivándolos a proponer y probar nuevas ideas que puedan beneficiar al equipo.

3- Pipeline

La retroalimentación en el flujo de trabajo del equipo se realiza desde cualquier entorno durante cada cambio, lo cual brinda comentarios rápidos, confiables y accesibles.

Los miembros del equipo deben garantizar un alcance completo de las pruebas a través de distintas pruebas automatizadas, donde se identifiquen sus efectos funcionales y se proporcione una retroalimentación confiable y oportuna.

El equipo puede realizar varias actividades de prueba mediante la aplicación de los cambios realizados en un entorno similar al entorno de producción al recibir una solicitud.

4- Producto

El producto está diseñado para facilitar las pruebas y la automatización en todos los niveles de desarrollo. Diseñar un producto comprobable nos permite obtener más información sobre las limitaciones del mismo.

Los miembros del equipo pueden configurar rápida y fácilmente los escenarios y las situaciones que desean examinar y evaluar si el sistema funciona como se desea (Completitud) y para lo que fue construido (Alta Cohesión).

5- Proceso

El proceso ayuda al equipo a identificar el riesgo, desglosándolo en pequeñas partes comprobables. Los miembros del equipo se centran en identificar los riesgos lo antes posible para poder mitigarlos.

El equipo trabaja en conjunto para crear una comprensión compartida de lo que se debe hacer, dividiendo el trabajo en pequeñas tareas verificables con criterios de aceptación claros.

El equipo trabaja en conjunto para garantizar que se completen todas las actividades de prueba necesarias y que se revisen los hallazgos para evitar pasar a la siguiente iteración con deuda de prueba.

El equipo verifica conjuntamente que cada pieza se haya probado adecuadamente antes de pasar a un nuevo trabajo. No se recomienda trabajar fuera del horario laboral.

6- Proyecto

El equipo cuenta con los recursos, el tiempo y la independencia para realizar las pruebas con calidad y precisión.

El equipo diseña, prepara y realiza todas las actividades de prueba que se consideran necesarias para reducir los riesgos identificados sin estar bajo presión de tiempo.

7- Problema

Con un conocimiento profundo de cualquier problema resuelto, el equipo identifica, analiza, documenta,  mitiga correctamente este riesgo activo y socializa las lecciones aprendidas.

Cada miembro del equipo monitorea y actualiza constantemente su perspectiva sobre quién es el cliente, qué valora, sus desafíos, necesidades y metas. Esta información siempre permite identificar mejor las amenazas potenciales y que el equipo llegue a la solución adecuada.

El equipo entiende que, al hacer el análisis de riesgo correcto, le permite considerar los impactos potenciales cuando ocurre un error y mitigarlos utilizando las técnicas más apropiadas.

8- Participación

La participación de todos los integrantes fomenta a todo el equipo con un enfoque de calidad, al tiempo que establece relaciones de colaboración entre equipo, negocio y cliente.

La calidad es responsabilidad de todo el equipo. Todos los miembros identifican los riesgos y toman medidas para reducirlos: Priorizan la resolución de errores, aprenden lo máximo posible sobre las situaciones que pueden afectar al cliente y tratan de prevenirlas.

Los integrantes del equipo trabajan juntos haciendo cambios en el código para ayudarse mutuamente, simplificar las tareas de prueba y automatización. Además, cada miembro del equipo establece relaciones de colaboración mediante la celebración periódica de reuniones con los clientes para comprender mejor sus necesidades y obtener conclusiones claras.

9- Productividad

El equipo trabaja en conjunto para definir un enfoque holístico, utilizando diferentes técnicas de prueba para identificar y mitigar los riesgos con precisión. Utiliza una combinación de pruebas de integración, de extremo a extremo, de descubrimiento o no funcionales para descubrir errores lo más rápido posible. Estos enfoques están respaldados por un sistema diario de registro, monitoreo y advertencia.

El equipo divide las tareas de automatización o prueba manual en pequeños fragmentos comprobables y proporciona información relevante a las partes interesadas lo antes posible.

10- Producción

El equipo debe tener muy pocos problemas que afecten al cliente. Cuando ocurre un problema, se debe encontrar una solución y aplicarla rápidamente.

El equipo utiliza una estrategia de prueba que garantiza encontrar y resolver los errores antes que el cliente se vea afectado o, en el mejor de los casos, evitarlos. 

Si se detecta un problema, se encuentra inmediatamente la causa del error, se proporciona una solución, se realizan los trabajos necesarios, se toman las medidas respectivas para que los errores resueltos no vuelvan a afectar al cliente y se documentan.

Te invitamos a conocer nuestra Consultoría en DevOps y Cloud para obtener más información de como podemos impactar tu negocio.

 

 

Referencias:

https://manuelzapata.co/atributos-de-calidad/

https://spa.myservername.com/what-is-software-quality-assurance

https://opensource.com/article/17/5/30-best-practices-software-development-and-testing

https://devlead.io/Articles/EnhancingSoftwareTestability

Xiomara Flórez Rueda

Arquitecto Desarrollador | DevOps

Déjanos tu comentario

Share via
Copy link