Beruflich Dokumente
Kultur Dokumente
Programa de la asignatura:
Pruebas y mantenimiento de sistemas de software
Clave:
15144832
Universidad Abierta y a Distancia de Mxico
UnADM
ndice
Unidad 1. Fundamentos del aseguramiento de la calidad del software .............................. 3
Propsitos.......................................................................................................................... 4
Competencia especfica..................................................................................................... 4
1.1. Calidad del software en el entorno de las organizaciones ........................................... 4
1.1.1. Estndares internacionales: ISO e IEEE .................................................................. 6
1.1.2. Modelos y procesos para garantizar la calidad del software................................... 14
1.1.3. Ciclo de vida del software y mbitos de anlisis de la calidad ................................ 18
Actividad 1. Objetivos del aseguramiento de la calidad del software ................................ 23
1.2. Aseguramiento de la calidad del software ................................................................. 23
1.2.1. Estndares para el aseguramiento de la calidad del software ................................ 28
Actividad 2. Estndares del aseguramiento de la calidad del software ............................ 32
1.2.2. SQA (software quality assurance) .......................................................................... 32
Autoevaluacin ................................................................................................................ 39
Evidencia de aprendizaje. Aseguramiento de la calidad del software .............................. 39
Autorreflexiones ............................................................................................................... 39
Cierre de la unidad .......................................................................................................... 40
Para saber ms ............................................................................................................... 41
Fuentes de consulta ........................................................................................................ 41
Propsitos
Al trmino de esta unidad logrars:
Identificar los procesos que garantizan la calidad del software durante las
diferentes fases su ciclo de vida.
Comprender el alcance, la importancia y la aplicacin de los estndares que
evalan la calidad del software.
Identificar la importancia de los marcos de referencia para desarrollar softwares
bajo un esquema de calidad.
Identificar el marco de referencia de las pruebas y mantenimiento de los sistemas
de software en relacin con la calidad.
Competencia especfica
Analizar los procesos que garantizan la calidad del software para determinar los
requerimientos de pruebas y mantenimiento, mediante los estndares de calidad.
Para poder definir el concepto de calidad del software, es necesario analizar previamente
las diferentes connotaciones y definiciones que existen sobre ella en mbitos ms
generales.
Para Calero et l. (2010), la definicin del concepto de calidad del software no debe
abarcar nicamente al propio producto o componente de software en s, sino a todo el
contexto que rodea a dicho producto o componente. De acuerdo con el autor, este
enfoque de calidad (incluso aplicada a cualquier cosa) debe tener una visin integral, que
contemple el entorno donde se ejecuta y los procesos que lo han generado.
Segn Chemuturi (2011, p. 2), la calidad puede apreciarse desde tres perspectivas:
Para un consumidor final, la calidad connota una funcionalidad libre de defectos, fcil
de usar, con niveles aceptables de fallas durante su uso, confiable en su rendimiento,
con fcil acceso a servicios y proteccin contra daos.
Como es posible observar, la calidad tiene diferentes connotaciones, segn los actores
organizacionales.
La norma ISO 9000:2000 define a la calidad como el grado en el que un conjunto de
caractersticas inherentes cumple con los requerimientos (Uddesh, p. 308). En la
definicin anterior, se entiende como grado un nivel continuo de calidad que comienza en
cero y crece quiz infinitamente. Esta deduccin, sin embargo, es ambigua debido a que
se puede cuestionar lo siguiente: en qu nivel se considera la calidad como mala, buena
o excelente?, quin est facultado para emitir esta calificacin? Existen estndares
internacionales y proyectos de aseguramiento de la calidad del software, mismos que se
detallarn a continuacin.
La importancia de la calidad del software va en aumento en cuanto al desarrollo de
sistemas de software, debido principalmente a que un sistema que se desarrolla siguiendo
los modelos de calidad representar una ventaja competitiva de la organizacin para la
cual est dirigido, ofreciendo mejores servicios y productos para los consumidores.
En el tema 1.1. Calidad del software en el entorno de las organizaciones, se abordarn los
mbitos de anlisis de la calidad de los sistemas de software, as como los estndares
internacionales que rigen el proceso del aseguramiento de la calidad.
Esta unidad comprende el estudio de los estndares internacionales ISO e IEEE. Tema
que aporta los lineamientos estandarizados para construir software de calidad.
Posteriormente, se analizarn los modelos y procesos que se emplean para garantizar la
calidad del software, mediante una introspeccin a la forma en la que se abordan cada
una de las fases de desarrollo de software, y se podr identificar el nivel de madurez de
las actividades encaminadas a la calidad. Finalmente, en el tema sobre el ciclo de vida del
software y los mbitos de anlisis de la calidad, se abordarn las cuatro dimensiones que
definen un software de calidad y cmo se relacionan con el ciclo de vida de los sistemas.
Comprender los temas de esta unidad es importante debido a que se introduce la calidad
al ciclo de vida de sistemas como un complemento a cada una de sus diferentes fases;
esto con el objetivo de que los proyectos de desarrollo de software, elaborados bajo un
enfoque de calidad, cubran eficientemente los requerimientos para los cuales fueron
concebidos.
Esta inversin en recursos toma sentido cuando se evalan las ventajas que representa la
adopcin de las normas o estndares internacionales de calidad de los productos o
servicios de una organizacin, entre las que se encuentran el mejorar los procesos de la
organizacin, la reduccin de costos, mejora en el control del negocio, mejora en la
generacin de informacin para la toma de decisiones, entre otras. Cada una de las
mencionadas anteriormente, pueden ser aplicadas tambin en los proyectos de desarrollo
de software.
Segn se revis en la asignatura Modelos de calidad de software, existen dos grandes
organizaciones que regulan y emiten los estndares para la evaluacin del software con
mayor aceptacin en el mundo: el Instituto de Ingenieros Elctricos y Electrnicos (IEEE)
y la Organizacin Internacional de Normalizacin (ISO por sus siglas en ingls). Dichas
organizaciones han emitido y actualizado diferentes normas que ayudan a los equipos de
desarrollo de software a efectuar y medir su trabajo bajo un enfoque de calidad.
Debido a que existen numerosas familias de normas que evalan diferentes reas del
desarrollo de software, esta unidad se enfocar en las ms representativas para los
procesos de pruebas y mantenimiento, mismas que son fundamentales para que un
producto de software pueda ser considerado de calidad.
Norma ISO/IEC 25000:2005 Software product Quality Requirements and Evaluation
(SQuaRE)
La familia de normas ISO/IEC 25000:2005 es una evolucin de la ISO 9126.
El siguiente esquema representa la forma en la que se clasifican las diferentes categoras
y subcategoras para la evaluacin de la calidad del software que integran la familia de
normas ISO 9126.
Categoras
Funcionalidad
Confiablidad
Clasificacin de
las categoras y
subcategoras de
la norma ISO
9126
para la
evaluacin del
software
Subcategoras
Adecuacin
Precisin
Interoperabilidad
Seguridad
Conformidad de su funcionalidad
Madurez
Tolerancia a fallas
Habilidad de recuperacin
Conformidad de su confiablidad
Usabilidad
Comprensibilidad
Facilidad de aprendizaje
Facilidad de operacin
Conformidad de su usabilidad
Eficiencia
Manejo de tiempos
Empleo de recursos
Conformidad de su eficiencia
Facilidad de
mantenimiento
Portabilidad
Categoras y subcategoras de mbitos para la evaluacin de la calidad del software. Basado en Carrol, 2007,
p. 200.
La familia ISO/IEC 25000 se compone de cinco divisiones principales (Calero et l., 2010):
1. ISO/IEC 2500nDivisin de Gestin de Calidad. Las normas ISO/IEC 2500n
establecen todos los modelos, trminos y definiciones comunes referenciados por
todas las otras normas de la familia 25000.
10
Las caractersticas internas que se relacionan directamente con las pruebas de sistemas
de software abarcan cada una de las descritas anteriormente: funcionalidad, confiablidad,
usabilidad, eficiencia, facilidad de mantenimiento y portabilidad. Las caractersticas
externas tambin figuran directamente en los procesos de pruebas de sistemas de
software; es en ellas donde tienen mayor peso las pruebas, pues es cuando el producto
final es sometido a dichas evaluaciones.
El mantenimiento de software entra en juego como parte de las caractersticas internas de
facilidad de mantenimiento pues, como su nombre lo indica, se enfoca en la capacidad
que tiene el software de ser modificado y aceptar procesos de mantenimiento.
Puedes conocer ms informacin sobre la familia ISO/IEC 25000 y sus subdivisiones la
pgina electrnica de ISO 25000 Calidad del producto software.
Estndar IEEE 12207
El Instituto de Ingenieros Elctricos y Electrnicos (IEEE) tambin cuenta con diferentes
estndares que evalan la calidad de un producto o sistema de software. Para efectos de
esta asignatura, se revisar el estndar IEEE 12207 propio de las tecnologas de la
informacin, que establece un marco de referencia comn para el ciclo de vida de
sistemas (IEEE, 2008).
El campo de aplicacin de este estndar es muy amplio en los sistemas de software, y de
igual manera que con las normas ISO revisadas anteriormente, las pruebas y
mantenimiento de software son contempladas por estas mtricas de calidad.
De acuerdo con Tuya et l. (2007), la norma IEEE 12207 agrupa los procesos del ciclo de
vida del software en tres niveles principales, que a su vez se dividen en otras categoras
de proceso (p. 19):
1. Procesos primarios. Se componen de las siguientes categoras:
11
2. Procesos de soporte. Se refiere a los procesos que pueden ser empleados por
cualquiera de los otros procesos en determinadas fases del ciclo de vida.
3. Procesos de la organizacin. Se componen de las siguientes categoras:
Gestin. Comprende los procesos que contienen prcticas que pueden ser utilizadas
por cualquier persona que gestione cualquier tipo de proyecto, o de proceso del ciclo
de vida del software.
Mejoramiento. Comprende los procesos que establecen, definen, implementan,
evalan y mejoran las tcnicas que se realizan en la organizacin.
Infraestructura. Describe los mtodos que se realizan para dotar a la organizacin
tanto de capital humano como de la infraestructura necesaria para que los otros
procesos puedan realizarse de manera apropiada.
Reutilizacin. Contiene los procesos directamente relacionados con la realizacin de
acciones destinadas a explotar las oportunidades de reutilizacin.
12
Adquisicin
Documentacin
Suministro
Gestin de la configuracin
Aseguramiento de la calidad
Verificacin
Validacin
Ingeniera
Operacin
Revisin conjunta
Auditora
Resolucin de problemas
Infraestructura
Mejoramiento
Reutilizacin
13
14
15
Nivel 1
Inicial
Nivel 2
Repetible
Nivel 3
Definido
Nivel 4
Gestionado
Nivel 5
En optimizacin
Cada uno de los niveles del CMM se define por una serie de reas clave de proceso o
KPA (key process rea, por sus siglas en ingls). De acuerdo con Tuya et l. (2007),
estas KPA se refieren a un grupo de actividades que al ser realizadas por el equipo de
desarrollo de software de manera conjunta, ayudarn a lograr los objetivos de su nivel y
encaminarlo al proceso el estado ms alto de madurez.
Es posible definir a las KPA como el conjunto de estrategias que se deben llevar a cabo,
en cada niel del CMM, para lograr el nivel de madurez requerido y avanzar al siguiente.
stas son descritas a continuacin:
Nivel 1 inicial. Se caracteriza por la indisciplina en los procesos. No cuenta con reas
clave de proceso o KPA (Tuya et l., 2007).
Nivel 2 repetible. Comprende la gestin de la configuracin del software, el SQA
(aseguramiento de la calidad del software). Se incluyen las cuestiones administrativas
inherentes a un proyecto de desarrollo de software, tales como su planificacin, desarrollo
y control. Adquiere el nombre de repetible debido a que se logran procesos estables, con
niveles aceptables de control y estandarizacin (Tuya et l., 2007).
Nivel 3 definido. Contempla la ingeniera del producto de software. Recibe el nombre de
definido debido a que ya se cuenta con procesos predecibles. Se incluye un estudio a
detalle de todos los procesos, as como la coordinacin del grupo de desarrollo de
software (Tuya et l., 2007).
Nivel 4 gestionado. Contempla la mejora continua de los procesos, toda vez que ya se
han superado los niveles anteriores. Para efectuar esta accin, se incluyen los conceptos
de gestin de la calidad del software y la cuantitativa de procesos (Tuya et l., 2007).
16
17
18
Los mbitos de anlisis de la calidad se aplican de manera paralela al ciclo de vida del
software:
Calidad de la especificacin. Se ubica en la primera fase del ciclo de vida del software,
en la fase de anlisis.
Calidad del diseo. Se ubica en la segunda fase del ciclo de vida del software, en la
etapa de diseo.
Calidad en el desarrollo. Se ubica en la tercera fase del ciclo de vida del software, en la
etapa de desarrollo.
Calidad de la conformidad. Se ubica en la cuarta fase del ciclo de vida del software, en
la fase de pruebas.
A continuacin, se describe cada una de las dimensiones o mbitos de anlisis de la
calidad del software:
1. mbito de la calidad del software: especificacin. La primera fase de la calidad de
software es la de anlisis (Sommerville, 2011). En sta, el mbito de anlisis de calidad
de software es la especificacin de los requerimientos. La calidad de la especificacin se
refiere a qu tan bien han sido definidos los requerimientos para el producto o servicio
que se presta. Se trata de un punto crucial debido a que no existen actividades
predecesoras, y el resto del desarrollo partir de dichas especificaciones. Esta verificacin
es llevada a cabo en la fase de anlisis del desarrollo de sistemas (Chemuturi, 2010).
Dentro del ciclo de vida tradicional del software, las especificaciones forman parte de la
fase del anlisis, y si no son definidas de manera correcta, el diseo ser incorrecto y
provocar que el producto final tambin sea incorrecto. Cualquier esfuerzo gastado en el
aseguramiento de la calidad ser en vano.
Es de suma importancia que las especificaciones de los sistemas de software sean bien
definidas, comprensibles, y que tomen en cuenta todos los aspectos posibles que se
relacionan con la calidad del sistema.
Tipo de
especificacin
Funcionalidad
19
Uso
A partir del caso de la universidad, un aspecto de uso es
automatizar el proceso de inscripciones.
Especifica el tiempo en el que el producto o servicio podr ser
usado antes de requerir mantenimiento.
Confiabilidad
Seguridad
Aspectos comprendidos por cada tipo de especificacin para que la obtencin de requerimientos sea de
calidad. Basado en Chemuturi, 2010.
Para asegurar que las especificaciones sean correctas, es necesario que personal
altamente calificado en el anlisis de sistemas las elabore y defina los estndares que se
emplearn.
2. mbito de la calidad del software: diseo
Segn Chemuturi (2010), la calidad del diseo se refiere a qu tan bien el producto o
servicio es diseado. El principal objetivo es cumplir las especificaciones definidas para el
producto o servicio (Sommerville, 2010). De igual manera que con la calidad de la
20
mbitos de
la calidad
del diseo
Ingeniera
Trabaja en los detalles
que generan la solucin
Diseo de bases de
datos, especificaciones
del programa, diseo de
interfaces, reportes
mbitos de
la calidad
del diseo
Fases
del diseo
Al igual que con las especificaciones, los mbitos de calidad del diseo tienen una
relacin directa con el ciclo de vida tradicional del software, pues se llevan a cabo en la
fase de diseo.
En este mbito, una lluvia de ideas del equipo de desarrollo es muy til para ayudar a los
diseadores a llegar a la mejor solucin para el proyecto.
3. mbito de la calidad del software: desarrollo
Usualmente, la fase de pruebas de un producto de software puede tomar ms tiempo y
esfuerzos que el propio desarrollo en s. Por esta razn, es aceptable que no se lleven a
cabo pruebas sobre el 100% del producto de software, siempre que la manera en la que
se desarrolle sea cuidadosa.
Las actividades que normalmente se llevan en la fase de desarrollo del ciclo de vida del
software comprenden:
Creacin de la base de datos y estructura de tablas
Desarrollo de libreras
Desarrollo de pantallas
Desarrollo de reportes
Desarrollo de planes de pruebas unitarias
Desarrollo de procesos
21
22
Este tema abarc la relacin que existe entre el ciclo de vida del software y cmo es
posible analizar si se estn llevando a cabo controles de calidad en cada una de sus
fases. Es muy importante comprender cules son los mbitos que definen la calidad del
software, debido a que en el siguiente tema se abordar la forma en que sta se asegura,
a travs de sus mbitos de anlisis: especificacin, diseo, desarrollo y conformidad.
23
24
Especificaciones:
requerimientos del
usuario
Diseo: conceptual y
de ingeniera
Desarrollo:
cdigo fuente
25
de esas alternativas para el proyecto, hasta finalizar con el diseo conceptual que se
refiere a determinar cmo se va a almacenar, manipular y distribuir la informacin.
Estndares y lineamientos. Se especifica una posible arquitectura para el desarrollo del
software. Incluye las ventajas y desventajas que conlleve, as como la metodologa para
tomar caminos alternativos en el diseo.
Listas de comprobacin. Ayuda a los diseadores a asegurar que el diseo se lleve a
cabo integralmente y de manera apropiada.
Aseguramiento de la calidad del desarrollo
En esta etapa del ciclo de vida de sistemas, es posible pensar que si se han llevado a
cabo de manera correcta las dos fases anteriores (especificaciones y diseo), tendr
como consecuencia que la fase del desarrollo sea correcta tambin.
Sin embargo, esta fase puede tener muchos defectos de calidad, debido a que la forma
de desarrollar el cdigo va a depender propiamente del programador que lo haga; puede
que su resultado final cumpla lo establecido en la fase de diseo, pero que el componente
de software que desarrolle consuma muchos recursos del sistema o que su cdigo sea
ilegible para otros desarrolladores, provocando as un mantenimiento ms costoso.
Para integrar y asegurar la calidad de esta fase, nicamente es necesario establecer
claramente las pautas o directrices que se debern llevar durante la elaboracin del todo
el cdigo fuente que comprende el desarrollo. stas incluyen:
Finalmente, para asegurar que la fase de desarrollo fue cumplida bajo un esquema de
calidad, se puede aplicar un proceso que ayuda a garantizar este hecho: pruebas de
sistemas de software, mismo que se detallar en la unidad 2 de esta asignatura.
26
Funcionabilidad
Fiabilidad
Usabilidad
Entendibilidad
Eficiencia
Mantenibilidad
Transportabilidad
Las mtricas son aplicadas a un producto de software no ejecutable y durante las etapas
de su desarrollo. Permiten medir la calidad de los entregables intermedios, predecir la
calidad del producto final, y hacer posible que el usuario inicie acciones correctivas
tempranas en el ciclo de desarrollo.
Lo anterior da lugar a:
27
28
La relacin que guarda este estndar con las pruebas y mantenimiento de software,
consiste en que describe los procesos como un plan integral que debe elaborarse
sistemticamente para su correcta ejecucin.
El objetivo de elaborar planes de pruebas y mantenimiento es reforzar las actividades del
aseguramiento de la calidad, identificando previamente las estrategias que se llevarn a
cabo durante el proyecto; adems de que se definen sus objetivos.
De acuerdo con este estndar, los planes para el aseguramiento de la calidad del
software contemplan los siguientes elementos (Galin, 2004):
Propsito: objetivo especfico que tendr el plan de SQA. El propsito de un plan de
SQA es delimitar claramente su alcance, enlistando los componentes de software y su
uso.
Revisiones y auditorias: debern llevarse a cabo como parte del plan SQA. Entre las
ms importantes se encuentran las revisiones de las especificaciones, del diseo y de
la implementacin del software. Entre las auditoras ms importantes se destacan la
de funcionalidad, de fechas de entrega y de diseo.
29
seguimiento, as como el plan de accin para resolverlo. Incluye tanto los productos de
software como el propio proceso.
Control de cdigo: la forma en la que deber escribirse el cdigo fuente del producto
de software. Incluye control de versiones, libreras, clases y convencionalismos
particulares, tales como la forma en la que se nombran las variables o las clases.
30
Este material es de suma importancia para los analistas de sistemas, pues cuentan con
una herramienta muy poderosa de anlisis que les permitir realizar mejor su trabajo al
proponer o disear sistemas que optimicen dichos procesos.
Esta misma perspectiva de rayos-x del negocio permitir elaborar proyectos de pruebas y
mantenimiento de software ms eficientes, debido a que se contar con la informacin
suficiente para planear los procesos sin afectar la operacin de la organizacin.
Sobre los estndares ISO de pruebas de software, se pueden mencionar los
ISO/IEC/IEEE 29119, conjunto de normas para las pruebas de software que se pueden
utilizar en el ciclo de vida de desarrollo. Mediante la implementacin de estas normas, la
organizacin obtiene un enfoque de alta calidad por ser reconocidas a nivel internacional.
El estndar ISO ISO/IEC/IEEE 29119 se conforma de cinco normas que se explican a
continuacin (ISO/IEC/IEEE 29119 Software Testing, 2013):
ISO/IEC 29119-1: conceptos y definiciones (publicado en septiembre de 2013), este
apartado es informativo y proporciona definiciones, una descripcin de los conceptos de
pruebas de software y la forma de aplicar los procesos, documentos y tcnicas definidas
en la serie 29119.
ISO/IEC 29119-2: pruebas de procesos (publicado en septiembre de 2013), define un
modelo de proceso genrico para las pruebas de software, que se puede utilizar dentro de
cualquier ciclo de vida del desarrollo de software.
ISO/IEC 29119-3: pruebas de documentacin (publicado en septiembre de 2013),
define plantillas para la documentacin de prueba que cubre todo el ciclo de vida de
pruebas de software.
ISO/IEC 29119-4: tcnicas de prueba, define un estndar internacional que cubre las
tcnicas de diseo de pruebas de software (tambin conocidas como tcnicas de diseo
de casos de prueba o mtodos de prueba), que se puede utilizar durante el diseo de
prueba e implementacin de procesos, dentro de cualquier organizacin o del ciclo de
vida de del desarrollo de software.
ISO/IEC 29119-5: prueba de manejo de palabras clave, define un estndar
internacional para apoyar las pruebas, describe los elementos utilizando un conjunto
predefinido de palabras clave, las cuales se refieren a nombres asociados con un
conjunto de acciones requeridas para realizar un paso especfico en un caso de prueba.
Mediante el uso de palabras clave para describir los pasos de prueba en lugar del
lenguaje coloquial, se facilita entender, mantener y automatizarlos.
31
La descripcin del objetivo y el resultado del proceso, que est soportado por un
conjunto de indicadores de desempeo de los procesos.
Los niveles de capacidad y atributos de proceso definidas en la norma ISO/IEC 33020
(evaluacin del proceso-marco de medicin para la evaluacin de la capacidad del
proceso y la madurez de la organizacin), y su escala de calificacin asociada.
32
Desde la posicin del cliente, el trabajo del equipo de SQA lo representa. Entre las
funciones en este papel se identifican:
Sealar la funcionalidad que el cliente desea
33
Es posible que el equipo que define la metodologa no pertenezca al equipo de QA, y sea
el SEPG (software engineering process group), equipo totalmente independiente
encargado de definir la metodologa, mientras que el equipo de QA se limita a verificar
que se cumpla.
La importancia de implementar SQA en el desarrollo de software, puede apreciarse mejor
en la siguiente grfica:
34
COSTOS
ADCPIO
Costo de corregir defectos en cada fase del ciclo de vida de software. Tomado de Reynolds, 1995.
Como es posible apreciar, conforme avanza el desarrollo del proyecto, el costo por
corregir defectos se incrementa notoriamente. Ntese que en la fase de anlisis este
costo es casi nulo. Una ventaja de implementar SQA en los proyectos de desarrollo de
software, es que si la fase de anlisis ha sido controlada bajo el esquema de calidad, los
errores que se presenten en su fase de operacin sern mnimos o nulos, reduciendo de
esta manera los costos por mantenimiento.
Segn Moliner (2005), entre las principales actividades que se llevan a cabo en el SQA se
encuentran:
Anlisis de errores: se analiza el origen de los errores que son detectados con el
objetivo de definir estrategias que ayuden a prevenirlos y corregirlos.
35
De acuerdo con Galin (2004), los siguientes son algunos elementos que comprende un
plan de SQA:
1. Objetivos de calidad
Hace referencia a los lineamientos de calidad del sistema desarrollado. En otras palabras,
se refiere a la funcionalidad que se espera tenga el software.
Los objetivos de calidad sirven como mtricas para el xito con el que el software cumple
los requerimientos del cliente.
2. Plan de actividades de revisin
Debe presentar una relacin completa de todas las actividades de revisin contempladas
en el plan. Incluye inspecciones al diseo y al cdigo.
Por cada actividad de este plan se deben describir los siguientes puntos:
Tipo de actividad
Alcance
Planificacin
Procedimientos
Personal que ejecutar la actividad
3. Plan de pruebas del software
SQA debe presentar una relacin completa de todas las pruebas de software planificadas.
Por cada actividad de este plan se deben describir los siguientes puntos:
36
Software adquirido
Software desarrollado por terceros
Software proporcionado por el cliente
5. Gestin de la configuracin
El plan SQA debe especificar los procedimientos para la gestin de configuracin,
incluyendo un control de cambios que se aplica a todo el proyecto.
Los procesos del SQA contemplan a todas las actividades involucradas en el ciclo de vida
de sistemas de software: anlisis, diseo, desarrollo, implementacin, pruebas y
mantenimiento (Sommerville, 2011). Es importante analizar la forma en que estos
procesos son llevados a cabo dentro de las organizaciones, as como los miembros del
equipo de desarrollo que los llevan a cabo. Estas recomendaciones se analizan en el
siguiente apartado.
SQA en las organizaciones
Tpicamente, el departamento de sistemas o tecnologas de la informacin de una
organizacin tiene a su cargo todo lo relacionado con los procesos tecnolgicos que se
requieren, tales como la infraestructura de telecomunicaciones, la adquisicin de equipos,
el diseo y operacin de sistemas, el sitio web, la Intranet, etctera. Pero muy
comnmente queda de lado un rea especfica que se dedique a evaluar y vigilar el
cumplimiento de los estndares de calidad de los sistemas de software.
37
Se realiz la implementacin de un
sistema que no tuvo supervisin de
calidad. En plena produccin, los usuarios
han comenzado a detectar errores en el
sistema, por lo que han tenido que detener
los procesos por completo y realizarlos de
manera manual, lo que conlleva menos
productividad para la organizacin y
aumento de costos de operacin.
Se realiz la implementacin de un
sistema que tuvo, desde sus fases
iniciales, participacin del equipo de SQA.
En plena produccin, los usuarios han
notado que cubre muy bien los
requerimientos por los que fue solicitado,
incluso con un nivel superior de lo
esperado. La organizacin redujo costos
de operacin e incremento su
productividad.
38
A las personas que llevan a cabo las actividades del SQA se les conoce como analistas
de la calidad del software, y su principal funcin es la de vigilar el uso correcto de los
estndares de la organizacin como los que se estudiaron en el tema 1.1.1. Estndares
internacionales: ISO e IEEE, el estndar ISO/IEC 25000 y el IEEE 12207.
Es necesario hacer la aclaracin de que el SQA no es el responsable de que un software
tenga calidad, su funcin principal es evaluar el proceso de desarrollo de sistemas de
software en sus diferentes fases, as como vigilar el seguimiento y cumplimiento de los
estndares.
Al finalizar esta unidad, es conveniente hacerse esta pregunta: qu relacin existe entre
el aseguramiento de la calidad del software, las pruebas y el mantenimiento de sistemas
de software? Supngase dos proyectos de desarrollo de software, el primero es
desarrollado bajo el estndar ISO/IEC 25000 y auditado en SQA; mientras que el segundo
no es desarrollado bajo ninguna estandarizacin ni auditado en SQA.
En qu proyecto existir una mayor necesidad de implementar proyectos de pruebas y
mantenimiento? Sern igualmente confiables o tendrn la misma calidad? En definitiva,
el proyecto desarrollado bajo esquemas estandarizados y auditado en SQA tendr menor
necesidad de pruebas y mantenimiento debido a que, durante todo su desarrollo, cada
fase tuvo a la calidad como punto de partida.
Autoevaluacin
Realiza la autoevaluacin con el fin de que puedas analizar el avance que has tenido, as
como detectar las reas de oportunidad respecto al estudio de la primera unidad.
Autorreflexiones
Elabora tus autorreflexiones con base en las indicaciones de tu Docente en lnea.
39
Cierre de la unidad
Durante esta unidad has conocido un tema fundamental en el proceso de desarrollo de
sistemas de software, que es considerar el concepto de calidad como un elemento clave
de cada fase del desarrollo, con el fin de que los componentes que desarrolles cumplan
con xito el objetivo por el que fueron creados.
Esta primera unidad tambin ha analizado los mbitos que definen la calidad del software
en las distintas fases del ciclo de vida, las cuales son:
Calidad de la especificacin (fase de anlisis)
Calidad del diseo (fase de diseo)
Calidad en el desarrollo (fase de implementacin)
Calidad de la conformidad (fase de mantenimiento)
De igual manera, se relacionaron cada una de estas fases con las actividades que se
deben seguir para asegurar que el desarrollo sea de calidad. En este sentido, es muy
importante recordar que no es necesario seguir un determinado modelo del ciclo de vida
para que pueda ser integrado al enfoque de calidad, pues los mbitos de anlisis de la
calidad funcionan de manera general, y se adaptan al modelo que se est empleando
para el desarrollo. El siguiente paso en la bsqueda de la calidad y mejora continua, es el
anlisis de fondo de cada uno de los procesos del desarrollo de software, con el objetivo
de optimizarlos mediante la deteccin y resolucin de errores.
En esta unidad se analizaron tambin las diferentes connotaciones que tiene el concepto
de calidad, y cmo puede aplicarse en las organizaciones. Los estndares internaciones
son una excelente referencia para encaminar nuestro trabajo profesional por el camino de
la calidad. Recuerda que estos estndares deben adaptarse a nuestras necesidades, pero
es necesario revisar su vigencia, pues constantemente se actualizan y mejoran.
Estos temas te han proporcionado las bases necesarias para avanzar en las siguientes
unidades. Con lo visto, podrs orientar los proyectos de pruebas y de mantenimiento de
sistemas de software a la bsqueda de la mejora continua con un enfoque de calidad.
Recuerda que la mejor manera de aprender y comprender estos temas es practicar.
Vuelve a repasar la informacin que aqu se te present, practica la integracin de la
calidad a tus proyectos de desarrollo de software acadmicos y laborales.
40
Para saber ms
Code Conventions for the Java Programming Language
La calidad en la fase de desarrollo de software, depende en buena medida de la manera
en la que el cdigo es escrito. Oracle ofrece, en su sitio web, el documento llamado Code
Conventions for the Java Programming Language, que contiene una serie de buenas
prcticas y lineamientos para el desarrollo de componentes de software que usen este
lenguaje. Este recurso se encuentra disponible en formato HTML o PDF, y es una
excelente gua para tener la referencia de la forma en que se recomienda escribir cdigo
de un lenguaje de programacin.
http://www.oracle.com/technetwork/java/codeconv-138413.html
http://franciscovaldessouto.wordpress.com/2013/04/24/midiendo-la-calidad-desoftware-caso-practico-2/
Fuentes de consulta
Calero, C., et l. (2010). Calidad del producto y proceso software. Espaa: Ra-Ma.
Campderrich, B. (2013). Ingeniera del software, 5a. ed. Espaa: UOC.
Carrol, S., et l. (2007). Fundamental Concepts for the Software Quality Engineer, 2a.
ed. Estados Unidos: American Society for Quality.
Chemuturi, M. (2011). Mastering Software Quality Assurance: Best Practices, Tools
and Techniques, 3a. ed. Estados Unidos: J. Ross Publishing.
41
Rojas, S.E., Borjas, J.J. (1999).Calidad del Software: camino hacia una verdadera
industria del software. Escuela de administracin de negocios, 38, 42-44. Bogot,
Colombia.
Galin, D. (2004) Software Quality Assurance, from Theory to Implementation. Londres:
Pearson Education Limited.
Goikoetxea, A. (2007). Enterprise Architectures and Digital Administration: Planning,
Design, and Assessment [Paperback]. Singapur: World Scientific Publishing.
Grupo de trabajo AEN/CTN71/SC7/GT26. (2013). Pruebas de software. ISO/IEC/IEEE
29119 Software Testing Standard. Recuperado de http://in2test.lsi.uniovi.es/gt26/
IEEE. (2008). 12207-2008-ISO/IEC/IEEE Standard for Systems and Software
Engineering-Software Life Cycle Processes. Recuperado de
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4475826&url=http%3A%2F%2Fi
eeexplore.ieee.org%2Fiel5%2F4475822%2F4475825%2F04475826.pdf%3Farnumber
%3D4475826
ISO/IEC/IEEE 29119 Software Testing. (2013). The International Software Testing
Standard. Recuperado de http://softwaretestingstandard.org/index.php
ISO 25000 Calidad del producto de software. (2014). La familia de normas ISO/IEC
25000. Recuperado de http://www.iso25000.com/index.php/normas-iso-25000
Land, S., et l. (2008). Practical Support for Lean Six Sigma Software Process
Definition: Using IEEE Software Engineering Standards. Estados Unidos: John Wiley &
Sons.
Llorens, J. (2005) Gerencia de proyectos de tecnologa de informacin. Venezuela:
CEC.
Moliner, F. (2005). Informticos generalitat valenciana. Espaa: MAD.
Reynolds, G. (1995). Information Systems for Managers, 3a. ed. Estados Unidos: West
Publishing Company.
Sommerville, I. (2011). Ingeniera del software. 9a. ed. Espaa: Pearson Educacin.
42
Tuya, J., et l., (2007). Tcnicas cuantitativas para la gestin en la ingeniera del
software. Espaa: Netbiblo.
Uddesh, K. (2007). Project Management Handbook. Nueva Delhi: McGraw-Hill.
Vrtice. (2010). Gestin de la calidad (ISO 9001/2008). Espaa: Autor.
43