You are on page 1of 5

Aseguramiento de la Calidad

aManejo de emergencia y desastre


Qu es el Aseguramiento de la Calidad del Software?
" Conjunto de acciones planificadas y sistemticas que son necesarias para proporcionar la
confianza adecuada de que un producto o servicio satisfaga los requisitos [i.e., requerimientos]
dados sobre la calidad" (Piattini y Daryanani, 1995)
"trmino usado para describir aquellas actividades que garantizan que el proyecto sea capz de
entregar un producto contractualmente aceptable" (Ince, et al, 1993).
" Coleccin de procedimientos, tcnicas y herramientas aplicadas por profesionales para
asegurar que un producto cumple o excede estndares pre-especificados durante el ciclo de
desarrollo de un producto; ante la ausencia de estos estndares pre-especificados, el
aseguramiento de la calidad se encarga de asegurar que un producto cumple o excede un nivel de
excelencia industrial o comercialmente aceptable" (Bersoff, 1994; citado en [Sommerville, 1992])
Qu es el Control de Calidad ?
"Actividades y tcnicas utilizadas para afectar [medir y corregir] la calidad del producto que se
est desarrollando" (Schmauch, 1995)
Tiene un caracter ms operativo y especfico que QA.
Cmo medir la calidad de un producto de software?
Se emplean modelos que especifican la calidad mediante la conjuncin de atributos.
El modelo ms conocido es el de McCall, et al. (1977) [ver (Piattini y Daryanani, 1995, Cap 15)]
Se basa en descomponer la calidad del producto en factores y estos en criterios que pueden ser
medidos mediante mtricas.
Elementos para asegurar la calidad del software en una organizacin:
1) El Sistema de Calidad:
Especifica la estructura organizacional, las responsabilidades, los procedimientos , los procesos y
los recursos necesarios para implantar la gestin de la calidad.
"El sistema de calidad debe ser un proceso integrado al ciclo de vida completo [del software] de
manera tal que la calidad se asegure en la medida que el desarrollo se realiza y no tenga que ser
descubierta al final del proceso" (ISO 9001)
2) La Gestin o Gerencia de Calidad:
Aquellos aspectos de la funcin gerencial que determinan e implementan la poltica de calidad.
3) Poltica de Calidad:

Conjunto de directrices y objetivos generales de una organizacin relativos a la calidad de sus


productos o servicios y definidos por la gerencia.

Instrumentos empleados para asegurar la calidad del software:


1) Normas y estndares de calidad:
Conjunto de guas, normas o convenios establecidos por la misma organizacin o por un ente
externo con la finalidad de definir, simplificar y estandarizar las actividades necesarias para lograr
una alta calidad de los productos de software.
Enfoques de normalizacin:
- Normalizacin de las caratersticas medibles del producto.
- Normalizacin del proceso general por medio del cual se desarrolla el software.
Estndares internacionales ms conocidos:
- ISO 9000 (International Standart Organization)
- IEEE 730
2) Inspecciones y revisiones
Son tcnicas de verificacin esttica (no involucran la ejecucin del programa) que estn
orientadas a la busqueda o deteccin de fallas.
Consisten en verificar que los modelos del sistema (diseos y listados de programas) cumplen
con las especificaciones de requerimientos.
Tcnicas ms conocidas:
- Recorridos estructurados (Structured Walkthrough)
- Inspecciones de diseo y cdigo
- Verificacin formal
3) Pruebas

Tcnicas de verificacin y validacin dinmica (implican la ejecucin de los programas


producidos) que demuestran:
- la presencia de defectos o errores en los programas
- que el sistema es operacionalmente til.
Tcnicas de prueba:
- Pruebas de Unidades:
Tipo 1: Pruebas funcionales, P. de desempeo, P. de tensin y P. de estructura
Tipo 2: Pruebas Caja Blanca, Pruebas Caja Negra
- Pruebas del Sistema:
- Pruebas de Integracin: P. Ascendentes, P. Descendentes, P. Combinadas
- Pruebas de Aceptacin: P. Funcionales, P. de Tensin, P. de Desempeo
4) Gestin de la Configuracin
Es un proceso para la gestin global de las arquitectura del sistema en desarrollo, esto es, de las
entidades que conforman el sistema.
Implica la identificacin de las entidades del software y sus componentes, su monitora o
seguimiento y el control de los cambios que involucren a esas entidades y sus componentes.
5) El Plan de Calidad:
"El plan de calidad es una parte del plan del proyecto que detalla como el grupo de desarrollo
pretende asegurar que el software es un producto que cumple con los estndares definidos por la
poltica de calidad." (Ince, et al., 1992)
Contenidos del Plan de Calidad (Ibid.):
Objetivos de calidad expresados, preferiblemente, en trminos medibles.
Identificacin de los planes y especificaciones de pruebas, mtodos y herramientas que se
emplearn para verificar y validar el software.
Descripcin de las actividades de calidad asociadas con cada fase del proceso de desarrollo.
Programacin detallada de las actividades de verificacin y validacin (inspecciones, recorridos y
pruebas) que se llevarn a cabo.
Definicin de las responsabilidades de las actividades de calidad. => definir quien es el
responsable de:
- las inspecciones, recorridos y pruebas;

