Logo Studenta
¡Este material tiene más páginas!

Vista previa del material en texto

T E S I S 
Que para obtener el grado de 
Maestro en Ingeniería de 
Software 
 
Presenta 
Saúl Alonso Ibarra Luevano 
 
D irector de Tesis: 
Dr. Mirna Ariadna Muñoz Mata 
Guanajuato, Gto., 25 de Noviembre de 2018 
DESARROLLO DE UNA 
HERRAMIENTA DE SOPORTE 
PARA EL ASEGURAMIENTO DE 
LA CALIDAD EN PRODUCTOS 
DE SOFTWARE 
 
 
 
 
 
Guanajuato, Gto., 25 de Noviembre del 2018 
DESARROLLO DE UNA 
HERRAMIENTA DE SOPORTE 
PARA EL ASEGURAMIENTO DE 
LA CALIDAD EN PRODUCTOS 
DE SOFTWARE 
 
T E S I S 
Que para obtener el grado de 
Maestro en Ingeniería de 
Software 
 
Presenta 
Saúl Alonso Ibarra Luevano 
 
D irector de Tesis: 
Dr. Mirna Ariadna Muñoz Mata 
Autorización de la versión 
final 
	
	
1	
	
	
	
	
	
	
	
Desarrollo de una herramienta de soporte 
para el aseguramiento de la calidad en 
productos de software	
Centro de Investigación en Matemáticas A.C.	
T E S I S	
Que para obtener el grado de 	
Maestro en Ingeniería de Software	
	
Presenta	
Saúl Alonso Ibarra Luevano	
	
Director de Tesis:	
Dra. Mirna Ariadna Muñoz Mata 	
	
Codirector:	
Dr. Jezreel Mejía Miranda 	
	
Zacatecas, Zac. Octubre de 2018	
 
	
	
3	
Agradecimientos 
A mi familia, mis padres; Arcelia y Saúl, mis hermanas; Carolina, Araceli, Isabel y Alejandra 
y a mi hermano Omar, por todo su amor, sus consejos y su apoyo incondicional a lo largo de 
mi vida. 
A mis tutores, la Dra. Mirna Ariadna Muñoz Mata y al Dr. Jezreel Mejia Miranda, por su 
tiempo, sus conocimientos y su guía a lo largo de la maestría. 
A mis compañeros del CIMAT Unidad Zacatecas, por su amistad y compañerismo. 
A los Doctores y Maestros de CIMAT Unidad Zacatecas que me dieron clases y me 
compartieron un poco de su conocimiento. 
Al Consejo Nacional de Ciencia y Tecnología (CONACYT), por el apoyo económico por el 
cual fue realizado el presente trabajo de tesis. 
Y finalmente al Centro de Investigación en Matemáticas (CIMAT), por sus apoyos y 
facilidades otorgadas durante la maestría. 
 
	
	
4	
Abstract 
In recent years the software industry has been growing in their relevance, so that 4 of 5 most 
capitalized companies in the stock market are dedicated to Information Technology area. In 
the same way, the resources that companies dedicate to their product quality have increased, 
this fact is demonstrated in the large number of models and quality standards such as: CMMI, 
ISO/IEC standards, among others. These models and standards contain practices that help 
organizations to achieve better levels in the quality of their processes and products generated. 
Moreover, with the new trends such as the Internet of Things (IoT), applications for mobile 
devices, technologies for Big Data, etc., quality assurance activities have become more 
complex, so that they require knowledge from experts to achieve their implementation. 
However, reports such as the Chaos Report indicate that only 37% of the projects are 
successful, 45% of the projects are changed and the 18% of the projects fail and/or are 
completely canceled. 
In this thesis, a tool, which covers 5 essential software quality assurance activities, was 
developed, so that it allows the promotion of the activities and facilitates their 
implementation. 
The results of a case study demonstrate that the tool is flexible and it can be taylored to 
different development environments, so that it helps to communicate to the development 
teams, the status of the performances of activities related to quality and the results regarding 
the products validation and verification so that, the prevention of defects can be improved. 
Keywords: quality assurance, product quality, quality assurance activities, software 
product, quality tool. 
	 
	
	
5	
Resumen 
En los últimos años la industria de software ha cobrado relevancia, al punto que, 4 de las 
principales 5 empresas más capitalizadas en el mercado bursátil se dedican al área de las 
Tecnologías de la Información. De igual manera, se han incrementado los recursos que las 
empresas dedican a la calidad de sus productos, esto se ve reflejado en la gran cantidad de 
modelos y estándares de calidad como: CMMI, estándares ISO/IEC, entre otros, que 
contienen prácticas que ayudan a las organizaciones a alcanzar mejores niveles en la calidad 
de su organización referente a sus procesos y productos generados. 
Lo que es más, con el auge de nuevas tendencias como el internet de las cosas (IoT), 
aplicaciones para dispositivos móviles, tecnologías para Big Data, etc., las actividades para el 
aseguramiento de la calidad se ha convertido en tareas complejas que requieren de 
conocimiento de expertos en el área para lograr su implementación. Sin embargo, reportes 
como el Chaos Report, indican que sólo el 37% de los proyectos son exitosos, del resto el 
45% de los proyectos son cambiados y el 18% de los proyectos fallan y/o son cancelados 
completamente. 
En esta tesis se realizó una herramienta que cubre con 5 actividades esenciales para el 
aseguramiento de la calidad, tal que mediante el uso de la herramienta se promueven las 
actividades de calidad y se facilita implementación. 
Los resultados demuestran que la herramienta es flexible y se adapta a los entornos de 
desarrollo, ayudando a transmitir el estado de la ejecución de actividades relacionadas con la 
calidad y el resultado respecto a las verificaciones y validaciones del producto, de tal manera 
que puede mejorarse la prevención de defectos. 
Palabras clave: aseguramiento de la calidad, calidad del producto, actividades de 
aseguramiento de la calidad, producto de software, herramienta de calidad. 
	 
	
	
6	
Índice 
Introducción ........................................................................................................................................... 11 
Capítulo 1. Antecedentes .................................................................................................................... 13 
1.1. Marco teórico .............................................................................................................................. 13 
1.1.1. Calidad de software .............................................................................................................. 13 
1.1.2. Aseguramiento de la calidad ................................................................................................ 14 
1.1.3. Modelos y estándares de calidad de software ...................................................................... 14 
1.2 Planteamiento del problema ......................................................................................................... 23 
1.3. Objetivos ..................................................................................................................................... 24 
1.3.1. Objetivo General .................................................................................................................. 24 
1.3.2. Objetivos específicos ........................................................................................................... 24 
1.4. Hipótesis ..................................................................................................................................... 24 
1.5. Justificación ................................................................................................................................ 24 
Capítulo 2. Estado del arte .................................................................................................................. 26 
2.1. Revisión sistemática .................................................................................................................... 26 
2.1.1. Planificación de la revisión sistemática ............................................................................... 26 
2.1.2. Ejecución de la revisión sistemática .................................................................................... 27 
2.1.3.Reporte de resultados ........................................................................................................... 30 
2.2. Análisis de herramientas comerciales, estándares y modelos orientados a la calidad del 
producto ............................................................................................................................................. 51 
2.3. Selección de tecnología ............................................................................................................... 54 
2.3.1. Lenguaje de programación ................................................................................................... 54 
2.3.2. Frameworks de desarrollo Web ........................................................................................... 56 
2.4. Metodología de desarrollo .......................................................................................................... 57 
2.4.1. Comparación de metodologías ............................................................................................. 58 
Capítulo 3. Metodología para el desarrollo de la tesis ........................................................................ 59 
	
	
7	
3.1. Ejecución de la metodología para el desarrollo de Tesis ............................................................ 59 
Capítulo 4. Herramienta de soporte para el aseguramiento de la calidad del software ...................... 61 
4.1. Desarrollo de la propuesta .......................................................................................................... 61 
4.1.1. Diseño de la propuesta ......................................................................................................... 61 
4.1.2. Descripción de la fases ......................................................................................................... 62 
4.2. Desarrollo de la herramienta ....................................................................................................... 83 
4.2.1. Modelo de Requisitos .......................................................................................................... 83 
4.2.2. Modelo de Contenido ........................................................................................................... 84 
4.2.3. Modelo de Navegación ........................................................................................................ 86 
4.2.4. Elementos de metodología analizados para configuración de herramienta ......................... 87 
Capítulo 5. Resultados ........................................................................................................................ 93 
5.1. Herramienta para implementación de la propuesta ..................................................................... 93 
5.1.1. Interfaz de gestión de elementos .......................................................................................... 93 
5.1.2. Interfaz de gestión de métricas y criterios de producto de trabajo ....................................... 93 
5.1.3. Interfaz de evaluación de la configuración del proyecto ..................................................... 94 
5.1.4. Interfaz de evaluación de criterios de producto ................................................................... 95 
5.1.5. Interfaz de validación de criterios de aceptación ................................................................. 95 
5.1.6. Interfaz de revisión de resultados de medición .................................................................... 96 
5.1.7. Interfaz de acciones correctivas en resultados de medición ................................................ 97 
5.2. Estudio de caso ........................................................................................................................... 98 
5.2.1. Diseño y planificación de los estudios de caso .................................................................... 99 
5.2.2. Preparación de la recogida de datos ................................................................................... 100 
5.2.3. Recogida de datos .............................................................................................................. 101 
5.2.4. Análisis de los datos recogidos .......................................................................................... 102 
5.2.5. Reporte de resultados ......................................................................................................... 102 
Capítulo 6. Conclusiones .................................................................................................................. 112 
6.1. Conclusiones ............................................................................................................................. 112 
	
	
8	
6.2. Trabajo futuro ........................................................................................................................... 112 
6.3. Logros académicos .................................................................................................................... 113 
6.3.1. Productos académicos ........................................................................................................ 113 
Referencias ........................................................................................................................................... 114 
	
