Aseguramiento de la Calidad del Software (SQA)

La función principal del aseguramiento de la calidad del software (SQA) es determinar si las necesidades de los usuarios se satisfacen adecuadamente.

Objetivos del SQA

Los objetivos de la organización son la prioridad, seguidos de los requerimientos del usuario. Ambos deben estar alineados.

Métodos del SQA

Se deben utilizar métodos que cumplan con las políticas, procedimientos y estándares de la organización.

Ejecución del SQA

Optimización del uso de hardware y software al implementar los productos de software.

Relación entre Ingeniería de Software y SQA

SQA (Software Quality Assurance) implica a varios responsables durante el proceso de desarrollo de software de calidad:

  • Ingenieros de software
  • Jefes de proyecto
  • Clientes
  • Vendedores
  • Equipo de SQA

El equipo de SQA, que puede ser independiente, realiza las siguientes actividades:

  1. Establecimiento de un plan de SQA para el proyecto.

Este plan identifica:

  • Evaluaciones a realizar
  • Auditorías y revisiones
  • Estándares aplicables al proyecto
  • Procedimientos para la gestión de errores
  • Documentos producidos por el grupo SQA
  • Retroalimentación al equipo del proyecto
  • Participación en la definición del proceso de software
  • Revisión de las actividades de ingeniería de software
  • Auditoría de los productos de software
  • Gestión de desviaciones en el trabajo y los productos
  • Registro e informe de incumplimientos

Definición y Propósito del SQA

Definición

SQA es un conjunto de actividades sistemáticas que aseguran que el proceso de software y los productos cumplan con los requerimientos, estándares y procedimientos.

Rol

El rol del SQA es asegurar a la administración que se implementan los procesos establecidos oficialmente.

Propósito

Proporcionar visibilidad sobre los procesos y productos del proyecto de software.

Objetivos

  1. Planificar las actividades de aseguramiento de la calidad.
  2. Revisar y auditar productos y actividades.
  3. Informar los resultados de las revisiones y auditorías.

Problemas que Resuelve el SQA

  • Aumenta la probabilidad de éxito del proyecto.
  • Define parámetros para medir la calidad del software.
  • Verifica la correcta aplicación de los estándares.
  • Define un plan de monitoreo del ciclo de vida del software.

Calidad del Software en su Ciclo de Vida

Ciclo de Vida del Software

Describe el desarrollo del software, desde la fase inicial hasta la final, para validar el desarrollo y asegurar que el software cumpla con los requisitos.

Modelos de Ciclo de Vida

Facilitan una metodología común entre el cliente y la compañía, reflejando las etapas de desarrollo y la documentación requerida.

Modelo en Cascada

Secuencia de fases donde al final de cada una se revisa la documentación para asegurar el cumplimiento de las especificaciones antes de pasar a la siguiente fase.

Modelo V

Establece que los procedimientos de prueba deben crearse en la fase de diseño.

Habilidades y Capacidades del Personal de SQA

El personal de SQA es responsable de asegurar la calidad de los productos y del proceso utilizado.

Responsabilidades del Personal de SQA

  • Asegurar la realización de estudios de factibilidad.
  • Realizar mediciones de la calidad del proyecto.
  • Asegurar que la implementación se realice según los estándares de calidad.
  • Evitar el desperdicio de esfuerzo.
  • Registrar las métricas de aceptación.

Perfil del Rol

  • Conocer los requerimientos del sistema.
  • Conocer los estándares del proyecto.

Actividades del Rol

  • Planificar la calidad.
  • Revisión Técnica Formal (RTF).
  • Revisar las entregas.
  • Revisar el ajuste al proceso.

Actividades del SQA

Para asegurar el cumplimiento de los estándares, se deben medir cuantitativamente los aspectos de calidad (complejidad, confiabilidad, mantenimiento, seguridad, defectos) utilizando métricas establecidas. Se deben realizar chequeos de:

  • Administración, documentación, estándares, prácticas, convenciones y métricas.
  • Revisiones e intervenciones.
  • Actividades de testeo, reporte de errores y acciones correctivas.
  • Herramientas, técnicas y métodos.