¿Qué modelo de certificación de software debo usar?


¿Qué modelo de certificación debo usar?, es quizás una de las preguntas mas recurrentes a la hora de implementar el QA en el proceso de desarrollo de software. Me atrevería a decir que ninguna de estas estrategias es mejor que la otra, simplemente son diferentes y sus fortalezas dependen más bien del tipo de proyecto que estamos abordando y de la cultura organizacional que lo va a impulsar. En este artículo no profundizaré en los beneficios/desventajas de cada una de ellas, pero si entregaré una definición global para contextualizar a quienes recién empiezan a incursionar en el área del Testing de software.

Sigue leyendo: Qué es la automatización de pruebas de software

Waterfall Testing

Este modelo divide las actividades en fases secuenciales lineales, en donde cada fase depende de la finalización satisfactoria de la fase anterior. Este enfoque es menos iterativo y flexible, ya que el progreso fluye generalmente en una dirección…hacia abajo.

Los analistas de certificación que forman parte de un proceso en cascada validan las características definidas en la documentación del proyecto, por lo mismo, si surgen problemas durante la prueba, es difícil realizar revisiones o cambios significativos en el funcionamiento del producto (demasiado tarde para arreglar lo que en un principio fue mal definido). Una vez más, las personas que trabajan bajo este modelo quedan atrapadas en un método de entrega descendente, unidireccional. No está diseñado para detener (a mitad de camino) las tareas de entrega del equipo, retroceder para solucionar el problema y luego avanzar a la siguiente tarea. Las pruebas en cascada no deben considerarse para proyectos grandes y complejos, pero si para proyectos pequeños y de corta duración.

Agile Testing

Cuando se empezó a trabajar en metodologías ágiles, el rol de las pruebas fue uno de los principales motivadores para forzar un cambio de paradigma. Los desarrolladores experimentados que usaban el modelo en cascada creían que dejar las pruebas hasta que el proyecto estaba casi completo dejaba demasiadas oportunidades para que los problemas se ocultaran en el código (consciente e inconscientemente). Cuando se iniciaban las pruebas, la solución de problemas requería cambios que eran costosos y consumían mucho tiempo.

El desarrollo ágil involucra a miembros de un equipo ágil multifuncional, con un enfoque fuerte en la experiencia de los certificadores. Los evaluadores están probando continuamente (en ciclos llamados “Sprints”), tareas que se van ejecutando a medida que se avanza en el desarrollo, lo que respalda la lógica DevOps. Este enfoque mejora la calidad del producto y la coherencia del cumplimiento de las fechas de entrega. A simple vista podría pensarse que la agilidad vendría a ser la panacea de todos nuestros problemas de desarrollo de software, pero no siempre es así, requiere un cambio radical en la forma de trabajar de todos los miembros del equipo a lo largo de todo el proceso, roles y responsabilidades bien definidas y una buena planificación.

Elegir la mejor estrategia de desarrollo de software es clave para el éxito del proyecto. Si bien es cierto tanto el modelo en cascada como el modelo ágil tienen beneficios importantes, un error habitual es pensar que podrían funcionar bien en conjunto, y esto no puede estar más alejado de la realidad. Elijan siempre uno u otro, no caigan en la trampa de una pseudo metodología híbrida.

En Verity estamos a la vanguardia del aseguramiento de la calidad de software, mantente informado y conoce más en nuestro blog de noticias Verity.

Escrito por: Gustavo Inzunza

Compártelo

Facebook
Twitter
Pinterest
LinkedIn

Certifícate con nosotros

Contamos con una diversa gama de servicios a tu disposición.

© Verity Consulting. Todos los derechos reservados. | Diseño web por Rocket Media