Índice de Figuras 
Figura 1 Correspondencia entre grupos de procesos y áreas de conocimiento en PMBOK (Project 
Management Institute 2013) .......................................................................................................... 20 
Figura 2 Gráfica de herramientas y frameworks identificados en la RSL ............................................. 32 
Figura 3 Modelos, Meta modelos, Metodologías y Enfoques identificados en la RSL ......................... 35 
Figura 4 Índice de puntuación TIOBE de lenguajes de programación .................................................. 55 
Figura 5 Metodología para el desarrollo de la tesis ............................................................................... 59 
Figura 6 Fase de inicio ........................................................................................................................... 66 
Figura 7 Fase de análisis ........................................................................................................................ 68 
Figura 8 Fase de evaluación de riesgos .................................................................................................. 70 
Figura 9 Fase de diseño .......................................................................................................................... 73 
Figura 10 Fase de desarrollo .................................................................................................................. 76 
Figura 11 Fase de pruebas ...................................................................................................................... 79 
Figura 12 Fase de liberación .................................................................................................................. 81 
Figura 13 Fase de cierre ......................................................................................................................... 83 
Figura 14 Diagrama de casos de uso ...................................................................................................... 84 
Figura 16 Diagrama de navegación de módulo de configuración ......................................................... 86 
Figura 17 Diagrama de navegación de módulo de seguimiento y control ............................................. 87 
Figura 18 Interfaz de gestión de productos de trabajo ........................................................................... 93 
Figura 19 Interfaz de gestión de métricas y criterios de aceptación de producto .................................. 94 
	
	
9	
Figura20 Interfaz de aprobación de la configuración incorrecta .......................................................... 94 
Figura 21 Interfaz de aprobación de la configuración correcta ............................................................. 95 
Figura 22 Interfaz de evaluación de criterios de aceptación de producto .............................................. 95 
Figura 23 Interfaz de validación de criterios de aceptación ................................................................... 96 
Figura 24 Interfaz de revisión de resultados de medición ..................................................................... 97 
Figura 25 Interfaz de acciones correctivas en resultados de medición .................................................. 98 
Figura 26 Pasos para implementar un estudio de caso .......................................................................... 98 
Figura 27 Experiencia de los encuestados ........................................................................................... 102 
Figura 28 Respuestas de la pregunta 1 del estudio de caso ................................................................ 103 
Figura 29 Respuestas de la pregunta 2 del estudio de caso ................................................................. 104 
Figura 30 Respuestas de la pregunta 3 del estudio de caso ................................................................. 104 
Figura 31 Respuestas de la pregunta 4 del estudio de caso ................................................................. 105 
Figura 32 Respuestas de la pregunta 5 del estudio de caso ................................................................. 106 
Figura 33 Respuestas de la pregunta 6 del estudio de caso ................................................................. 107 
Figura 34 Respuestas de la pregunta 7 del estudio de caso ................................................................. 108 
Figura 35 Respuestas de la pregunta 8 del estudio de caso ................................................................. 108 
Figura 36 Respuestas de la pregunta 9 del estudio de caso ................................................................. 109 
Figura 37 Respuestas de la pregunta 10 del estudio de caso ............................................................... 110 
Figura 38 Respuestas de la pregunta 11 del estudio de caso ............................................................... 111 
 
 
 
	
Índice de Tablas 
Tabla 1 Criterios de inclusión de RSL ................................................................................................... 27 
	
	
10	
Tabla 2 Criterios de exclusión de RSL .................................................................................................. 28 
Tabla 3 Resultados de selección de EP para S1 ..................................................................................... 29 
Tabla 4 Resultados de selección de EP para S2 ..................................................................................... 29 
Tabla 5 Estudios primarios seleccionados en la revisión sistemática de literatura ................................ 30 
Tabla 6 Análisis de Herramientas (H) y Frame works (F) identificados en RSL .................................. 32 
Tabla 7 Análisis de elementos de gestión de calidad en estudios primarios ......................................... 34 
Tabla 8 Análisis de estándares base para el aseguramiento de la calidad de software en los EPS ........ 35 
Tabla 9 Análisis de elementos propuestos: Modelo (M), Meta modelo (MM), Metodología (M) o 
Enfoque (E) en los EPS .................................................................................................................. 37 
Tabla 10 Análisis de problemática y solución en los estudios primarios .............................................. 42 
Tabla 11 Prácticas propuestas en estudios primarios ............................................................................. 44 
Tabla 12 Problemática abordada en los estudios primarios ................................................................... 46 
Tabla 13 Análisis de clasificación de defectos e incidencia .................................................................. 50 
Tabla 14 Distribución de errores en los estudios primarios ................................................................... 51 
Tabla 15 Análisis de modelos y estándares de calidad de software ...................................................... 52 
Tabla 16 Análisis de herramientas orientadas a la calidad del software ................................................ 53 
Tabla 17 Comparativa entre lenguajes de programación ....................................................................... 56 
Tabla 18 Comparativa entre frameworks ............................................................................................... 57 
Tabla 19 Comparativa de metodologías ................................................................................................ 58 
Tabla 20 Elementos de diseño de la propuesta ...................................................................................... 62 
Tabla 22 Empresas para estudio de caso ................................................................................................ 99 
Tabla 23 Preguntas de encuesta para estudio de caso .......................................................................... 101 
 
	
	
11	
Introducción 
El desarrollo de software juega un papel importante en la industria, al día de hoy, 4 de las 
5 empresas más capitalizadas en el entorno bursátil se dedican al desarrollo de software (R. 
Rebolledo, 2017). Al igual que el software ha incursionado en la industria, su desarrollo se ha 
vuelto cada vez más complejo e involucra la coordinación de diversos profesionales del 
software como: gerentes de calidad, líderes de proyecto, desarrolladores, arquitectos de 
software, analistas de software, etc., con ello, surgen retos y/o limitantes que deben ser 
gestionados durante el desarrollo del proyecto (Suali, Fauzi, Sobri, & Nasir, 2017). 
Con el auge de nuevas tendencias como el internet de las cosas (IoT) (Sandric & Jurcevic, 
2018), aplicaciones para móviles (Holl & Elberzhager, 2017), y las tecnologías para Big Data 
(Zhang, Zhou, Li, & Gao, 2017), las actividades para el aseguramiento de la calidad se ha 
convertido en una tarea compleja que requiere de conocimiento de expertos para lograr su 
implementación. Por lo que tareas como la verificación, la validación y el seguimiento y 
control de la calidad del software (Holl & Elberzhager, 2017; Zhang et al., 2017) se vuelven 
cada vez más comunes y vitales para el éxito en los proyectos de software. 
Sin embargo, reportes como el Chaos Report (The Standish Group International, 2016), 
indica que tomando en cuenta tiempo, presupuesto y objetivo, sólo el 37% de los proyectos 
son exitosos, mientras que en promedio 45% de los proyectos son cambiados en alguno o en 
varios de los tres aspectos, mientras que el 18% los proyectos fallan y/o son cancelados 
completamente. 
Debido a la importancia de las actividades relacionadas con la calidad en el éxito de los 
proyectos, este estudio presenta el desarrollo de una herramienta diseñada a partir de los 
resultados de una Revisión Sistemática de la Literatura (RSL), descrita en el Capítulo 2 
Estado del arte, el objetivo de la herramienta es dar soporte en el proceso de aseguramiento de 
la calidad del software, con el fin de guiar y facilitar la implementación de actividades para el 
aseguramiento de la calidad en las empresas. Esta herramienta pretende mejorar tanto la 
comunicación, como el seguimiento y control en actividades relacionadas con la gestión de la 
calidad en proyectos de desarrollo de software, involucrando a los gestores de proyectos y los 
miembros del equipo. 
La estructura de la tesis está compuesta por 6 capítulos, los cuales se detallan a 
continuación: 
Capítulo 1. Antecedentes,en este, se presenta el marco teórico que ayuda como línea base 
para una mejor comprensión de los términos utilizados a lo largo del estudio. 
	
	
12	
Capítulo 2. Estado del arte, en este, se describe la ejecución de una Revisión Sistemática 
de Literatura (RSL), que ayuda a analizar e interpretar estudios relevantes sobre el 
aseguramiento de la calidad de software, de igual manera en esta sección se presenta la 
selección de la tecnología para la implementación de la propuesta. 
Capítulo 3. Metodología para el desarrollo de la tesis, en este, se describen las tareas 
llevadas a cabo para el desarrollo de la tesis. 
Capítulo 4. Herramienta de soporte para aseguramiento de la calidad de software, en este, 
se presentan los elementos de diseño de la herramienta, así como las interfaces de la 
herramienta desarrollada. 
Capítulo 5. Resultados, en este, se presentan los resultados obtenidos de la herramienta a 
partir de la ejecución de un estudio de caso. 
Capítulo 6. Conclusiones, en este, se presentan las conclusiones generadas a partir del 
presente estudio. 
	