- la gestin de la configuracin y el control de cambios; y


- el control y la depuracin de errores.

Aseguramiento de la calidad del proceso vs. Aseguramiento de la calidad del producto.


Con el paso de los aos se han ido inventando nuevas formas de mejorar los sistemas. Estas
mejoras son tomadas en cuenta dada la necesidad de obtener productos (software) de mejor
calidad. Este artculo ha sido escrito precisamente para tratar de aclarar 2 de los conceptos ms
mencionados al referirse a la calidad del software: Pruebas de Software (Software Testing) y
Aseguramiento de la calidad QA (siglas de las palabras en ingls Quality Assurance).
Para tener una idea clara de las diferencias y relacin entre ambos, es necesario conocer los
conceptos.
Las Pruebas de Software son una fase muy importante dentro de casi todos los modelos conocidos
de Ciclo de Vida del Software. Por ejemplo; en el venido de los 70s pero an utilizado, modelo
Cascada, se realizan las pruebas una vez terminada la construccin del sistema, en el Incremental
se realizan las pruebas en cada incremento del sistema, o por ejemplo, en el Evolutivo mediante la
retroalimentacin de los usuarios, en el espiral durante su verificacin y validacin del desarrollo, o
en los enfoques XP (eXtreme Programming o Programacin Extrema) con repetidas pruebas de
cada una de las mejoras debido a su desarrollo iterativo e incremental. As podramos ir
mencionando otros modelos no tan conocidos pero que seguramente incluyen Pruebas tambin
para entregar sistemas de Calidad.
Por otro lado, QA se refiere a asegurar (como su nombre lo dice) la calidad en cada una de las
fases de la elaboracin de un producto final, cualquiera que ste sea. En el caso de QA de
software, se referir entonces, a asegurar la calidad de los resultados de cada una de las fases del
ciclo de vida del software y con esto, asegurar la calidad del producto final. Para cumplir con este
aseguramiento se debern definir estndares y establecer procedimientos contra los cuales se
pueda comparar lo alcanzado durante cada una de las fases. Por ejemplo; si para el Anlisis de
Requisitos dentro de un modelo cascada, se ha definido un tipo determinado de documento a
presentar, entonces para pasar a la fase de Diseo, el documento de Anlisis deber estar
conforme al documento estndar ya que una fase que no se ejecut de forma correcta podra
causar (y muy probablemente lo haga) defectos en las fases posteriores. La idea es que mientras
ms temprano se detecten las fallas, menor ser el costo (monetario, de tiempo, recursos, calidad,
etc.) de repararlas y mayor la calidad del producto final.
Una vez con estos conceptos en mente ser ms sencillo sealar un par de diferencias y
relaciones entre ambos:
1.- Las Pruebas de Software se realizan en una de las fases del ciclo de vida del software; mientras
que QA de software se deber ejecutar en todas las fases (incluida la fase de Pruebas).

2.- Las Pruebas de Software utilizarn Casos de Pruebas para ser ejecutados; en cambio QA de
software utilizar los estndares y procedimientos establecidos para cada una de las fases del ciclo
de vida del software.
3.- Ambas permitirn verificar y afirmar la calidad del producto final, el software.
4.- Ambas definen un conjunto de actividades a realizarse dentro del ciclo de vida del software para
mejorar y asegurar la calidad del mismo.
Este tema es sumamente amplio y en este artculo slo se ha tocado una pequea parte de l,
pero como se mencion inicialmente, QA y Pruebas de Software son de los conceptos ms
utilizados al hablar de Calidad de Software as que hay que tenerlos siempre claros para saber
cundo utilizarlos.

You might also like