Es un set de actividades sistemáticas que aseguran
que el proceso del software y productos conformados
por requerimientos, estándares, y procedimientos.
Los procesos incluyen todas las actividades involucradas
en el diseño, codificación, pruebas y mantenimiento
Los productos incluyen software, datos asociados,
documentación, y toda la documentación para
soporte y reportes.
3.4.1 Actividades del SQA.
Plan SQA (SQAP)
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.
El SQA contiene:
Prposito de plan, Documentacion de referencia, Ciclo de
vida, Gestion del proyecto, Estandares, Metricas,
Mecanismos de revision, Gestion de la configuracion,
Controles de desarrollo, Entornos de pruebas,
Herramientas, Tecnicas, Metodologias, etc.
Actividades
1) Establecimiento de un plan
de SQA para el proyecto.
El plan se desarrolla durante la
planificación del proyecto y es
revisado por todas las partes
interesadas.
2) Participación en el desarrollo de la
descripción del proceso de SW del
proyecto.
El equipo de ingeniería de SW selecciona un proceso para el trabajo que
se va a realizar. El grupo de SQA revisa la descripción del proceso para
ajustarse a la política de la empresa, los estándares (internos y externos)
del SW y las demás partes del plan.
Revisión de las actividades de ingeniería del SW para
verificar su ajuste al proceso de SW definido.
El grupo de SQA identifica, documenta y sigue la
pista de las desviaciones desde el proceso y verifica
que se hayan realizado las correcciones.
Auditoría de los productos de SW
designados para verificar su ajuste
al proceso
El grupo de SQA revisa los productos seleccionados e
informa periódicamente de los resultados al
administrador del proyecto.
Asegurar que las desviaciones del trabajo y los
productos de SW se documentan y se manejan de
acuerdo al procedimiento establecido.
Registrar lo que no se ajuste a los
requisitos e informar a los
superiores.
Los elementos que no se ajustan a los requisitos están bajo
seguimiento hasta que se resuelven.
Funciones de un analista de SQA
Se determina qué actividades debe realizar el grupo de
aseguramiento de calidad a lo largo de todo el proceso de
desarrollo de software, para asegurar que se están teniendo en
cuenta las propiedades de calidad especificadas para el sistema
en la actividad identificar las propiedades de calidad.
¿Quién sustenta SQA?
ISO 9000. Describe los elementos de garantía de calidad en términos
genéricos que puedan aplicase a cualquier negocio con independencia de
los productos o Servicios ofrecidos, incluyen la estructura organizativa,
procedimientos, procesos y recursos necesarios para implementar la
planificación de la calidad, la garantía de calidad y la mejora de calidad.
¿Cuando se aplica SQA?
Planeacion, Analisis, Diseño, Desarrollo,
Pruebas, Implementacion y Cierre.
Objetivos:
Planificar las actividades de aseguramiento de la calidad.
Revisar y auditar objetivamente los productos y las actividades para
verificar que están conformes con los procedimientos y estándares
aplicables.
Proporcionar los resultados de estas revisiones o auditorías informando a la
dirección cuando sea necesaria su mediación.
3.4.2 Roles y Responsabilidades de los
Equipos de SQA.
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.
Roles
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.
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.
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
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.
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.
3.4.3 Métodos, Metodologías, Estándares y
Herramientas.
METODOLOGÍAS
Conjunto de técnicas o procedimientos específicos que se emplean
en una ciencia; que entenderla como descripción, explicación y
justificación de los métodos en general
ESTÁNDARES
Los estándares son los cimientos de cualquier sistema de calidad de software, pues
provee la base para la evaluación y medición de las actividades y los productos de
trabajo durante todo el ciclo de vida del software. Los estándares establecen el marco
de trabajo para el desarrollo del software.
– estándares de codificación o del proceso: definen los procesos a seguir durante el desarrollo
definiciones de los procesos de especificación y análisis, diseño, validación, descripción de los
documentos a generar en cada uno de estos procesos
– estándares del producto: se aplican al producto a desarrollar • estándares de documentos (p.ej.,
estructura del documento de requerimientos a producir) • estándares de documentación
(encabezados estándar de comentarios para una definición de clase) • estándares de codificación
(cómo utilizar un lenguaje de programación)
HERRAMIENTAS
Las herramientas utilizadas en SQA son generalmente las herramientas de prueba en donde una
aplicación se ejecuta a través de una serie de pruebas para medir el rendimiento de la aplicación.
Estas herramientas se emplean para probar la aplicación y producir números y estadísticas sobre la
aplicación real. A través de estos números, el equipo de SQA y sus desarrolladores se sabe si la
solicitud ha cumplido de acuerdo a los resultados específicos.
WinRunner: Desarrollado por HP, WinRunner es una aplicación de usuario que
puede probar la reacción de las aplicaciones del usuario.
QuickTest Profesional: Creado por HP, QuickTestemulalas acciones de los usuarios y explota
la aplicación según el procedimiento establecido por los probadores. Puede ser utilizado en la
GUI y la no GUI sitios web y aplicaciones.
LoadRunner: Desarrollado por HP LoadRunner es una de las aplicaciones
simples que puede probar el rendimiento real de la aplicación.
Mercurio TestDirector: Un todo en un paquete, este interfaz basada
en web, podría ser utilizado de principio a fin en la prueba de una
aplicación o un sitio web.
Bugzilla: Desarrollado por Mozilla, esta herramienta de código abierto de prueba funciona como su
nombre indica. Bugzilla se especializa en la detección de errores encontrados en la aplicación o
página web.
Application Center Test: También conocido como ACT, esta herramienta de prueba fue desarrollada
por Microsoft con ASP.NET. Esta aplicación se utiliza principalmente para determinar la capacidad de
los servidores que se encargan de la aplicación.
OpenSTA: Otra herramienta de código abierto, los probadores
pueden iniciar la aplicación y el uso que de las pruebas de
aplicaciones de estrés de la capacidad.
Qarun: En lugar de una aplicación, Coré es en realidad una plataforma en la
que puede generar la aplicación de pruebas propias.
SilkTest: Aunque está disponible en el sistema operativo limitado, SilkTest es una
herramienta de prueba muy inteligente. SilkTest listas de todas las funciones posibles y
trata de identificar la función de uno.
MÉTODOS DE SQA
MÉTODO: Es una palabra que proviene del término
griegomethodos (camino o vía) y que se refiere al
medio utilizado para llegar a un fin.
Prueba de esfuerzo (Stress Testing): Se realiza cuando el SW es utilizado de la manera más
ruda posible en un período de tiempo para ver si trabaja con altos niveles de carga.
Pruebas de Validación: Es el acto de introducir
datos, los cuales el tester sabe que son erróneos en
la aplicación.
Comparación de datos: Técnica que se realiza comparando los resultados de una
aplicación con parámetros específicos con los resultados de otra aplicación previamente
creada, introduciendo los mismos parámetros de manera que se obtenga un resultado
exacto.
Pruebas de Uso: A veces conseguir usuarios que no estén familiarizados con el SW para probarlo por
un tiempo determinado, ofrece retroalimentación a los desarrolladores acerca de las dificultades
que encontraron.
Auditorías PPQA (Process and Product Quality Assurance): Es la actividad de garantizar que el
proceso y el producto de trabajo se ajustan al plan acordado.
Revisiones por Pares (Peer Reviews). Son actividades efectivas para el control de
la calidad. Pueden aplicarse al análisis, diseño y codificación.
Revisión Técnica formal (RTF): Es una actividad de garantía de calidad de SW. Es una revisión que
incluye recorridos inspecciones y revisiones cíclicas.
Tiene como proposito:
Proporcionar visibilidad sobre los procesos utilizados por
el proyecto de software y sobre los productos que genera.