Capítulo 1. Antecedentes 
En este capítulo se presentan los antecedentes, comenzando con el marco teórico que 
contiene la definición de los conceptos fundamentales a partir de los cuales se desarrolla la 
presente investigación, posteriormente se presenta: el planteamiento del problema, los 
objetivos generales y específicos y la justificación.	
1.1. Marco teórico 
El objetivo del marco teórico es brindar un marco de referencia conceptual necesario 
para comprender la investigación, el marco teórico se integra a partir de teorías, enfoques 
teóricos, estudios y antecedentes en general, que se consideren válidos para la adecuada 
fundamentación del estudio (Hernández, Fernández, and Baptista 2014). A continuación se 
presentan los conceptos fundamentales directamente involucrados con el desarrollo de la 
presente investigación. 
1.1.1. Calidad de software 
Para un común entendimiento del concepto de calidad de software, en este apartado se 
proporcionan algunas definiciones. 
• La calidad es la idoneidad de uso. Es decir, las características del producto que 
satisfacen las necesidades del cliente y por lo tanto producen satisfacción de 
producto (Juran and Godfrey 1998). 
• La capacidad de un conjunto de características inherentes de un producto, o 
componente del producto, o proceso, de satisfacer por completo los requisitos del 
cliente (Software Engineering Institute 2010). 
• Nivel al que una serie de características inherentes satisfacen los requisitos (ISO 
9000:2005(es), Sistemas de gestión de la calidad — Fundamentos y vocabulario 
2005). 
• De acuerdo a Kan, la calidad puede definirse desde el punto de vista popular, 
como las propiedades intangibles que pueden ser discutidas, percibidas y 
juzgadas, pero no medidas o ponderada (Kan & H., 2003). 
• De igual manera, Crosby la define como “cumplimiento de los requisitos”, lo que 
implica que se debe tener conocimiento de los requisitos sin ambigüedades para 
que puedan ser completamente satisfechos (Kan & H., 2003). 
Con base en las definiciones anteriores, para esta tesis, calidad es el nivel en el que un 
producto de software cumple o no con los requisitos especificados y éste a su vez satisface las 
expectativas del cliente. 
	
	
14	
1.1.2. Aseguramiento de la calidad 
A continuación se proporcionan definiciones de aseguramiento de la calidad del 
software. 
• McGrath define el aseguramiento de la calidad del software como “conjunto de 
actividades que definen y evalúan la idoneidad de los procesos de software para 
proveer evidencia que establece confianza que el proceso de software es 
adecuado y produce software de calidad acorde a los fines y usos previstos” 
(McGrath et al., 2014). 
• En el modelo CMMI, se define el aseguramiento de la calidad de software como: 
“medio planificado y sistemático de asegurar a la gerencia que se aplican los 
estándares, prácticas, procedimientos y métodos definidos en el proceso” 
(Software Engineering Institute, 2010). 
Con base en las definiciones anteriores, para esta tesis, aseguramiento de calidad del 
software es el conjunto de prácticas que generan evidencia que permite evaluar que los 
procesos y productos de software cumplen con los estándares aplicables, y estos a su vez, son 
adecuados al tipo de producto de software que se desea obtener. 
1.1.3. Modelos y estándares de calidad de software 
Los modelos y estándares de calidad son una herramienta de apoyo para las empresas de 
desarrollo de software los cuales ayudan a mejorar la producción, competitividad y calidad de 
sus productos y procesos a nivel mundial. Estos modelos y estándares contienen un conjunto 
de buenas prácticas, las cuales son propuestas en conjuntos de procesos relacionados o en 
etapas específicas del ciclo de desarrollo de software para lograr la calidad desde un enfoque 
integral. Algunos de los principales modelos enfocados a la calidad del software son: CMMI-
DEV V 1.3 (Software Engineering Institute 2010) y MoProSoft (Oktaba et al. 1994). Por otra 
parte, algunos de los estándares enfocados a la calidad del software más importantes son: 
ISO/IEC 15504 (ISO 2006), ISO/IEC 29110 (IEEE/IEC 2016) e IEEE 730 (McGrath et al. 
2014). 
1.1.3.1. IEEE 730 
El estándar IEEE 730 (McGrath et al., 2014), es un estándar para el aseguramiento de 
calidad del software, en él se establecen los requisitos para iniciar, planificar, controlar y 
ejecutar el aseguramiento de la calidad dentro de un proyecto de desarrollo de software, este 
proceso está armonizado con el ciclo de vida del proceso propuesto en el estándar 
12207:2008 (McGrath et al., 2014). 
	
	
15	
1.1.3.1.1. Objetivo 
El objetivo de las actividades de este estándar, es permitir que un proyecto de software 
utilice un proceso de aseguramiento de calidad de software para generar y recolectar la 
evidencia que forme la línea base para proporcionar la confianza de que el software 
producido cumple con los requisitos establecidos. 
1.1.3.1.2. Estructura 
Este estándar contiene tres actividades principales, las cuales son: 
• Actividades de implementación de proceso, esta actividad está compuesta por 34 
tareas, su objetivo es establecer y definir un proceso de aseguramiento de la 
calidad documentado e independiente al proceso de desarrollo de los proyectos. 
• Actividades de aseguramiento de producto, esta actividad contiene 24 tareas, su 
objetivo es generar seguridad en la calidad de los productos de software 
generados y en la documentación asociada. 
• Actividades de aseguramiento de proceso, esta actividad contiene 24 tareas, tiene 
como objetivo especificar las actividades y tareas que ayudan a producir y validar 
que el producto es elaborado siguiendo un proceso establecido, gestionado, 
mantenido y aplicado. 
1.1.3.2. CMMI-DEV V1.3 
El CMMI-DEV V1.3 (Software Engineering Institute, 2010), es uno de los tres modelos 
contenidos en la familia de modelos conocido como CMMI, el cual está compuesto por tres 
modelos, el modelo CMMI para adquisición (CMMI-ACQ), el modelo CMMI para desarrollo 
(CMMI-DEV) y el modelo CMMI para servicios (CMMI-SVC), esta investigación se enfoca 
en CMMI-DEV, ya que está enfocado al desarrollo de productos de software. 
1.1.3.2.1. Objetivo 
El modelo CMMI-DEV V1.3, tiene como objetivo proveer una guía para la 
implementación de buenas prácticas en una organización de desarrollo de software. Estas 
buenas prácticas están orientadas a desarrollar productos y servicios que cumplan con las 
necesidades del cliente y los usuarios finales. El modelo CMMI-DEV V1.3 contiene prácticas 
que cubren: la gestión de proyectos, la gestión de procesos, la ingeniería de sistemas, la 
ingeniería de hardware, la ingeniería de software y otros procesos de soporte utilizados en el 
desarrollo y mantenimiento de software (Software Engineering Institute 2010). 
1.1.3.2.2. Estructura 
El modelo CMMI-DEV V1.3, está compuesto 22 áreas de proceso, lascuales se agrupan 
en 4 categorías que son: Gestión de procesos, Gestión de proyectos, Ingeniería y de Soporte. 
	
	
16	
Así mismo, CMMI-DEV V1.3 (Software Engineering Institute 2010) propone 4 niveles de 
capacidad de proceso los cuales son: 
• 0 incompleto: Un proceso incompleto es aquel que es implementado de manera 
parcial o no implementado, es decir cuando uno o más objetivos específicos no 
son cubiertos y no existen objetivos genéricos. 
• 1 realizado: Un proceso realizado es aquel que los objetivos específicos son 
satisfechos en su totalidad, sin embargo existen mejoras a realizar. 
• 2 gestionado: Un proceso gestionado es aquel que el proceso es planificado y 
ejecutado conforme a las políticas del modelo, utiliza las herramientas adecuadas 
para producir los productos de trabajo solicitados, intervienen los roles adecuados 
y su gestión es monitoreada. 
• 3 definido: Un proceso definido es aquel que un proceso gestionado y ajustado a 
los requisitos de la organización contribuye con experiencia para lograr los 
objetivos del proceso de la organización. 
 
Complementariamente el modelo propone 5 niveles de madurez, los cuales se describen a 
continuación. 
• 1 inicial: En este nivel, los procesos que usualmente son caóticos y no han sido 
estandarizados. El éxito del proyecto depende de las capacidades del personal y 
actos heroicos. 
• 2 gestionado: En este nivel, los proyectos son planificados y ejecutados de 
acuerdo a un plan establecido. 
• 3 definido: En este nivel, los procesos están bien identificados y entendidos, y 
estos son descritos con estándares, procedimientos, herramientas y métodos, por 
lo que los procesos son realizados siempre de la misma manera. 
• 4 gestionado cuantitativamente: En este nivel, los procesos tienen metas 
cuantitativas y estas son el indicador de éxito del proyecto. Los metas 
cuantitativas, son establecidas con base en los objetivos de la empresa. 
• 5 optimizado: En este nivel, la organización está en mejora continua basada en 
metas cuantitativas, y objetivos del negocio. 
 
