27 Nov
Aseguramiento de la Calidad del Software (ACS)
El enfoque de la ingeniería de software se dirige a una sola meta: producir software de alta calidad y entregarlo a tiempo. El aseguramiento de la calidad del software (ACS), con frecuencia llamado también administración de la calidad, es una actividad sombrilla que se aplica en todo el proceso del software para alcanzar dicho objetivo.
Componentes del Aseguramiento de Calidad
Un sistema de aseguramiento de calidad (ACS) robusto incluye los siguientes componentes:
- Un proceso de ACS bien definido.
- Tareas específicas de aseguramiento y control de la calidad (por ejemplo, Revisiones Técnicas Formales).
- Prácticas eficaces de Ingeniería de Software (métodos y herramientas).
- Control de todos los productos del trabajo de software y de los cambios aplicados.
- Un procedimiento para garantizar el cumplimiento de los estándares establecidos.
- Mecanismos de medición y reporte para evaluar el desempeño.
“El problema de la administración de la calidad no es lo que la gente ignora de ella. El problema es lo que piensan que saben…”
— Philip Crosby
Elementos Clave del Aseguramiento de la Calidad
- Estándares: Se deben seguir las normativas de organizaciones como el IEEE o ISO, que han producido una amplia variedad de estándares para guiar el desarrollo de software.
- Revisiones y auditorías: Su objetivo es detectar errores de manera temprana. Las revisiones técnicas son una actividad de control de calidad realizada por ingenieros de software para otros ingenieros.
- Pruebas: Su objetivo principal es detectar errores en el producto final. El ACS garantiza que las pruebas se planifiquen y realicen con eficiencia para maximizar la probabilidad de éxito.
- Colección y análisis de errores: La única manera de mejorar es medir el desempeño actual. Este elemento se enfoca en reunir y analizar datos sobre errores y defectos para entender mejor cómo se originan.
- Administración del cambio: Asegura que se instituyan prácticas adecuadas para controlar y gestionar los cambios en el software de manera ordenada.
- Educación: Es fundamental la formación continua de todos los participantes en el proceso de software. El ACS lidera las iniciativas de mejora de procesos a través de la educación.
- Administración de proveedores: Implica definir prácticas de calidad que los proveedores deben seguir e incorporar cláusulas de calidad en cualquier contrato con un proveedor externo.
- Administración de la seguridad: Se centra en la protección de datos y en asegurar que el software no sea vulnerable a ataques.
- Administración de riesgos: Involucra el análisis y mitigación de riesgos. El ACS es responsable de evaluar el efecto de las fallas del software y de implementar las medidas necesarias para disminuir el riesgo.
Tareas Fundamentales del Equipo de ACS
El equipo de Aseguramiento de la Calidad del Software es responsable de realizar las siguientes tareas:
- Preparar el plan de ACS para un proyecto específico.
- Participar en el desarrollo de la descripción del software del proyecto.
- Revisar las actividades de la ingeniería de software para verificar el cumplimiento del proceso definido.
- Auditar los productos de trabajo de software designados para verificar que se cumpla con lo definido en el proceso.
- Asegurar que las desviaciones en el trabajo y sus productos se documenten y manejen de acuerdo con un procedimiento establecido.
- Registrar toda falta de cumplimiento y reportarla a la alta dirección.
Metas y Atributos de la Calidad del Software
El ACS se enfoca en asegurar la calidad en diferentes etapas y aspectos del desarrollo:
Calidad de los Requerimientos
La corrección, completitud y consistencia del modelo de requerimientos tendrá una gran influencia en la calidad de todos los productos de trabajo posteriores. El ACS debe garantizar que el equipo de software ha revisado apropiadamente el modelo de requerimientos para alcanzar un alto nivel de calidad.
Calidad del Diseño
Todo elemento del modelo del diseño debe ser evaluado por el equipo de software para asegurar que tenga alta calidad y que el diseño en sí se apegue a los requerimientos. El ACS busca atributos del diseño que sean indicadores de la calidad.
Calidad del Código
El código fuente y los productos de trabajo relacionados deben apegarse a los estándares locales de codificación y tener características que faciliten su mantenimiento. El ACS debe identificar aquellos atributos que permitan hacer un análisis razonable de la calidad del código.
Eficacia del Control de Calidad
Un equipo de software debe aplicar recursos limitados de forma que tenga la máxima probabilidad de lograr un resultado de alta calidad. El ACS analiza la asignación de recursos para las revisiones y pruebas a fin de evaluar si se asignan de la forma más eficaz.
Aseguramiento de Calidad Estadística
El aseguramiento de calidad estadística refleja una tendencia creciente en la industria para definir la calidad de forma más cuantitativa. Para el software, este enfoque implica los siguientes pasos:
- Se recaba y clasifica la información sobre los errores y defectos del software.
- Se intenta encontrar la causa subyacente de cada error (por ejemplo, no concordancia con la especificación, incumplimiento de los estándares, pobre comunicación con el cliente).
- Mediante el principio de Pareto (el 80% de los defectos se debe al 20% de todas las posibles causas), se identifica ese 20% de causas vitales.
- Una vez identificadas las causas vitales, se actúa para corregir los problemas que han originado los errores.

Deja un comentario