jueves, 21 de octubre de 2010

Garantía de la Calidad del Software SQA


*** Garantía de Calidad del Software SQA ***

Garantía de la calidad: Consiste en un conjunto de funciones de auditoría e información que evalúan la efectividad y qué tan complejas son las actividades de control de Calidad.

El SQA se puede definir como la conformidad a las necesidades funcionales y de rendimiento, a los estándares de desarrollo y a las características implícitas requeridas de todo el software que se ha desarrollado profesionalmente.

Objetivos de SQA

La implementación de una disciplina de SQA tiene como principal objetivo aumentar la calidad de los entregables durante todo el proceso de desarrollo.

Muchos requerimientos de calidad, sobre todo aquellos que tienen que ver con el rendimiento, la usabilidad, la carga, la disponibilidad, etc. pueden ser tratados como riesgos. Es decir que, el hecho de que uno de ellos no se cumpla, implica un riesgo. Entonces, al asegurar la calidad del software durante su proceso, se disminuyen los riesgos asociados, aumentando la predictibilidad del desarrollo de software. Esto trae aparejado una serie de beneficios de variada visibilidad.

Ventajas de SQA

1. Reducción de los tiempos de desarrollo, principalmente el tiempo de trabajo generado en la fase de testing.

2. Optimización del uso de los recursos, que disminuye el costo de la infraestructura necesaria para soportar la aplicación.

3. Disminución del costo de mantenimiento, ya que se generan aplicaciones más seguras y estables.

4. Aumento de la permeabilidad al cambio y facilidad para medir el impacto del mismo.

5. Asegura el cumplimiento de los requerimientos, tanto los funcionales como los de calidad.

6. Promueve el seguimiento de los estándares definidos.

7. Provee información sobre la calidad del proyecto a los stakeholders con menor conocimiento técnico.

8. Los desarrollos se vuelven más predecibles, facilitando las estimaciones.

El SQA se puede identificar como un patrón de acciones planeado y sistemático, que ayudan a asegurar alta calidad en el software de programas y aplicaciones. Hay diversas operaciones que vienen bajo SQA. Éstas se asocian generalmente a los siguientes dos conjuntos de personas:

Ingenieros de Software
Grupo SQA

Es responsabilidad de los ingenieros de software ocuparse de todo el trabajo técnico involucrado en actividades de aseguramiento y control de calidad.

Grupo SQA

1. Muchas organizaciones empiezan a crear grupos de SQA.

2. Estas personas actúan como representantes internos del cliente.

3. Es responsabilidad del grupo SQA ayudar a los Ingenieros, a lograr una alta calidad en el programa o aplicación de software determinado.

4. Este grupo tiene una serie de actividades que se presentan a continuación.

Actividades del SQA
Para poder identificar estas actividades y el momento oportuno para realizarlas es necesario revisar el ciclo de vida de un proyecto.

Para identificar las actividades se basa en el análisis de fases/disciplinas/esfuerzo realizado en RUP por ser un proceso muy difundido en el mercado, aunque el mismo análisis puede aplicarse a otros procesos de desarrollo.

Analizando el diagrama, se aprecia que el esfuerzo de cada disciplina varía según la fase del proyecto. De aquí se deriva que el momento para controlar la calidad de cada disciplina es cuando mayor esfuerzo se le dedica.

El Plan SQA

Esta es una herramienta que permite instituir la garantía de seguridad del software, desarrollado por el grupo de SQA este proporciona un plantilla de actividades, se debe tener en cuenta lo siguiente:

1. El propósito y ámbito del plan.
2. Una descripción de todos los productos de software.
3. Estándares y prácticas aplicables a nuestro proceso.
4. Las acciones y tareas del SQA.
5. Las herramientas y métodos utilizados.
6. Procedimientos de gestión de configuración.
7. Métodos para salvaguardar, ensamblar y mantener los registros.
8. Documentación, papeles y responsabilidades en la organización relativas a la calidad del producto elaborado.

Otras Actividades del SQA

Verificación de requerimientos: esta actividad se concentra en validar la completitud, claridad y no ambigüedad de los requerimientos de un sistema.

Validación y verificación de documentación: esta actividad se encarga de controlar la corrección, completitud y no ambigüedad de la documentación. La documentación en UML es muy útil para esta práctica por el poder semántico que tiene y por la posibilidad de validar sintácticamente la documentación.

Validación de arquitectura: Esta actividad es muy importante para evaluar la factibilidad de cumplir con los requerimientos no funcionales y detectar de forma temprana los principales riesgos asociados al proyecto.

Control de código: Se subdivide en 2 actividades:

1. Control estático del código: Es la validación del código contra un conjunto de reglas, mejores prácticas y estándares predefinidos.

2. Control dinámico del código: El control se focaliza en el uso de los recursos que hace la aplicación y la cobertura del código que hacen las pruebas unitarias.

Tareas del SQA

Es necesario tener en cuenta que para realizar algunas de estas actividades primero es necesario realizar otras actividades como ser: 

1. Definición de estándares y mejores prácticas de desarrollo.
2. Elección de herramientas para documentar y desarrollar.
3. Estas tareas tienen que ver con el hecho que para poder validad la calidad de algo, es necesario contar, previamente, con la definición, requerimiento o estándar contra el cual validar. 

No hay comentarios:

Publicar un comentario