1.1.3.2.3. Áreas de proceso relacionadas al aseguramiento 
de la calidad 
El modelo CMMI-DEV V1.3 (Software Engineering Institute 2010), contiene 4 áreas de 
proceso enfocadas al aseguramiento de la calidad del producto, las cuales son: Aseguramiento 
	
	
17	
de la calidad del proceso y del producto (PPQA), medición y análisis(MA), verificación 
(VER) y validación (VAL). Las cuales se describen a continuación. 
• Aseguramiento de la calidad del producto y proceso: esta área de proceso 
pertenece al nivel de madurez 2, su objetivo es proveer al personal y gerencia de 
una visión objetiva de los proceso y productos de trabajo asociados. Está 
conformada por 2 metas específicas, las cuales son: 
o Evaluar objetivamente los proceso y productos de trabajo. 
o Proporcionar una visión objetiva. 
• Verificación: esta área de proceso pertenece al nivel de madurez 3, su objetivo es 
asegurar que los productos de trabajo seleccionados cumplen con los requisitos 
especificados. Está conformada por 3 metas específicas las cuales son: 
o Preparar la verificación establecer el entorno de verificación. 
o Establecer los procedimientos. 
o Verificar los productos de trabajo seleccionados. 
• Validación: Esta área de proceso pertenece al nivel de madurez 3, su objetivo es 
demostrar que un producto o componente cumple con su uso previsto cuando se 
utiliza en el entorno adecuado. Está compuesta por 2 metas específicas las cuales 
son: 
o Preparar la validación. 
o Validar el producto o los componentes de producto. 
• Medición y análisis: Esta área de proceso pertenece al nivel de madurez 3, su 
objetivo es desarrollar y mantener la capacidad de medición utilizada para dar 
soporte a las necesidades de información de la gerencia. Está compuesta por 2 
metas específicas las cuales son: 
o Alinear las actividades de medición y análisis 
o Proporcionar los resultados de medición. 
1.1.3.3. ISO/IEC 15504 
El estándar ISO/IEC 15504 (ISO, 2006), también llamado Software Process Improvement 
Capability Determination (SPICE), es un estándar para la evaluación y mejora de procesos de 
software, el cual establece un marco de trabajo y un conjunto de requisitos para cualquier fase 
de evaluación de procesos. 
1.1.3.3.1. Objetivo 
El objetivo del estándar ISO/IEC 15504, es proveer un modelo de aseguramiento de 
proceso que ayude en la evaluación de la capacidad de procesos de software, la mejora de los 
procesos de software, el mantenimiento de sistemas informáticos y la elaboración de 
productos de software (ISO 2006). 
	
	
18	
1.1.3.3.2. Estructura 
El estándar ISO/IEC 15504 define 48 procesos en tres niveles organizacionales (ISO 
2006), los niveles organizacionales son: 
• Procesos de ciclo de vida primario.- Son el conjunto de procesos centrales para 
desarrollo de productos técnicos. 
• Procesos de ciclo de vida organizacional.- Son el conjunto de procesos a nivel 
organización para el soporte de proyectos. 
• Procesos de ciclo de vida de soporte.- Son el conjunto de procesos individuales 
para soporte a proyectos. 
 
De igual manera, el estándar ISO/IEC 15504 establece 6 niveles de madurez de la 
organización (ISO 2006), los cuales se detallan a continuación. 
• Nivel 0 proceso incompleto. En este nivel, los procesos no tienen entradas y 
salidas establecidas, y comúnmente, los objetivos del proceso no son alcanzados. 
• Nivel 1 proceso realizado. En este nivel, los objetivos del proceso generalmente 
son alcanzados, sin embargo, el proceso no es planificado y gestionado, tiene 
productos de entrada y salida claros y establecidos, y estos son evaluados para el 
logro del objetivo del proceso. 
• Nivel 2 proceso gestionado. En este nivel, se generan productos de trabajo 
conforme a las especificaciones del proceso, estos cumplen con una serie de 
requisitos y su elaboración está estandarizada, el proceso utilizado para su 
producción es planificado y gestionado. 
• Nivel 3 proceso establecido. En este nivel, se tiene un proceso establecido y 
gestionado mediante un proceso base que contiene buenas prácticas de ingeniería 
de software. El proceso es repetible, implementando estándares de proceso y 
documentos para lograr las salidas esperadas. 
• Nivel 4 proceso predecible. En este nivel, los procesos son llevados a cabo 
consistentemente con el proceso base utilizando límites para controlar y lograr los 
objetivos del proceso. 
• Nivel 5 proceso optimizado. En este nivel, el proceso es ajustado al entorno y 
necesidades de la empresa, el proceso es repetible, alcanzando los objetivos del 
negocio. 
1.1.3.3.3. Áreas de proceso relacionadas al aseguramiento 
de la calidad 
A continuación, se describen los procesos establecidos en el estándar ISO/IEC 15504 que 
están enfocados al aseguramiento de la calidad, los cuales son: 
	
	
19	
• Proceso de gestión de la calidad: este proceso pertenece al grupo de procesos 
organizacionales. Su objetivo es lograr la satisfacción del cliente monitoreando la 
calidad de los procesos y servicios de la organización por medio del 
conocimiento de los requisitos del cliente. 
• Proceso de medición: este proceso pertenece al grupo de procesos 
organizacionales. Su objetivo es recolectar y analizar datos respecto a la 
ejecución del proceso y el producto elaborado en la organización, para ayudar a 
una correcta gestión de los proyectos y demostrar objetivamente la calidad de los 
productos. 
• Proceso de aseguramiento de la calidad del software: este proceso pertenece al 
grupo de procesos de soporte. Su objetivo es asegurar que los productos de 
trabajo y procesos cumplen con los planes definidos. 
• Proceso de verificación del software: este proceso pertenece al grupo de procesos 
de soporte. Su objetivo es confirmar que cada producto de software o servicio de 
un proceso o proyecto refleja adecuadamente los requisitos especificados. 
• Proceso de validación del software: este proceso pertenece algrupo de proceso de 
soporte. Su objetivo es confirmar que los requisitos para un producto se cumplen 
completamente acorde a su uso. 
1.1.3.4. PMBOK 
La guía par la gestión de proyectos (PMBOK) (Project Management Institute, 2013), es 
un compendio de conocimiento que reúne métodos, procesos y buenas prácticas establecidas 
para una correcta gestión de proyectos, aplicables a la mayoría de los proyectos en la mayoría 
de las situaciones. 
1.1.3.4.1. Objetivo 
El objetivo del PMBOK es establecer un conjunto de buenas prácticas, así como un 
vocabulario común para el uso de conceptos relacionados a la dirección de proyectos de 
software (Project Management Institute 2013). 
1.1.3.4.2. Estructura 
El PMBOK establece 47 procesos agrupados en 5 grupos de procesos y 10 áreas de 
conocimiento. Un área de conocimiento, representa un conjunto completo de conceptos, 
términos y actividades que conforman un dominio profesional. En la Figura 1, se muestra la 
relación entre los procesos, áreas de conocimiento y grupos de proceso del PMBOK (Project 
Management Institute 2013). 
 
	
	
20	 
	
Fi
gu
ra
 1
 C
or
re
sp
on
de
nc
ia
 e
nt
re
 g
ru
po
s d
e 
pr
oc
es
os
 y
 á
re
as
 d
e 
co
no
ci
m
ie
nt
o 
en
 P
M
B
O
K
 (P
ro
je
ct
 M
an
ag
em
en
t I
ns
tit
ut
e 
20
13
). 
	
	
21	
1.1.3.4.3. Procesos relacionados al aseguramiento de la 
calidad 
El PMBOK contiene 4 áreas de conocimiento enfocadas en el aseguramiento de la calidad 
(Project Management Institute 2013), las cuales se describen a continuación. 
• Gestión de la calidad del proyecto: esta área de conocimiento tiene como objetivo 
asegurar que se alcancen y validen los requisitos del proyecto y producto. 
• Planificación de la gestión de la calidad: esta área de conocimiento tiene como 
objetivo identificar los requisitos de calidad y/o estándares aplicables al proyecto 
y a productos de trabajo, así como generar la documentación del proyecto para 
demostrar el cumplimiento con los requisitos de calidad relevantes. 
• Ejecución del aseguramiento de la calidad: esta área de conocimiento tiene por 
objetivo auditar la calidad de los requisitos y los resultados de las mediciones al 
control de la calidad, para asegurar que son correctamente seguidos los proceso 
definidos y los estándares aplicables. 
• Control de la calidad: esta área de conocimiento tiene por objetivo evaluar el 
desempeño y recomendar los cambios necesarios para mejorar los resultados 
obtenidos. 
1.1.3.5. MoProSoft 
MoProSoft es un modelo para la gestión de procesos de desarrollo de software, está 
dirigido al desarrollo y mantenimiento del software, y es aplicable a nivel de unidades 
operativas o toda la organización (Oktaba et al., 1994). 
1.1.3.5.1. Objetivo 
Está enfocado en apoyar a las organizaciones para definir procesos de acuerdo a sus 
necesidades, en el caso que ya se tengan establecidos, ayuda a identificar elementos faltantes 
o pobremente cubiertos y es necesario reforzar (Oktaba et al. 1994). 
1.1.3.5.2. Estructura 
El modelo MoProSoft establece 6 procesos principales, contenidos en 3 categorías de 
procesos (Oktaba et al. 1994), las cuales son: 
 
