Академический Документы
Профессиональный Документы
Культура Документы
El aseguramiento de la calidad se enfoca en identificar y evaluar los defectos que pueden afectar
al SW.
Si los errores se pueden identificar de forma temprana en el proceso del SW, las características de
diseño se pueden especificar de modo que eliminarán o controlarán los peligros potenciales, al
corregir los errores mucho antes en cada etapa, es decir durante el proceso, ahorrando tiempo,
esfuerzo y recursos.
- La calidad se construye.
- El aseguramiento de la calidad no es una tarea que se realiza en una fase particular del
ciclo de vida de desarrollo.
- Las actividades asociadas con el aseguramiento de la calidad del software deben ser
realizadas por personas que no estén involucradas en el esfuerzo de desarrollo.
DESARROLLO DE SW.
Pequeña escala Gran escala
No precisa, no requiere Ingeniería. Necesidad de la Ingeniería.
Proceso simple Proceso complejo
Modelado Mínimo Modelado y diseño
Puede hacerlo una persona. Equipo de trabajo
Bajo costo Costo elevado
Desarrollo artesanal Gestión de proyecto
SQA es un conjunto de actividades sistemáticas y planeadas para asegurar que los procesos y
productos de SW cumplen con los requerimientos, estándares y procedimientos.
PROCESOS PRODUCTOS
Diseño SW
Codificación Documentación
Test Soporte
Mantenimiento
PROPÓSITO DE SQA
Proporcionar visibilidad sobre procesos utilizados por el proyecto de SW y sobre los productos que
genera.
Objetivos
Obtener un SW de calidad.
La adopción de una buena política o metodología contribuye en gran medida a lograr la calidad del
SW pero no la asegura.
Para controlar la calidad del SW, es necesario definir los parámetros, indicadores o criterios de
medición.
El plan de aseguramiento de la calidad del SW (SQAP) define las actividades específicas a llevar a
cabo en un proyecto.
El SQAP contiene una lista de comprobación para las actividades que se deben llevar a cabo para
asegurar la calidad del producto.
En el SQAP se recogen una serie de medidas que permiten establecer el nivel de calidad de los
desarrollos en cualquier momento en relación a los parámetros de calidad establecidos en el
mismo, de modo que los gestores de proyecto puedan dar respuesta adecuada a las acciones a
tomar de acuerdo a las medidas que se recogen en el plan.
El SQAP CONTIENE:
- Propósito de plan.
- Documentación de referencia.
- Ciclo de vida.
- Gestión del proyecto.
- Documentación del proyecto.
- Estándares.
- Métricas.
- Mecanismos de revisión.
- Gestión de la configuración.
- Control de versiones.
- Entornos de desarrollo.
- Entornos de pruebas.
- Herramientas, técnicas y metodologías empleadas.
- Control de suministro de proveedores (si los hay).
- Políticas de almacenamiento, mantenimiento y conservación de documentación.
- Plan de pruebas.
A pesar de la indudable evolución y mejora de dichos procesos y de la calidad del desarrollo del
SW, la realidad es que los resultados dejan mucho que desear.
Una de las causas finales que se señala frecuentemente cuando se analiza este problema es que la
calidad real del SW resulta “invisible”.
Es muy fácil de medir, de identificar los puntos “rojos” que requieren cambios en la forma de
trabajo y de extraer recomendaciones prácticas para su introducción a lo largo del ciclo de vida de
desarrollo y no al final de las pruebas de aceptación, cuando normalmente ya es demasiado tarde
para hacer algo y el costo correctivo es elevado.
El equipo de SQA trabaja con la gerencia de proyectos durante los inicios del desarrollo para
establecer los planes, estándares y los procedimientos que agregarán valor al proyecto de SW y
satisfacer los problemas del proyecto y de las políticas de la organización.
El equipo ayuda a asegurar que se cumplan con las necesidades del proyecto y verifica que sean
usables para realizar revisiones e intervenciones durante todo el ciclo de vida.
Las revisiones del grupo de SQA proyectan las actividades y revisan el producto de trabajo de SW,
además de proveer a la gerencia la posibilidad de saber si el proyecto está de acuerdo a los planes
estándares y procedimientos establecidos.
ROLES Y RESPONSABILIDADES
Humpre en su libro “Team Software Process” proporciona un marco de trabajo que se construye
sobre la base del “Personal Software Process” con fases de desarrollo bien definidas, los productos
de SW se generan en varios ciclos, se establecen medidas estándares para la calidad del producto
y para el desempeño de los equipos y de los desarrolladores, se aplican evaluaciones por rol y del
equipo.
TSP ayuda a la conformación de equipos de trabajo bien organizados a través de roles, cada rol
está definido por un guión en el que se especifican su objetivo, sus responsabilidades en todo el
ciclo de desarrollo y la forma en que se puede evaluar su trabajo.
1) Líder de proyecto:
- Objetivo: Coordinar al equipo, asegurar que todos cumplan con su trabajo (reportes de
datos).
- Responsabilidades: Metas, generar informes, dirigir reuniones, motivar al equipo.
2) Administrador de desarrollo
- Objetivo: controlar avance del proyecto (diseño, desarrollo).
- Responsabilidad: dirigir la realización de las fases siguiendo los estándares propuestos.
Integrar el trabajo de todos.
3) Administrador de la planificación
- Objetivo: Establecer el plan de trabajo y verificar su cumplimiento.
- Responsabilidades: Efectuar la planificación, asegurarse que se cumplan con el plan, recabar
mediciones, resolver riesgos.
4) Administrador de apoyo
- Objetivo: Ayudar al equipo a conseguir las herramientas necesarias para que pueda realizar
el trabajo, Gestionar la configuración.
- Responsabilidad: Conseguir lo necesario para el desarrollo del proyecto, generar un plan de
configuración, realizar la gestión de la configuración.
5) Administrador de calidad y proceso:
- Objetivo: Proponer un plan de calidad, proceso, resultado.
- Responsabilidades: Apoyar al equipo en la definición, gestionar el plan de calidad (SQA),
generar estándares para obtener un trabajo uniforme, moderar las revisiones de los
productos.
La garantía de calidad de SW comprende una gran variedad de tareas diferentes, los ingenieros de
SW que realizan el trabajo técnico y un grupo de SQA que tiene la responsabilidad de la
planificación de la garantía de la calidad, supervisión, mantenimiento de registros, análisis e
informes.
Los ingenieros de SW afrontan la calidad aplicando métodos técnicos sólidos y medidas, realizando
revisiones técnicas formales y llevando a cabo pruebas de SW bien planificadas.
Las reglas del grupo de SQA tratan de ayudar al equipo de ingeniería del SW en la consecución de
un producto final de alta calidad.
Además de estas actividades, el grupo SQA coordina el control, la gestión de cambios, ayuda a
recopilar y a analizar las métricas del SW.
METODOLOGÍA SQA
Las pruebas de SW son tanto un arte como una ciencia en general, en aplicaciones complejas,
como los sistemas operativos, es prácticamente imposible eliminar todos los errores antes de
liberar la versión, esto se debe a los diferentes puntos de vista y a las limitaciones de tiempo.
Diferentes aplicaciones de SW requieren distintos enfoques en lo que respecta a las pruebas.
Los métodos más comunes para el aseguramiento de la calidad son los siguientes:
Consiste en la revisión del código de un programador por otros programadores (sus pares). Se
puede poner en práctica creando un panel que encarga de revisar periódicamente muestras de
código. En la revisión por pares se analizan o revisan factores técnicos, de procedimiento y
humanos.
- Walkthroughs (recorridos)
- Revisiones
- Inspecciones de código
Walkthroughs
Objetivos:
Procedimientos:
A partir del código regular, el walkthrough es realizado al menos una vez por cada bucle a través
del modelo espiral y se realizará en forma circular (programador i-th revisará el código del
programador 1-th+1).
Todas las deficiencias serán anotadas y utilizadas para el mejoramiento del proceso.
Durante cada código revisado en el walkthrough se tomarán dos mediciones: relativas y objetivas.
Las deficiencias relativas son: código eficiente (pocos recursos son consumidos) y código exacto
(que tan cerca está el producto con las especificaciones). Las deficiencias objetivas son: errores de
formato, nombre de variables no estandarizado, falta de documentación (comentarios en el
código) y falta de normas de codificación.
INSPECCIONES DE CÓDIGO
- No son excluyentes con el testing. Cada desarrollador puede encontrar distintos tipos de
defectos.
- No hay tiempo ni dinero para inspeccionar todo. Se suele centrar la inspección en los
módulos más críticos.
- Es recomendable realizarla después de una prueba básica.
Objetivos primarios:
- Detectar defectos.
- Elegir el camino de resolución.
- Verificar la resolución (Los defectos deben ser corregidos).
Objetivos secundarios:
LA REUNIÓN
ROLES DE LA REUNIÓN
Moderador
- Responsable de la inspección
- Asegura que todos estén preparados.
- Aclara las reglas.
- Hace cumplir las reglas.
Revisores
- Buscan y describen los defectos.
- Toman decisiones para solucionar los errores.
Lector
Registrador
BENEFICIOS DE LA REUNIÓN
Directos
REVISIONES
Una revisión técnica formal es una actividad de garantía de calidad del SW llevada a cabo por los
ingenieros de SW y el equipo de SQA. Los objetivos de la RTF son:
La RTF también sirve para promover la seguridad y continuidad, ya que varias personas se
familiarizarán con partes del SW que de algún modo no habían visto.
Cada RTF se lleva a cabo mediante una reunión y solo tendrá éxito si es bien planificada,
controlada y atendida.
REUNIÓN RTF
La reunión debe ajustarse a las siguientes restricciones.
Proceso
El desarrollo informa al jefe de proyecto que el producto está terminado y que requiere revisión.
El jefe de proyecto contacta con un jefe de revisión que evalúa la disponibilidad del producto,
genera copias del material y las distribuye a otros revisores. Cada revisor tomará notas para
conocer el trabajo. De forma simultánea, el jefe de revisión, analiza el producto y establece una
fecha para la reunión.
La reunión es llevada a cabo por el jefe de revisión, los revisores y el desarrollador. La reunión
comienza con una breve explicación del desarrollo para después continuar con el recorrido de la
inspección explicando el material, mientras los revisores exponen sus comentarios cuando se
descubren problemas o errores válidos, serán registrados.
Durante la reunión se van registrando todas las dudas y errores que vayan surgiendo. Al final de la
reunión se resumen todas las incidencias y se genera una lista de sucesos de revisión. Además se
prepara un informe de la RTF que debe responder a 3 preguntas.
Se deben establecer de antemano directrices para conducir la RTF. Las directrices más comunes
son las siguientes.
- Métricas de SW.
- Verificación y valoración.
- Gestión de la configuración.
Las técnicas de revisión de los productos de SW y las pruebas están fundamentalmente orientadas
a la detección de defectos en el SW que a la evaluación de aspectos orientados a la calidad.
Este aseguramiento de la calidad se realiza a través de modelos. Los más conocidos son los
siguientes:
- Modelo de Boehm.
- Modelo factores/criterios&métricas.
- Marco ISO 9126.
- Paradigma GQM (Goal – Question - Metric).
- Modelo Gilb.
- Modelo CMM (Capability Maturity Model).
- Modelo SPICE (Software Process Improvement and capability Determination).
MÉTRICAS
Clasificación 1
- Métricas de producto.
- Métricas de proceso.
Clasificación 2
HERRAMIENTAS DE CALIDAD
- Herramientas básicas.
o Diagrama de flujo.
o Diagrama causa – efecto.
o Checklist.
o Gráfica de control.
o Histograma.
o Diagrama de dispersión.
- Herramientas de gestión.
- Herramientas de creatividad.
- Herramientas estadísticas.
- Herramientas de diseño.
- Herramientas de medición.
- Niveles de madurez.