Professional Documents
Culture Documents
SEMANA 2
Aseguramiento de la
calidad del software
(SQA)
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No est
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposicin del pblico ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 2
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 2
NDICE
3
ESTE DOCUMENTO CONTIENE LA SEMANA 2
NDICE DE FIGURAS
Figura 1: Actividades SQA.................................................................................................................... 7
Figura 2: Modelo de desarrollo en cascada ......................................................................................... 7
NDICE DE TABLAS
Tabla 1: Estructura propuesta documento revisin de requerimiento .............................................. 13
Tabla 2: Estructura propuesta documento revisin de diseo .......................................................... 14
Tabla 3: Estructura propuesta documento revisin cdigo ............................................................... 15
Tabla 4: Estructura propuesta documento revisin de usabilidad .................................................... 16
4
ESTE DOCUMENTO CONTIENE LA SEMANA 2
ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE (SQA)
OBJETIVOS ESPECFICOS
Comprender el conjunto de actividades del SQA, destacando la importancia de asegurar la
calidad del software.
Comprender las actividades de SQA durante el ciclo de vida de desarrollo de software.
Aplicar la documentacin tcnica de trabajo referida a SQA.
INTRODUCCIN
Un aspecto relevante y necesario dentro de las fases de desarrollo de un proyecto de software es
el aseguramiento de la calidad del software, cuya abreviacin en ingls corresponde a SQA
(software quality assurance). Para realizarlo, se requiere establecer un modelo, con formulacin
de planes, procedimientos y actividades orientadas a verificar el cumplimiento de los estndares
que se han definido como parte de las prcticas en el desarrollo del software y el proceso que lo
conduce. Entonces, se est hablando de aseguramiento de la calidad del producto de software y
de la aplicacin de procedimientos y actividades definidas por un estndar, para conducir el
desarrollo final.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE (SQA)
Antes de iniciar el desarrollo de este tema, se debe sealar que en todo proceso de produccin,
debe haber instancias de monitoreo, control y mejora, es decir, actividades orientadas a asegurar
que antes, durante y despus del proceso las tareas sean realizadas de la forma como se
planificaron e introducir cambios necesarios para que as sea. Cuando hablamos de un proceso de
desarrollo de software, ocurre exactamente lo mismo.
El propsito de SQA es verificar que las actividades declaradas dentro del proceso de desarrollo de
software sean realizadas tal como fueron definidas en la planeacin del proyecto. Para aplicarlo,
no importa el tamao de la organizacin, se pueden adecuar las funciones de los profesionales, de
manera que exista un rol responsable. Por ejemplo, en una organizacin pequea, el mismo
equipo de desarrollo puede abordar estas actividades, como tambin, en organizaciones ms
grandes, habr un rea especializada para tales fines.
6
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Figura 1: Actividades SQA
Fuente: material elaborado para esta asignatura (J. Reyes, 2015)
7
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Si se observa la imagen anterior, existe un conjunto de etapas que comienzan con el anlisis y
sucesivamente se van retroalimentando unas a otras como lo muestra el sentido de las flechas. En
cada una de estas etapas hay actividades inherentes al objetivo que persiguen y otras que ayudan
a que estas actividades sean realizadas conforme a los estndares que se han definido en la
organizacin. Por ejemplo, en la etapa de anlisis, se realizar un levantamiento de un
determinado problema y se requerir documentarlo bajo una cierta estructura. En la etapa de
diseo, se va a establecer el modelo de solucin y se har lo mismo, pero en otro documento.
Finalmente, en la etapa de implementacin, se desarrollarn las piezas de software y estas
debern cumplir con normas de programacin. De esta forma, las actividades que gobiernan el
quehacer del equipo de desarrollo corresponden a las actividades propias del aseguramiento de la
calidad del software (p. cit.). A continuacin, se revisarn estas actividades con ms detalle.
Actividad que busca verificar la aplicacin de procedimientos y su correcto uso en todas las
distintas tareas. Asimismo, que estas vayan en la misma direccin de las definiciones y estndares
establecidos. Desde el punto de vista del proceso, se revisar semanalmente el avance de la
programacin, las actividades realizadas, aquellas an pendientes, la utilizacin de recursos y se
medir el avance planificado versus el real respecto al plan del proyecto.
Actividad centrada en la calidad del producto y los factores de calidad que se busca destacar. Se
realiza a travs de inspecciones a nivel de cdigo, donde se verifica el cumplimiento de normas de
programacin y documentacin del software.
1.2.3. AUDITORA
8
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Habiendo definido estas tres grandes actividades del SQA, es necesario precisar un poco ms el
detalle de las prcticas que le compete a cada una de ellas. As entonces, se indican a continuacin
algunas tareas que incluyen el monitoreo de procesos, la evaluacin del producto y las auditoras.
1.2.3.1. ESTNDARES
La organizacin para desarrollar un software de calidad requiere que todo proceso que integra un
conjunto de actividades y mtodos que deben ser realizados de acuerdo a una definicin
declarada y conocida por todos quienes participan del desarrollo de software. Es importante
destacar que la idea de definirlo busca siempre utilizar buenas prcticas y que los proyectos se
realicen utilizando los mismos criterios procedimentales dentro de la organizacin. En este
sentido, el criterio es fundamental y se debe ajustar a las necesidades de cada organizacin. No
todo debe ser estandarizable, esto sera un error. Pero en el mbito del software, perfectamente
se puede alinear lo siguiente respecto a una definicin estndar (p. cit.):
1.2.3.2. REVISIONES
Para realizarlas, la organizacin determina una metodologa, con una estructura y disciplina para la
aplicacin y deteccin de desviaciones. Usualmente se puede formular con las siguientes tareas
previas (p. cit.):
a. Planificacin
b. Orientacin
c. Preparacin
d. Inspeccin
e. Recomendaciones
f. Seguimiento
El rol principal de SQA es verificar que estas actividades sean realizadas en forma programada
(por eso se planifican) y corroborar que las acciones derivadas de las revisiones sean concretadas.
9
ESTE DOCUMENTO CONTIENE LA SEMANA 2
1.2.3.3. PRUEBAS
Esta actividad enfocada en el producto busca verificar que las definiciones funcionales y de
sistemas que definieron su desarrollo se cumplan de acuerdo a lo planeado. Al igual que otras
actividades, la prueba debe ser planificada, ejecutada y finalizar con un informe. Hay que
mencionar que durante el desarrollo de un proyecto de software podemos encontrar pruebas de
desarrollo realizadas por quienes desarrollan el software, pruebas de integracin con otros
mdulos o sistemas y, finalmente, pruebas de aceptacin por parte del usuario final.
En este caso, la labor del SQA tambin es verificar que lo anterior sea realizado, cumpliendo con
los estndares, generando la documentacin requerida e informes que permitan dar visibilidad
respecto del avance del proyecto a las jefaturas respectivas. As entonces, la misin del SQA se
resume en asegurarse de que (p. cit.):
Los defectos se han producido, se producen y seguirn producindose mientras existan las
condiciones para que as sea. Es por esta razn que esta actividad es la base para realizar el
anlisis causal de ellos. Es as debido a que recoge los antecedentes que se generan a partir del
control de calidad (enfocado al producto) y el aseguramiento de la calidad de este (que observa el
proceso con sus mtodos y prcticas). Al analizar estos antecedentes ms all del mbito del
producto de software en s, resulta provechoso para las organizaciones, porque se determinan
correcciones al proceso, lo cual indudablemente mejorar la calidad del producto de software en
proyectos futuros (se aprende de los datos registrados y la experiencia).
El objetivo que persigue esta actividad es asegurar la validez e integridad de las distintas piezas de
software que, integradas, conforman el producto de software durante su desarrollo y posterior
mantenimiento. Para realizar lo anterior, existen cuatro actividades que se deben considerar (p.
cit.):
10
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Identificacin de la configuracin (componentes y piezas de software de la solucin):
As la principal tarea del SQA es verificar que se cumpla lo definido en el plan de la administracin
de la configuracin.
11
ESTE DOCUMENTO CONTIENE LA SEMANA 2
contemplados en el diseo, revisin de los informes de inspeccin y, finalmente, registrar el
diseo en la administracin de la configuracin (p. cit.).
12
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3. DOCUMENTACIN TCNICA DE TRABAJO ASOCIADA A SQA
La actividad de SQA se puede apoyar en herramientas para materializar las tareas que requiere
realizar durante el desarrollo del proyecto. Por tal razn se indica una gua para orientar la
elaboracin de estos artefactos.
Este documento corresponde a una gua para hacer una revisin precisa de la definicin y
elaboracin de los requerimientos que forman parte de la solucin final, y as verificar la
completitud y adherencia al estndar que debe utilizarse para su definicin. De esta forma, la
estructura que puede orientar la elaboracin del documento puede ser la siguiente:
13
ESTE DOCUMENTO CONTIENE LA SEMANA 2
3.1.2. DOCUMENTO DE REVISIN DE DISEO
Este documento es una gua para revisar el diseo de la solucin y verificar que se hayan
considerado todos los aspectos definidos en la planificacin del proyecto. Es decir, se debe abarcar
todo lo requerido en trminos tcnicos y funcionales, como la adherencia a los estndares y
procedimientos definidos por la organizacin para la ejecucin de las actividades de esta etapa.
As, la estructura que oriente la elaboracin de este documento puede ser la siguiente (p. cit.):
Este documento corresponde a una gua para hacer una inspeccin del cdigo fuente de la
solucin. Sobre la base de una normativa de programacin, se debe verificar que esta se aplique
en los distintos mbitos de la programacin. Por ejemplo, normas para la programacin y
normalizacin de bases de datos, normas para el desarrollo web, en relacin al uso del lenguaje de
programacin utilizado, entre otros. De esta forma, la estructura que puede orientar la
elaboracin del documento puede ser la siguiente (p. cit.):
14
ESTE DOCUMENTO CONTIENE LA SEMANA 2
Propsito Actividad Descripcin/Detalle
Entrada Lista de objetos y Se solicita al equipo de desarrollo que
componentes de software indique la ltima configuracin actualizada
en proceso de desarrollo. de tems de programacin. Esto es,
Normas de programacin. componentes y piezas de software
Procedimientos de
configuracin de
componentes de software.
La usabilidad como definicin de una solucin no es una simple declaracin de buenas ideas o
eventuales facilidades para el usuario final en su futura interaccin con la solucin de software.
Resulta algo ms complejo y debe estar debidamente alineado con la definicin inicial de la
necesidad y expectativas funcionales que declare el usuario.
De esta forma, la usabilidad comienza con una participacin directa en la definicin de sus
requerimientos funcionales e incorporando sus preferencias respecto a experiencias anteriores en
el uso de sistemas. Por ejemplo, el usuario por nada del mundo espera un buscador de clientes
con una cantidad insoportable de parmetros de bsqueda, cuando usualmente lo que hace es
ingresar el nombre o RUN para identificarlo. As tambin, indica los tipos de formato que deben
tener los datos para su mejor comprensin.
15
ESTE DOCUMENTO CONTIENE LA SEMANA 2
La accesibilidad es otro referente en este mbito. Navegar dentro de muchas pantallas para llegar
a un dato seguramente es lo que el usuario tratar de evitar. Por tanto el diseo ser clave para
incorporar este tipo de requerimientos en su propuesta de despliegue de informacin.
Visualmente, tambin hay preferencias y caractersticas que el usuario persigue. Entonces, estas
deben ser materializadas en el diseo. Por ejemplo, un mismo sistema el usuario necesita sea
desplegado en un ambiente mobile1, como tambin en un browser tradicional sobre la web.
Lo concreto es que para verificar la usabilidad debe haber una instancia y herramientas que
ayuden a corroborar lo solicitado en los requerimientos funcionales y de sistema por el usuario.
De esta forma, la estructura que oriente la elaboracin del documento puede ser la siguiente (p.
cit.):
Revisin Verificar que los aspectos Programar esta actividad con el equipo de
de usabilidad declarados en desarrollo.
la definicin de
requerimientos del usuario
estn desarrollados en
forma clara y precisa.
Excepciones declaradas de
no aplicacin de las normas
en casos precisos.
1
Mobile tcnicamente se refiere a las tecnologas que tienen conectividad con internet, de acuerdo a
estndares definidos para ello. Es una castellanizacin del trmino ingls.
16
ESTE DOCUMENTO CONTIENE LA SEMANA 2
COMENTARIO FINAL
La actividad de aseguramiento de la calidad del software (SQA) es el mecanismo a travs del cual
una organizacin puede resguardar que el producto de software final sea desarrollado sobre la
base de buenas prcticas, considerando los aspectos funcionales y tcnicos determinados en el
plan del proyecto. Lo anterior no ser posible en ausencia de estndares y procedimientos que
integren buenas prcticas y la accin realizada por SQA, para asegurar que lo desarrollado cumpla
o adhiera a estas definiciones.
17
ESTE DOCUMENTO CONTIENE LA SEMANA 2
REFERENCIAS
Piattini, M.; Garca, F.; Garca, I. y Pino, F. (2012). Calidad de sistemas de informacin. Mxico:
Piattini, M. (2008). Medicin y estimacin del software. Tcnicas y mtodos para mejorar la calidad
McGraw-Hill Interamericana S. A.
IACC (2015). Aseguramiento de la calidad del software (SQA). Modelos y Control de Calidad.
Semana 2.
18
ESTE DOCUMENTO CONTIENE LA SEMANA 2
19
ESTE DOCUMENTO CONTIENE LA SEMANA 2