• Alta dirección (DIR). la cual contiene el siguiente proceso: 
o Proceso de gestión de negocio, su objetivo es establecer el motivo, los 
objetivos y los recursos de la organización. 
 
• Categoría de gestión (GES). la cual contiene los procesos de: 
	
	
22	
o Proceso de gestión de recursos, su objetivo es administrar y generar los 
recursos humanos y materiales dentro de la organización así como su 
ambiente de trabajo. 
o Proceso de gestión de procesos, su objetivo es establecer los procesos de 
la organización adecuados para esta. 
o Proceso de gestión de proyectos, su objetivo es evaluar que los proyectos 
contribuyen a los objetivos de la organización y estos están alineados a las 
estrategias establecidas. 
 
• Categoría de operación (OPE). la cual contiene los procesos de: 
o Proceso de administración de proyectos específicos, su objetivo es 
realizar las acciones necesarias para alcanzar los objetivos de tiempo y 
costo en los proyectos. 
o Proceso de desarrollo y mantenimiento de software, su objetivo es 
ejecutar actividades de análisis, diseño, construcción, integración y 
pruebas de productos de software nuevos o existentes. 
 
El modelo MoProSoft establece 5 niveles de capacidad (Oktaba et al. 1994), que ayudan a 
identificar el nivel de capacidad de implementación de los procesos establecidos, estos 
niveles se describen a continuación. 
• Realizado: En este nivel el proceso se implementa y alcanza su propósito. 
• Gestionado: En este nivel el proceso realizado, se administra y sus productos de 
trabajo están establecidos, controlados y mantenidos. 
• Establecido: En este nivel el proceso realizado y gestionado, se implementa por 
medio de un proceso definido. 
• Predecible: En este nivel el proceso establecido, opera bajo límites definidos y 
conocidos. 
• Optimizado: En este nivel el proceso predecible, es mejorado continuamente. 
1.1.3.5.3. Procesos relacionados al aseguramiento de la 
calidad 
A continuación, se presentan los procesos dentro del modelo MoProSoft que son 
enfocadas al aseguramiento de la calidad de producto de software. 
• Desarrollo y Mantenimiento de Software. Este proceso pertenece a la categoría 
de procesos de operación, su objetivo es la realización sistemática de actividades 
de análisis, diseño, construcción, pruebas e integración de productos de software, 
cumpliendo con los requisitos de software especificados. El proceso de desarrollo 
	
	
23	
y mantenimiento de software se compone de uno o más ciclos, en donde cada 
ciclo se compone de las siguientes fases: Inicio, Requerimientos, Análisis y 
diseño, Construcción, Integración y pruebas, y cierre. 
• Administración de proyectos específicos. Este proceso pertenece a la categoría de 
procesos operativos, su objetivo es administrar los proyectos internos y externos 
con base en los planes que se definieron para cada uno de ellos, y permitan 
cumplir con los objetivos de un proyecto en tiempo y costos esperados, o genera 
acciones correctivas si fuesen necesarias. El proceso de administración de 
proyectos específicos está compuesto de actividades de: 1) planificación; su 
objetivo es obtener es mantener el plan del proyecto y el plan de desarrollo que 
regirán al proyecto específico, 2) realización; su objetivo es llevar a cabo las 
actividades del plan del proyecto, 3) evaluación y control; su objetivo es asegurar 
que se cumplan los objetivos del proyecto, y 4) cierre; su objetivo es entregar los 
productos de acuerdo a un protocolo de entrega y dar por concluido el proyecto. 
 1.2 Planteamiento del problema 
El desarrollo de software juega un papel importante en la industria, tanto es así que, al día 
de hoy, 4 de las 5 empresas más capitalizadas en el entorno bursátil se dedican al desarrollo 
de software (R. Rebolledo, 2017). Al igual que el software ha incursionado en la industria, su 
desarrollo se ha vuelto cada vez más complejo e involucra la coordinación de diversos 
profesionales del software como: gerentes de calidad, líderes de proyecto, desarrolladores, 
arquitectos de software, analistas de software, etc., con ello, surgen retos y/o limitantes que 
deben ser gestionados durante el desarrollo del proyecto(Suali et al., 2017). 
Además, con el auge de nuevas tendencias como el internet de las cosas (IoT) (Sandric & 
Jurcevic, 2018), aplicaciones para móviles (Holl & Elberzhager, 2017), y las tecnologías para 
Big Data (Zhang et al., 2017), las actividades para el aseguramiento de la calidad se ha 
convertido en una tarea compleja que requiere de conocimiento de expertos para lograr su 
implementación. 
Sin embargo, reportes como The Chaos Report (The Standish Group International, 2016), 
indican que, tomando en cuenta aspectos clave del proyecto como: tiempo, presupuesto y 
objetivo, sólo el 37% de los proyectos son exitosos,mientras que en promedio el 45% de los 
proyectos son cambiados en uno o más de estos tres aspectos, y el 18% los proyectos fallan 
y/o son cancelados completamente. 
En este contexto, tareas como verificación, validación y seguimiento y control de las 
actividades relacionadas con la calidad del software (Holl & Elberzhager, 2017; Zhang et al., 
2017) se vuelven cada vez más críticas para el éxito en los proyectos de software, sin 
	
	
24	
embargo estas no son realizadas por falta de soporte para su implementación, que es el 
objetivo de esta tesis. 
1.3. Objetivos 
1.3.1. Objetivo General 
Diseñar y desarrollar una herramienta que dé soporte a los responsables de desarrollo y 
de calidad del software en la realización de actividades para el aseguramiento de la calidad. 
1.3.2. Objetivos específicos 
I. Definir el estado del arte en el área de calidad de software. 
II. Establecer una clasificación e incidencia de defectos. 
III. Realizar un análisis de herramientas, estándares y modelos orientados a la calidad de 
productos de software así como sus elementos propuestos. 
IV. Elaborar una propuesta de la herramienta de soporte para el aseguramiento de la 
calidad de software. 
V. Diseñar la herramienta que integre la solución propuesta. 
VI. Desarrollar la herramienta. 
VII. Realizar un estudio de caso implementando la herramienta desarrollada. 
1.4. Hipótesis 
La implementación de una herramienta de soporte al proceso de aseguramiento de la 
calidad en los productos de software incrementará la realización de actividades para el 
aseguramiento de la calidad a llevar a cabo por los equipos de desarrollo de software. 
1.5. Justificación 
Actualmente existen diversos estándares, modelos y herramientas enfocadas a la calidad 
del software, los cuales contienen prácticas y elementos para el aseguramiento de la calidad, 
como se puede ver en la sección 1.1.3. Sin embargo, un factor que impacta la integración de 
dichos modelos, estándares y herramientas es la cultura organizacional y personal, ya que 
para llevar a la implementación estos elementos se requiere de disposición a los tres niveles 
de la organización (operativo, mandos intermedios y gerencia), comúnmente, las personas no 
realizan prácticas que les cuesta trabajo entender o les consume mucho tiempo implementar, 
de igual manera las organizaciones no implementan prácticas cuyo retorno de inversión (ROI) 
no sea visible o cuantificable a corto o mediano plazo. De acuerdo a los resultados arrojados 
	
	
25	
por The Chaos Report 2016 (The Standish Group International, 2016), no se ha presentado 
una mejora en los resultados de los proyectos de los últimos 5 años, como se mencionó 
anteriormente, en promedio el 18% de los proyectos fallan y 45% son cambiados. 
	 
	
	
