Lecciones de Software Libre

Angel E. Mendoza

Pruebas de Software Vs QA

Mejorar la calidad del Software, es una tarea compleja y que lleva muchas horas de trabajo. Para tratar de organizar estas actividades, han surgido diversos conceptos que resulta interesante conocer. Pruebas de Software (Software Testing) y Aseguramiento de Calidad (Quality Assurance QA), son dos de los conceptos más mencionados en cuanto a calidad de software se refiere. Ahora, contrastaremos estos conceptos, para ver sus similitudes y diferencias:

Las Pruebas de Software son una fase muy importante dentro de casi todos
los modelos conocidos de Ciclo de Vida del Software. Por ejemplo; en el venido de los 70’s pero aún utilizado, modelo Cascada, se realizan las pruebas una vez terminada la construcción del sistema, en el Incremental se realizan las pruebas en cada incremento del sistema, o por ejemplo, en el Evolutivo mediante la retroalimentación de los usuarios, en el espiral durante su verificación y validación del desarrollo, o en los enfoques XP (eXtreme Programming o Programación Extrema) con repetidas pruebas de cada una de las mejoras debido a su desarrollo iterativo e incremental. Así podríamos ir mencionando otros modelos no tan conocidos pero que seguramente incluyen Pruebas también para entregar sistemas de Calidad.

Por otro lado, QA se refiere a asegurar (como su nombre lo dice) la calidad en cada una de las fases de la elaboración de un producto final, cualquiera que éste sea. En el caso de QA de software, se referirá entonces, a asegurar la calidad de los resultados de cada una de las fases del ciclo de vida del software y con esto, asegurar la calidad del producto final. Para cumplir con este aseguramiento se deberán definir estándares y establecer procedimientos contra los cuales se pueda comparar lo alcanzado durante cada una de las fases. Por ejemplo; si para el Análisis de Requisitos dentro de un modelo cascada, se ha definido un tipo determinado de documento a presentar, entonces para pasar a la fase de Diseño, el documento de Análisis deberá estar conforme al documento estándar ya que una fase que no se ejecutó de forma correcta podría causar (y muy probablemente lo haga) defectos en las fases posteriores. La idea es que mientras más temprano se detecten las fallas, menor será el costo (monetario, de tiempo, recursos, calidad, etc.) de repararlas y mayor la calidad del producto final.

Ahora veamos algunas diferencias y relaciones entre estos conceptos:
  • Las Pruebas de Software se realizan en una de las fases del ciclo de vida del software; mientras que QA de software se deberá ejecutar en todas las fases (incluida la fase de Pruebas).
  • Las Pruebas de Software utilizarán Casos de Pruebas para ser ejecutados; en cambio QA de software utilizará los estándares y procedimientos establecidos para cada una de las fases del ciclo de vida del software.
  • Ambas permitirán verificar y afirmar la calidad del producto final, el software.
  • Ambas definen un conjunto de actividades a realizarse dentro del ciclo de vida del software para mejorar y asegurar la calidad del mismo.
Con esta breve explicación, será mucho mas fácil, distinguir estos términos y determinar su importancia en el proceso de desarrollo de software.

Fuente: http://www.calidadysoftware.com/testing/testing_vs_quality_assurance.php


0 comentarios:

Publicar un comentario

Translate

Seguidores