Un buen proceso de Testing para mejorar la confiabilidad (QA Basics)

Como creo que todos sabemos, el testing de software es importante, día a día vemos en internet productos de muy baja calidad, llenos de errores, y que lamentablemente no pasarán nunca la línea para ser conocidos y usados, ya que quién los prueba enseguida nota los problemas, errores, dificultad de uso, etc, y jamas los recomendaría.

Hoy confiamos casi toda nuestra vida a un software, nuestra cuenta bancaria, los frenos de nuestro auto, la dirección asistida de los vehículos, los equipamientos médicos, nuestros relojes, etc.

¿Entonces, como es que hemos confiado nuestra vida a máquinas que solamente trabajan con unos y ceros?, ¿Como es que nunca pensamos que el marcapasos falla o que el reloj no hará sonar la alarma a las 7, o que nuestra cuenta bancaria quede en 0? Justamente esto no lo pensamos, porque hemos logrado confiar en estos productos, los hemos usado durante años, y sabemos que no fallan, que son seguros, confiables, precisos y que años de funcionamiento nos dan una garantía.

Pero esto se logra solamente, con un buen proceso de ingeniería de software por detras, tanto para el desarrollo como para el testing. Así es entones que el QA (Quality Assurance) es hoy día el factor mas importante en la industria, es lo que brinda la confianza al consumidor, es quien dice “Esto funciona”, “Esto hace lo que tiene que hacer”, es el sello de calidad del producto.

El proceso de Quality Assurance (De ahora en mas, QA) consiste en 4 etapas: “Plan”, “Do”, “Check”, y “Act” (En español: Plan, Hacer, Checkear, y Actuar), mas conocido como el modelo PDCA, el cual se trata de:

  • Plan: Establecer objetivos y procesos requeridos para entregar los resultados deseados.
  • Do: Implementar los procesos del punto anterior.
  • Check: Monitorear y evaluar los procesos implementados y comparar los resultados obtenidos contra los objetivos estableidos.
  • Act: Aplicar las acciónes necesarias para mejorar en caso de ser necesario.

Para poder obtener un producto de calidad debemos aplicar procesos de SQA (Plan, Análisis de requerimientos, diseño, Desarrollo, Integración & Test, Implementación y Mantenimiento) en todo el ciclo de vida del desarrollo.