26	
Capítulo 2. Estado del arte 
En este capítulo se presentan los resultados de la ejecución de la Revisión Sistemática de 
la Literatura (RSL), cuyo objetivo es obtener el estado del arte respecto al aseguramiento de 
la calidad de software, enfocado en identificar tres elementos principales: 1) herramientas 
para la gestión de la calidad, 2) prácticas para el aseguramiento de la calidad y 3) defectos 
más comunes en en el desarrollo del software. Este capítulo incluye también un análisis a los 
principales modelos de calidad y herramientas comerciales para el aseguramiento de la 
calidad, la selección de tecnología y la selección de la metodología para el desarrollo de la 
herramienta. 
2.1. Revisión sistemática 
La revisión sistemática de la literatura (Systematic Literature Review, por sus siglas en 
inglés SLR) es un método que permite identificar, evaluar e interpretar toda la evidencia 
disponible relevante a un tema o pregunta de investigación (Budgen and Pearl Brereton 
2006). La SLR reduce la posibilidad de sesgo en las búsquedas de estudios, ya que es 
necesario definir un protocolo que especifica los métodos utilizados para guiar la revisión 
sistemática (Selleri Silva et al., 2015). 
La revisión sistemática se constituye de tres fases principales: planificación de la 
revisión, ejecución de la revisión, y reporte de resultados. A continuación se detallan las 
actividades realizadas en cada fase. 
2.1.1. Planificación de la revisión sistemática 
La planificación es la primera fase de la revisión sistemática, comprende las siguientes 
actividades: confirmar la necesidad de la revisión, especificar las preguntas de investigación, 
enumerar las fuentes de datos para realizar las búsquedas y, formular las cadenas de 
búsqueda. 
2.1.1.1. Identificación de la necesidad de la revisión 
Para una mayor calidad en la propuesta, se requiere identificar y estructurar el 
conocimiento generado a la fecha con respecto a la calidad del producto de software, con el 
fin de generar un panorama general que ayude a la identificación de herramientas, prácticas y 
defectos desarrollados en esta área. 
2.1.1.2. Preguntas de investigación 
Para conocer el estado del arte se establecieron tres preguntas de investigación, las cuales 
son: 
	
	
27	
RQ1. ¿Qué herramientas se utilizan para la gestión de la calidad en el desarrollo de 
software? 
RQ2. ¿Qué prácticas se implementan para el aseguramiento de la calidad del producto? 
RQ3. ¿Cuáles son los defectos más comunes en los productos de software? 
2.1.1.3. Cadenas de búsqueda 
A partir de las preguntas de investigación, se establecieron las siguientes palabras clave 
que se generaron en el idioma inglés para efecto de obtener un conjunto de artículos más 
amplio: software, quality, product, model, quality assurance, quality management, 
development, defects. Cabe destacar que los modelos (MoProSoft, CMMI-DEV V1.3) y 
estándares (IEEE 730, ISO/IEC 15502), se omitieron de las cadenas de búsqueda dado que se 
tomaron como línea base los estándares y modelos investigados en el Capítulo 1. A partir de 
esas palabras clave, se construyeron las siguientes cadenas de búsqueda: 
S1. Software AND (quality AND (assurance OR management)) AND (development AND 
(tools OR practices)) 
S2. Software product AND development AND defects 
2.1.1.4. Fuentes de datos 
Para la presente investigación se seleccionaron cuatro de las fuentes de datos más 
importantes en el área, siendo las siguientes: ACM, Elsevier, Springer y Web of science. 
2.1.2. Ejecución de la revisión sistemática 
La segunda fase de la revisión sistemática es la ejecución de la revisión, en la cual se 
definen los criterios de inclusión y exclusión para seleccionar los estudios primarios, se 
muestra el proceso de selección de estudios primarios y el número de estudios obtenidos en 
cada paso del proceso, y por último, se muestra la plantilla para extracción de datos de los 
estudios primarios. 
2.1.2.1. Criterios de inclusión y exclusión 
A continuación, en la Tabla 1, se listan los criterios de inclusión utilizados para el 
filtrado de los resultados, de igual manera en la Tabla 2, se listan los criterios de exclusión. 
Tabla 1 Criterios de inclusión de RSL 
ID Criterios de Inclusión 
CI1 Todos aquellos artículos que su fecha de publicación sea igual o mayor al año 2010 y menor 
o igual al 2016. 
	
	
28	
CI2 Todos los artículos que estén escritos en el idioma inglés o español. 
CI3 Todos los artículos que pertenezcan al área de ciencias computacionales, o disciplina de 
ingeniería de software o desarrollo de software 
CI4 Todos aquellos artículos que en su título contenga alguna de las palabras clave “quality” ó 
“software”. 
CI5 Todos los artículos que por el título sea enfocado a la implementación o análisis de un 
herramienta, o práctica para la mejora de la calidad del producto de software 
CI6 Todos aquellos artículos que aporten información respecto al estado actual de prácticas o 
actividades para la mejora de la calidad del software. 
CI7 Se incluirán los artículos que contengan información sobre alguna clasificación, tipificación 
o índice de defectos. 
	
	
Tabla 2 Criterios de exclusión de RSL 
ID Criteriosde exclusión 
CE1 Todos aquellos artículos que en su título o abstract no contengan al menos dos de las 
palabras clave identificadas para la búsqueda. 
CE2 Todos aquellos artículos que su fecha de publicación sea menor al año 2010. 
CE3 Todos aquellos artículos que están en algún idioma diferente al inglés y español. 
CE4 Todos los artículos que no pertenezcan al área de ciencias computacionales o ingeniería de 
software. 
CE5 Se excluirán los artículos que se encuentren duplicados o por su contenido sea similar a 
algún otro artículo seleccionado. 
CE6 Se excluirán los artículos que por alguna cuestión económica, legal o de cualquier índole 
estén fuera del límite de acceso de la institución o estudiante. 
	
	
29	
2.1.2.2. Selección de estudios primarios 
La selección de estudios primarios se realizó en ocho pasos, los cuales se describen a 
continuación:		
Paso 1. Se introduce la cadena de búsqueda y se realiza la consulta en las respectivas 
bases de datos. 
Paso 2. Se aplica el criterio de inclusión CI1. 
Paso 3. Se aplica el criterio CI2. 
Paso 4. Se aplica criterio de inclusión CI3. 
Paso 5. Se aplica criterio de inclusión CI4. 
Paso 6. Se aplican los criterios de inclusión C5. 
Paso 7. Se verifica que cumplan con al menos uno de los criterios de inclusión CI7, 
CI8 o CI9. 
Paso 8. Se aplican los criterios de exclusión. 
Los resultados obtenidos en cada paso para la S1 se muestran en la Tabla 3.		 	
Tabla 3 Resultados de selección de EP para S1 
ACM Springer Web of science Elsevier science Pasos 
6,790 234,004 1,782 163,852 Paso 1 
2,959 113,888 913 74,463 Paso 2 (CI1) 
2,959 113,229 913 74,463 Paso 3(CI2) 
2,959 10,113 229 937 Paso 4(CI3) 
271 3 55 112 Paso 5(CI4) 
13 3 4 5 Paso 6(CI5 ó CI6 ‘o CI7) 
12 3 4 5 Paso 7(CE) 
	
Los resultados obtenidos en cada paso para la S2 se muestran en la Tabla 4. 
Tabla 4 Resultados de selección de EP para S2 
ACM Springer Web of science 
Elsevier 
science Pasos 
501 48,455 432 57,657 Paso 1 
	
	
30	
240 23,768 204 26,054 Paso 2 (CI1) 
240 23,704 204 26,054 Paso 3(CI2) 
240 1,323 105 191 Paso 4(CI3) 
16 0 84 45 Paso 5(CI4) 
1 0 4 0 Paso 6(CI5 ó CI6 ‘o CI7) 
1 0 4 0 Paso 7(CE) 
 
Como resultado, se obtuvieron un total de 29 Estudios Primarios (EPS) para la Revisión 
Sistemática de la Literatura (RSL). 
2.1.2.3. Extracción de datos 
Antes de realizar la extracción de la información, los 29 EPS fueron organizados por 
medio de la herramienta de gestión de archivos PDF Mendeley®. Además, se realizó la 
lectura e identificación de la problemática y la solución propuesta en el estudio. 
Posteriormente con el apoyo de la herramienta Google Spreadsheets® se diseñó un formato 
para la extracción de la información con las siguientes columnas: problemática, solución, 
biblioteca digital, título, autores, año, entorno, clasificación, objetivo, tipo de elemento 
propuesto (si aplica), categoría de defectos (si aplica) e índice de defectos (si aplica). 
2.1.3. Reporte de resultados 
La Tabla 5 muestra el listado de los EP seleccionados para la RSL. 
Tabla 5 Estudios primarios seleccionados en la revisión sistemática de literatura 
ID Nombre 
EP1 Teamscale: Software Quality Control in Real-Time 
EP2 Refinement of the Test Bed Using Various Prioritization Techniques for Assuring 
Software-Quality 
EP3 Quality Assurance through Rigorous Software Specification and Testing: A Case Study 
EP4 Quality Assurance Strategy for Distributed Software Development using Managed Test Lab 
Model 
EP5 Development of a Multi-Agent Framework for Software Quality 
EP6 Increasing quality and managing complexity in neuroinformatics software development 
with continuous integration 
EP7 CIP-UQIM: A unified model for quality improvement in software SME’s based on CMMI 
level 2 and 3 
	
	
31	
EP8 Integrating Quality Models and Static Analysis for Comprehensive Quality Assessment 
EP9 A Software Quality Model for SOA 
EP10 Continual Monitoring of Code Quality 
EP11 SCQAM: A Scalable Structured Method for Industrial Code Quality Assessment Software 
EP12 Using Software Quality Standards to Assure the Quality of the Mobile Software Product 
EP13 A Concept of Quality Assurance for Metrics in CASE-Tools 
EP14 Introduction of static quality analysis in small- and medium-sized software enterprises: 
experiences from technology transfer 
EP15 A fuzzy classifier approach to estimating software quality 
EP16 Software quality assessment using a multi-strategy classifier 
EP17 A Generic Model-Based Methodology of Testing Techniques to Obtain High Quality 
Software 
EP18 An empirical study of the impact of modern code review practices on software quality 
EP19 Software quality improvement: a model based on managing factors impacting software 
quality 
EP20 An Application of Data Envelopment Analysis to Software Quality Assessment 
EP21 Software quality construction in 11 companies: an empirical study using the grounded 
theory 
EP22 Software automated testing: A solution to maximize the test plan coverage and to increase 
software reliability and quality in use 
EP23 The 3C Approach for Agile Quality Assurance 
EP24 Case-Based Reasoning vs Parametric Models for Software Quality Optimization 
EP25 Identifying Effective Software Metrics for Categorical Defect Prediction Using Structural 
Equation Modeling 
EP26 Identifying the Impact of Defects among the Defect Types in Software Development 
Projects 
EP27 Investigating the Temporal Behavior of Defect Detection in Software Inspection and 
Inspection-Based Testing 
EP28 Evaluation of Work Product Defects during Corrective & Enhancive Software Evolution: A 
Field Study Comparison 
	
	
32	
EP29 Comprehension of Defect Pattern at Code Construction Phase during Software 
Development Process 
 
2.1.3.1. Pregunta de investigación 1 (RQ1) 
RQ1. ¿Qué herramientas se utilizan para la gestión de la calidad en el desarrollo de 
software? 
En la Figura 2, se muestra el total de resultados obtenidos respecto a herramientas de 
software y frameworks identificados en los EP. 
	
Figura 2 Gráfica de herramientas y frameworks identificados en la RSL 
Como se puede observar en la gráfica anterior, se encontraron en una razón 2:1 
frameworks, con base en estos datos se puede identificar un área de oportunidad en la 
elaboración de herramientas para dar soporte a las prácticas propuestas en los frameworks. A 
continuación, en la Tabla 6, se muestra el tipo de elemento y nombre o descripción de la 
propuesta en los EP enfocado en la gestión de la calidad. 
Tabla 6 Análisis de Herramientas (H) y Frameworks (F) identificados en RSL 
Tip
o 
Nombre Descripción 
H Teamscale Herramienta para integración continua. 
H Herramienta de detección de fallos 
Herramienta para la optimización de pruebas, enfocada en 
incrementar la cobertura de pruebas y reducir el costo. 
F 
Sincronización de método de 
pruebas y especificación de 
software 
Sincronización de herramientas para la optimización de 
pruebas estáticas basadas en el uso de cadenas de Markov y 
especificación de software basada en secuencias. 
F Framework MTLM Herramienta para facilitar prácticas de prueba en el ciclo de vida del software, asignación de responsabilidades y 
	
	
33	
formalización de procesos de validación. 
F 
Framework multi-agente para 
selección de herramientas de 
prueba 
Integración de herramientas de pruebas unitarias y 
funcionales automatizadas. 
F Framework para integración continua 
Framework basado en prácticas de integración continua 
 
A continuación, se presenta un resumen de los estudios primarios seleccionados en la 
RSL correspondientes a la RQ1. 
En (Heinemann, Hummel, & Steidl, 2014), se propone una herramienta para realizar 
análisis de calidad por medio de pruebas dinámicas de integración de código utilizando un 
control de versiones, mediante la ejecución automática de una serie de pruebas por cada 
commit ejecutado. 
En (Jain & Gupta, 2011), se propone una herramienta para generar conjuntosde pruebas 
que satisfagan criterios de salida particulares, a partir del conjunto de pruebas se identifican 
debilidades y fortalezas de los conjuntos de pruebas. 
En (Lin, He, Zhang, & Song, 2015), se propone un framework enfocado en la creación 
de un entorno que contenga un conjunto de herramientas por medio de un plan en el que se 
detalla las métricas y requisitos relevantes. 
En (Mathrani, 2014), se propone un framework enfocado al análisis dinámico de 
sistemas distribuidos, en donde los equipos de desarrollo realizan pruebas dinámicas al 
código para identificar y resolver errores de código, facilitando la trazabilidad entre piezas de 
software y cambios realizados. 
En (Öztürk, CİL, & Zengin, 2015), se propone un framework para facilitar el proceso de 
selección de herramientas para pruebas de código mediante una ontología de errores y 
herramientas ad-hoc para resolver determinados errores, proporcionado un conjunto base de 
herramientas para análisis dinámico de código. 
En (Zaytsev & Morrison, 2013), se propone un framework para la integración continua 
del código mediante el control de versiones y un software para pruebas de integración 
automática de código. 
Como se puede observar, la categoría más atendida es la ejecución de pruebas dinámicas 
abordada en: (Heinemann et al., 2014), (Jain & Gupta, 2011), (Lin et al., 2015) y (Mathrani, 
2014). Mientras que en (Öztürk et al., 2015) se presenta un análisis en la selección de 
herramientas ad-hoc para la gestión de la calidad, por otra parte en (Zaytsev & Morrison, 
2013) se aborda la integración continua de los componentes de software. 
 
Para evaluar el nivel de gestión cubierto por cada herramienta o framework, se toma 
como base una serie de elementos básicos para la gestión de la calidad propuestos en (Beltr & 
Le, 2011), los elementos son: 
	
	
34	
 • Garantía de calidad, grado de relación que tiene el producto para satisfacer las 
necesidades del usuario, es decir, que se cubran los requisitos y procesos del cliente 
correctamente. 
• Planificación de la calidad, que es satisfecha cuando un elemento permite elaborar en 
las fases iniciales del proyecto un plan de calidad, que detalle cómo se va a evaluar, valorar y 
establecer metas de calidad del software. 
• Control de la calidad, supervisión del estado de la calidad y la toma de acciones 
correctivas para mantener los índices de calidad deseados y la conformidad con el proceso sea 
de manera correcta. 
A continuación, en la Tabla 7, se realiza un análisis para identificar la cobertura de los 
elementos para la gestión de la calidad en los EPS. 
Tabla 7 Análisis de elementos de gestión de calidad en estudios primarios 
ID Garantía Planificación Control 
EP1 Permite ver el historial de 
las modificaciones y evaluar 
el cumplimiento de los 
componentes. 
- Permite supervisar y controlar 
métricas cómo: detección de 
código, tamaño de archivo, 
longitud de métodos, 
complejidad ciclomática, etc. 
EP2 - - Permite detección de errores 
por medio de la ejecución de 
pruebas dinámicas. 
EP3 El método de especificación 
y pruebas estadísticas del 
software, permite la gestión 
de los requisitos de usuario 
y su estado actual. 
Establece límites y elementos 
que deben ser desarrollados 
dentro del proyecto, así como 
responsables de actividades, de 
igual manera, permite la 
especificación de pruebas e 
inclusión de métricas. 
Permite la asignación y 
seguimiento de métricas de 
código como indicadores de 
calidad. 
EP4 - Permite la generación de una 
matriz de responsabilidades 
para identificar recursos como 
técnicas, responsables, 
herramientas, etc. 
Integra herramientas externas 
(como Jira, Seapine y 
AdventNet) para la 
identificación del índice de 
defectos. 
EP5 - Permite la generación de un 
script de pruebas, que será 
ejecutado en las diferentes 
herramientas integradas 
(Selenium IDE, Vega 
Subgraph y SqlQueryStress). 
Identifica métricas como: 
índice de defectos, cobertura 
de pruebas, mediante la 
integración de herramientas 
como Selenium IDE 
	
	
35	
 
 
Como podemos observar, la mayoría de las propuestas controlan la calidad del software 
mediante la integración de métricas, y el seguimiento de los requisitos del software es 
abordado en el 33% de las propuestas y de ellas solo una (EP3) realiza identificación y 
seguimiento completo de los requisitos, mientras que una propuesta solo permite establecer el 
requisito que fue abordado en el código modificado. 
 2.1.3.2. Pregunta de investigación 2 (RQ2) 
RQ2. ¿Qué prácticas se implementan para el aseguramiento de la calidad del 
producto? 
A partir del análisis realizado a los estudios primarios (EPS), se encontraron un conjunto 
de modelos, meta-modelos, metodologías y enfoques orientados a proporcionar prácticas para 
el aseguramiento de la calidad. Como se observa en la Figura 3, en los EPS se identificaron 3 
modelos, 1 meta modelo, 7 metodologías y 7 enfoques. 
	
Figura 3 Modelos, Meta modelos, Metodologías y Enfoques identificados en la RSL 
En la Tabla 8, se muestra una síntesis de los estándares que son implementados directa o 
indirectamente en las propuestas de EPS. 
Tabla 8 Análisis de estándares base para el aseguramiento de la calidad de software en los 
EPS 
EP6 - Realiza integración continua y 
pruebas automáticas mediante 
un script de pruebas. 
Integra métricas en la fase de 
integración de código para 
conocer la salud del proyecto. 
ID Nombre Tipo Modelo o Cómo es implementado (actividades, estrategias) 
	
	
36	
Estándar 
base 
EP7 SPI CIP-
UQIM 
M ISO/IEC 
9001, 
PMBOK 
y CMMI-
DEV 
Se integran actividades de los procesos CMMI-DEV, 
PMBOK e ISO/IEC 9001 para ser armonizados en un 
entorno multimodelo. 
⁠EP8 Modelo de 
reglas para 
análisis 
estático de 
código 
M ISO/IEC 
25010 
Se toman los atributos de calidad propuestos en el 
estándar. 
Se adoptan las estrategias propuestas en el modelo 
para identificar entidades, relaciones y atributos. 
EP9 Arquitectura 
Orientada a 
Servicios 
(SOA) 
MM ISO/IEC 
25010 
Integra prácticas o actividades del estándar para 
identificar elementos y relaciones dentro del sistema. 
⁠EP10 Método de 
monitoreo 
continuo de 
calidad 
(CQMM) 
MT ISO/IEC 
9126 
Utiliza actividades enfocadas a la identificación de 
entidades y atributos para la gestión de la calidad. 
Implementa prácticas para la gestión de atributos de 
calidad. 
EP11 Método de 
evaluación de 
calidad de 
código 
estructurado 
(SCQAM) 
MT ISO/IEC 
14598 
Toma pasos definidos por el estándar para establecer 
y ejecutar la evaluación y estos son optimizados para 
reducir el tiempo que consume. 
EP12 Aseguramient
o de la calidad 
en productos 
de software 
para móviles 
MT ISO/IEC 
9126 
Se toman prácticas para identificar características y 
métricas de calidad externas, internas y centradas en 
el usuario. 
 
EP13 Métricas en 
herramientas 
CASE 
E ISO/IEC 
9000 
Se implementan prácticas para priorizar y métricas 
propuestas por el estándar. 
EP14 Análisis 
estático 
automático 
(ASA) en 
PyMES 
E ISO/IEC 
25010 
Implementa prácticas para categorizar la calidad del 
producto dentro de características y definir entidades 
y sus relaciones. 
	
	
37	
Como podemos observar en la tabla anterior, los estándares identificados son 
principalmente 4, los cuales, se implementan de la manera siguiente: el estándar ISO/IEC 
9001 se utiliza para identificar atributos de calidad relevantes en el control de la calidad, el 
estándar ISO/IEC 9126 se utiliza para identificar subcaracterísticas de calidad y sus métricas 
asociadas, mientras que el estándar ISO/IEC 25010 se utiliza para establecer elementos con 
alto impacto en la calidad y finalmente el estándar ISO/IEC 14598 se utiliza para sustraer una 
línea base de actividades para la revisión de la calidad. 
En la Tabla 9, se muestra el nombre y descripción del elemento para el aseguramiento de 
la calidad propuesto en los EPS relacionados a las prácticas para el aseguramiento de lacalidad. 
Tabla 9 Análisis de elementos propuestos: Modelo (M), Meta modelo (MM), Metodología 
(M) o Enfoque (E) en los EPS 
ID Tipo Nombre Descripción 
Modelo 
EP7 M CIP-UQIM Se propone un modelo que integra a nivel de actividades 
los modelos de calidad más populares. 
EP8 M Modelo de reglas para 
análisis estático de 
código 
Se propone un modelo de calidad que permite definir 
cómo integrar métricas obtenidas mediante herramientas 
de análisis automático y evaluación de expertos. 
EP16 M RB2CBL Se propone un modelo de clasificación que integra un 
modelo basado en reglas y dos modelos de aprendizaje 
basado en casos, y un algoritmo optimizador para la 
evaluación de la calidad. 
Meta-modelo 
EP9 MM SOA Se propone un metamodelo para la clasificación de 
calidad que integra dos modelos de aprendizaje basado 
en casos y un modelo basado en reglas, para 
complementarse de manera mutua. 
Metodología 
EP10 MT CQMM Se propone una metodología que integra herramientas 
de análisis estático de código y el monitoreo utilizando 
modelos de calidad. 
EP11 MT SCQAM Se propone un método de análisis en el que se realiza 
aseguramiento de calidad realizado por expertos y 
dirigido por la aplicación sistemática de herramientas de 
	
	
38	
análisis de código. 
EP12 MT Aseguramiento de la 
calidad en productos 
de software para 
móviles. 
Se propone la implementación de una estrategia para 
extender los estándares de calidad de software y proveer 
mecanismos para la medición de la calidad del software 
para móviles desde el punto de vista de los 
desarrolladores y usuarios. 
EP17 MT Técnicas de pruebas de 
código. 
Se propone una metodología con las categorías de 
pruebas mayormente aceptadas para evaluar aspectos 
como funcionalidad, estructura, confiabilidad, 
requerimientos de usabilidad y consistencia. 
EP18 MT Prácticas de revisión 
de código para 
aseguramiento de la 
calidad. 
Se propone una metodología para evaluar la relación 
entre los defectos posteriores a la liberación y prácticas 
de revisión, como: cobertura de revisiones de código, 
participación en revisiones de código y experiencia en 
revisiones de código. 
EP19 MT Gestión de elementos 
relevantes o de alto 
impacto para la 
calidad. 
Se propone una metodología que utiliza cadenas de 
Markov y un framework sistemático para modelar 
procesos de gestión de la calidad estocásticos y la 
selección de elementos que impactan en la calidad del 
software. 
EP20 MT Data Envelope 
Analysis (DEA) para 
aseguramiento de la 
calidad. 
Se propone la implementación de DEA para asegurar la 
evolución de proyectos de software en términos de los 
valores de métricas seleccionadas en sucesivas versiones 
del proyecto. 
Enfoque 
EP13 E Métricas en 
herramientas CASE. 
Se presenta la inclusión de requisitos en herramientas 
CASE para definir modelos de calidad del producto 
flexibles. 
EP14 E Análisis estático 
automatizado en 
PyMES. 
Se presenta una evaluación de los resultados de análisis 
estático para proveer información sobre los problemas 
que surgen cuando se introducen y usan prácticas de 
análisis estático en PyMES. 
EP15 E Enfoque de 
clasificación difusa. 
Se presenta la implementación de una estrategia para 
determinar un conjunto de métricas de software 
utilizando enfoque de clasificación difusa. 
EP21 E Análisis de factores 
humanos en la calidad 
del software mediante 
teoría fundamentada. 
Se presenta una investigación en la construcción de la 
calidad de software en 11 compañías utilizando el 
método de investigación de teoría fundamentada. 
	
	
39	
EP22 E Implementación de 
pruebas automáticas 
de software. 
Se propone la integración de pruebas automáticas para 
incrementar la cobertura del plan de pruebas dentro del 
tiempo disponible para incrementar la confiabilidad y 
calidad en uso. 
EP23 E Implementación de 
prácticas para la 
integración, medición 
y mejora continua. 
Se propone un enfoque de integración de la práctica ágil 
de integración continua, junto a prácticas de medición 
continua y mejora continua para un aseguramiento ágil 
de la calidad. 
EP24 E Optimización basada 
en razonamiento 
basado en casos vs 
herramienta 
CEESAW. 
Se propone la integración de dos modelos mutuamente 
complementarios para la clasificación de elementos de 
calidad, utilizando una ontología con atributos de 
COCOMO. 
A continuación, se presenta una descripción de las propuestas de los estudios primarios 
mostrados en la Tabla 9. 
En (Rahmani, Sami, and Khalili 2016), se propone un modelo para la mejora de los 
procesos, este modelo es generado mediante técnicas de armonización de actividades de los 
modelos de calidad más populares como: CMMI-DEV V1.2, PMBOK 3 e ISO/IEC 
9001:2000. Estas actividades son integradas dentro del modelo CIP-UQIM, el cual demostró 
ofrecer ventajas en la resolución de problemas de implementación en entornos multi modelo. 
En (Lochmann and Heinemann 2011), se propone un modelo de reglas para realizar 
análisis estático de código, utilizando como línea base los atributos de calidad establecidos en 
el estándar ISO/IEC 25010, los cuales son asociados a entidades por medio de propiedades, 
de esta manera, se gestiona cuantitativamente promoviendo o inhibiendo atributos. 
En (Goeb and Lochmann 2011), se presenta un meta-modelo para gestionar la calidad en 
sistemas distribuidos realizando análisis estático de código, este meta-modelo está orientado a 
la arquitectura de software orientado a la arquitectura (SOA), contiene requisitos específicos 
que son de mayor demanda en los software como servicio (SaaS) de arquitectura distribuida. 
En este modelo se utilizan elementos como: entidad, atributo, factor, impacto entre otros, para 
el aseguramiento de la calidad. 
En (Kothapalli et al. 2011), se propone un método para el monitoreo de la calidad del 
código, mediante la revisión constante en la fase de desarrollo realizando análisis estático de 
código. Este método está basado en el Método de Evaluación para la Calidad Interna del 
Software (EMISQ) e ISO/IEC 9126, por lo que integra atributos y sub-atributos de calidad 
que son gestionados mediante un conjunto de entidades y atributos. El método CQMM 
propone una serie de 11 pasos divididos en 3 etapas. 
	
	
40	
En (Gupta et al. 2014), se propone una metodología para evaluar el impacto de elementos 
de código dentro del producto en general, de esta forma, se realiza una priorización de 
elementos, la metodología contiene atributos de calidad propuestos en EMISQ y está 
conformada por 11 pasos divididos en 3 fases: 1) la entrada, en la cual se realiza la 
integración de los elementos, 2) el proceso, en este se realiza el análisis de los elementos de 
código y 3) la salida, que es en la que se obtienen los resultados del análisis de impacto. 
En (Corral and Luis 2012), se propone una metodología para el aseguramiento de la 
calidad en el desarrollo de software para móviles. Se identificaron requisitos de calidad 
específicos dentro del dominio obtenidos como base a partir del estándar ISO/IEC 9126, 
asignando métricas de calidad y siguiendo regulaciones existentes como: regulaciones de 
mercado, restricciones en el hardware, requisitos de uso y dependencias internas y externas al 
producto. 
En (Yazbek and Hashem 2010), se propone un enfoque de integración de métricas en 
herramientas de Ingeniería de Software Asistida por Computadora (CASE) para el análisis de 
código, integrando análisis estático en las prácticas diarias del desarrollador y en el ciclo de 
desarrollo del software con el objetivo de mantener un control cuantitativo constante del 
software durante el proceso de producción. 
En (Gleirscher et al. 2014), se propone un análisis de actividades para el aseguramiento de 
la calidad mediante la integración de un análisis estático automático, con el objetivo de 
evaluar el esfuerzo requerido para su implementación contra los beneficios obtenidos respecto 
a la utilidad percibida, defectos encontrados y problemas técnicos