Introducción
En esta unidad se presenta las consideraciones más importantes frente a la calidad del software, definida como “el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario”. (EcuRed, s.f.)
Permitiéndonos conocer los fundamentos de la calidad del software como parte de la ética y la cultura de la IS, incluyendo los proceso de calidad para verificación y validación, que llevan al aseguramiento, medición y satisfacción del cliente.
Propósitos de aprendizaje
Propósito general
Presentar herramientas conceptuales alrededor de la importancia del desarrollo del software como resultado de la evolución social y cultural que impacta la sociedad.
Propósitos específicos
- Determinar las características de calidad que se van a tener en cuenta a la hora de evaluar las propiedades de un producto de software.
- Interpretar cómo el grado en que dicho producto satisface los requisitos de sus usuarios aportando de esta manera un valor.
- Identificar las características de los modelos de calidad para un producto de software.
- Conocer los modelos, términos y definiciones comunes referenciados por las normas y estándares para la calidad de software.
- Desarrollar estrategias para la implementación de pruebas de software que permitan garantizar la satisfacción del cliente.
Conceptos de calidad
Frente al concepto de calidad, se pueden encontrar variedad de definiciones, debido a su gran uso en diferentes ámbitos mundialmente conocidos y por expertos que le dan un nuevo significado.
La norma ISO 9000:2005 plantea que es el grado en el que un conjunto de características inherentes cumple con los requisitos. A pesar que muchos expertos le dan su propio significado, existen coincidencias cuando se asocia calidad con la satisfacción de los clientes y cumplimiento de requisitos.
La norma ISO 9126 fue originalmente desarrollada en 1991 para proporcionar un esquema para la evaluación de la calidad del software. Con el propósito de lograr garantizar la excelencia en procesos de generación de software, para que las empresas presenten productos de calidad, que garanticen la competitividad global, en el mercado internacional.
![]() |
El licenciado en Administración de Empresas, Jesús Alberto Viveros Pérez (como se citó en Rico Montoya, J.A., s.f.) expone 13 principios de calidad. A continuación se expone cada uno de ellos y los requisitos que una empresa debe de tener si busca encaminarse hacia la calidad en la siguiente interactividad. |
Conceptos de calidad
Control y garantía de calidad
Para implementar planes de control de calidad y garantía de calidad se debe tener en cuenta las técnicas y herramientas para su implementación, además del dónde, el cómo y el cuándo de la implementación.
Es importante conocer las diferencias más relevantes en el alcance cuando hablamos de control de calidad y garantía de la calidad, por lo que definimos a continuación los siguientes términos: control de calidad, norma ISO 8402 y garantía de calidad.
![]() |
A continuación se explica la relación entre calidad y garantía, con base en la fábrica de lamborghini, además de los factores que afectan en la implementación de productos con calidad. |
Conceptos de calidad
Impacto de los defectos del software sobre el coste
En la industria del software no se puede diferenciar entre valor y costo, ya que cuando hablamos de valor del software consideramos el costo de producirlo y muy poco del beneficio.
Según Gil Widerhold (como se citó en Díaz Cortés, E., 2007), “el valor de los intangibles está asumiendo una mayor importancia en la medida que nuestra sociedad se mueve de su dependencia en los bienes materiales hacia una en que el conocimiento, y los talentos son los que crean los nuevos bienes que queremos y necesitamos.”
Mientras mejor explote el software a su disposición, más rentable será un negocio. Cuando el negocio está basado en la producción del software, el valor del negocio está asociado a las ventas. (Díaz Cortés, E., 2007).
![]() |
Los términos "fallo, anomalía o defecto" están ligados en el desarrollo de software, a los problemas presentados por la falta de la calidad del mismo, después de entregar el producto final. Por ello, las revisiones técnicas previas a la entrega son importantes en pro de evitar dichos problemas. |
Conceptos de calidad
Calidad CMM, CMMI, ISO 9001, TSP y XP
De acuerdo con el Engineering Institute (como se citó en Microsoft, s.f.), CMMI es definido como “un modelo para la administración de riesgos que indica la capacidad de una organización para administrar los riesgos”, lo que indica la oportunidad y probabilidad que tienen las organizaciones para cumplir promesas de productos y además de su calidad, lo cual es muy atractivo en los mercados competitivos.
La mayoría de las empresas con mayor madurez enfrentan los problemas con calma, evaluando y analizando los cambios y siguiendo adelante. Una organización de menor madurez tiende a dejarse llevar por la situación del problema y cegarse a los nuevos procedimientos generando momentos de caos y fragmentación de sus proyectos.
A continuación se expondrá cada uno de los siguientes modelos:
- Modelo CMM (Capability Maturity Model for Software)
- Modelo CMMI
- PSP (Process software Personal)
- Método XP
Técnicas de prueba de software
Las pruebas son parte fundamental de cualquier proyecto, ya que nos ayudarán a tener mejores resultados, ofreceremos una calidad mayor de nuestro producto y en consecuencia los clientes estarán más satisfechos. (Sánchez peño, J.M., 2015)
En los tipos de pruebas tenemos:
- Pruebas funcionales.
- Pruebas no funcionales.
- Pruebas estructurales.
En las técnicas de pruebas estudiaremos estas tres:
- Técnicas estáticas.
- Técnicas dinámicas.
- Técnicas basadas en la experiencia.
Técnicas de prueba de software
Fundamentos de pruebas del software
Probar un programa es añadir un valor, aumentar la calidad y fiabilidad, lo cual nos lleva a eliminar errores del programa. Las pruebas de un proceso se definen mediante la búsqueda de errores.
El ISTQB - International Software Testing Qualifications Board- define las pruebas como:
"El proceso que consiste en todas las actividades del ciclo de vida, tanto estáticas como dinámicas, relacionadas con la planificación, preparación y evaluación de productos de software y productos relacionados con el trabajo para determinar que cumplen los requisitos especificados, para demostrar que son aptos para el propósito y para detectar defectos" (como se citó en Sánchez Peño, J.M., 2015)
Técnicas de prueba de software
Diseños para casos de prueba
Las técnicas para validar un software están accionadas bajo una estructura evaluatoria. La mayoría del software puede probarse de dos maneras diferentes. Conociendo el funcionamiento interno, donde se puede probar que todos los módulos encajan unos con otros, o conociendo las funciones específicas del producto, esta última visión es externa.
En la siguiente interactividad se encuentran las metodologías existentes para el diseño de los casos a prueba. Para una mayor profundidad en el tema, se recomienda leer el material de apoyo.
Técnicas de prueba de software
Revisiones del software
Durante las fases del desarrollo del software una de las más importantes es esta fase que permite realizar evaluaciones del sistema para determinar su avance en el desarrollo, con la intención de detectar de forma temprana los defectos, errores o fallas y reducir el impacto de tiempo y esfuerzo, durante la creación del sistema.
Las actividades de revisión van de la mano a las actividades del modelo de desarrollo de software que guía el proyecto. Tanto las actividades estáticas como las actividades dinámicas tienen un lugar importante en cada una de las etapas del desarrollo del sistema.
En un producto de software quien evalúa debe tener en mente qué tipo de errores está buscando y qué calidad es la más adecuada para el producto.
Métricas, medidas e identificadores en el software
En la ingeniería de software, como en todas las demás disciplinas, es fundamental el proceso de la medición, dado que este nos permite una observación detallada y objetiva para mejorar el software de manera significativa.
Cuando hablamos de métricas nos referimos al grupo de mediciones de software establecido para el control de calidad, la evaluación productiva del sistema y el control de proyectos.
![]() |
Un ingeniero debe medir la calidad de los resultados del trabajo técnico para ayudar a tomar decisiones mientras evoluciona el proyecto. A continuación se presenta un mapa conceptual de calidad interna y externa en el software. |
Métricas, medidas e identificadores en el software
Métricas en el proceso y dominios de un proyecto
La medición en el proceso de la ingeniería de software es una estrategia que ha logrado tener una evolución significativa, ya que en estos tiempos se ha convertido en la razón principal para garantizar la satisfacción del usuario final.
Buscando alcanzar resultados eficientes, eficaces y con calidad en la generación del software, se logra tomar información de las métricas para que los indicadores del proceso y del producto sean correctos. Teniendo en cuenta que los indicadores de proceso permiten tener una visión de la eficacia de un proceso de manera profunda, permite que los gestores evalúen qué funciona y qué no. Estas métricas son recopilaciones hechas a lo largo de todos los proyectos ya que su propósito es dar indicadores que mejoren los procesos de software a largo plazo.
![]() |
Para algunos casos, las métricas pueden ser usadas de manera combinada para desarrollar métricas públicas de un equipo de software, permitiendo a las métricas del proyecto ser consolidadas para crear métricas de acuerdo al proceso y que sean públicas en toda la organización del software. Estudiemos las mediciones definidas en el software. |
Métricas, medidas e identificadores en el software
Métricas orientadas al tamaño y la función
Este tipo de métricas orientadas al tamaño están definidas por el proceso de normalización de medidas de calidad o productividad. Esto mediante la creación de tablas de datos orientados al tamaño.
Por otra parte, conocemos las métricas orientadas a la función, las cuales utilizan una medida de la funcionalidad entregada por el software como el valor de normalización. Definiendo que la funcionalidad no se puede medir directamente, se debe ramificar indirectamente mediante otras medidas directas.
Métricas, medidas e identificadores en el software
Métricas ampliadas por componentes
Este tipo de métricas se encuentran dirigidas a las características internas de los componentes del software, en donde se incluyen medidas alineadas a los procesos de cohesión, acoplamiento y complejidad de cada escenario generado. Con estas medidas el desarrollador puede juzgar la calidad del software.
Esta métrica es considerada de caja blanca, ya que requiere conocimiento de los componentes que hace parte del módulo a medir. Se puede iniciar con un modelo procedimental pero a su vez se ven retrasadas por no tener código fuente disponible.
Actividad de aprendizaje
![]() |
De acuerdo con lo estudiado, resuelve la siguiente actividad de relación de columnas, basada en la calidad interna y externa de un software. |
Resumen
En todos los ámbitos de la ingeniería, el poder medir es algo esencial en el desarrollo de cada uno de los procesos, ya que nos permite controlar y evolucionar, apoyados en la estrategia de la mejora continua. De igual forma, logra demostrar que el medir tiempos de desarrollo o fases de proyecto aportan a la calidad del producto o servicio que estamos entregando para la satisfacción de un cliente.
De acuerdo con esta unidad, encontramos que existen diversas herramientas para garantizar controlar y medir, desde lo mas básico hasta lo mas complejo, el proceso de desarrollo de software, tomando el contexto tangible e intangible de los procedimientos, desarrollo y producto final.
![]() |
"Lo que no se mide, no se puede mejorar". Peter Drucker (s.f.) |
Caso de estudio
![]() |
El caso de estudio que hemos venido trabajando en las unidades anteriores, finaliza en esta actividad con la realización de una matriz para la evaluación de métricas, no olvide revisar los lineamientos del proceso de evaluacion. Recuerda presentarle este trabajo al docente de clase. |
Bibliografía ()
- Carnegie Mellon University (2006) Capability Maturity Model Integration (CMMI) Versión 1.1. U.S. Patent No.15213-3890. 2006.
- Kent, B., y Fowler, M. (2004) Planning Extreme Programming (2da ed.) Bostón: Addison Wesley.
- Myers, G. (2002) The art of software Testing. New Jersey,: Wiley & Sons, Inc.
- Sommerville, I. (2005). Ingeniería del Software. (7ma ed.) Madrid, España: Pearson Educación S.A.
- Pressman, R. S. (2002). Ingeniería del Software: un enfoque práctico. (5ta ed.) McGraw Hill.
- Pressman, R. S. (2005). Ingeniería del Software. (6ta ed.) México: McGraw Hill.
Referencias Web
- Borja López, Y. (s.f.) Metodología Ágil de Desarrollo de Software – XP. [pdf] MEVAST. Recuperado de: http://www.runayupay.org/publicaciones/2244_555_COD_18_290814203015.pdf
- Díaz Cortés, E. (26 de febrero de 2007) El valor de propiedad intelectual del software. LNDS. Recuperado de: https://www.lnds.net/blog/2007/02/el-valor-de-propiedad-intelectual-del-software.html
- Ecured (s.f.) Pruebas de Calidad de Software. Recuperado de: https://www.ecured.cu/Pruebas_de_Calidad_de_Software
- Fernández Martínez, A. (2009) WUEP: Un Proceso de Evaluación de Usabilidad Web Integrado en el Desarrollo de Software Dirigido por Modelos. (Tesis de maestría) Universidad Politécnica de Valencia. Recuperado de: https://riunet.upv.es/bitstream/handle/10251/11924/WUEP%20-%20Un%20Proceso%20de%20Evaluacion%20de%20Usabilidad%20Web%20...pdf?sequence=1
- Florian Gaviria, B. (2013) Clase #4 Descripción general de las pruebas dinámicas. [Powerpoint Slides] Universidad del valle. Recuperado de: https://campusvirtual.univalle.edu.co/moodle/pluginfile.php/477552/mod_resource/content/1/2013A_TPSW_Clase04_PruebasDin%C3%A1micasVistaGeneral.pdf
- IEEE (2004) Guide to the Software Engineering Body of Knowledge. [pdf]. Recuperado de: http://www4.ncsu.edu/~tjmenzie/cs510/pdf/SWEBOKv3.pdf
- Islas Hernández, l. y Salazar Viveros, N.L. (2014) Gestión de proyectos. Universidad Autónoma del Estado de Hidalgo. Recuperado de: http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro22/index.html
- Mangino, J. (s.f.) Garantía de la calidad y control de calidad. IPCC. Recuperado de: https://www.ipcc-nggip.iges.or.jp/public/gp/spanish/8_QA-QC_ES.pdf
- Méndez Rosey, J.C. (2013) Calidad, concepto y filosofías: Deming, Juran, Ishikawa y Crosby. Gestiopolis. Recuperado de: https://www.gestiopolis.com/calidad-concepto-y-filosofias-deming-juran-ishikawa-y-crosby/
- Microsoft (s.f.) Información general de CMMI. Recuperado de: https://msdn.microsoft.com/es-es/library/ee461556.aspx
- Pressman, R. S. (2002). Ingeniería del Software: un enfoque práctico. (5ta ed.) McGraw Hill. Recuperado de: https://www.scribd.com/document/6722160/Roger-S-Pressman-Ingenieria-Del-Software-Un-Enfoque-Practico
- Quintero Navarro, P., y Lozano Perdomo, L. (2012) Guía de implementación ISO/IEC 9126:2005 Para la metodología v. (Tesis de especialización) Universidad Militar Nueva granada, Bogotá, Colombia. Recuperado de: https://repository.unimilitar.edu.co/bitstream/10654/6578/2/QuinteroNavarroPilarKatherine2012.pdf
- Rico Montoya, J.R. (s.f.) Calidad de tu negocio. Stratega Business Magazine. Recuperado de: http://strategamagazine.com/calidad-de-tu-negocio/
- Sánchez Peño, J.M. (2015) Pruebas de software. Fundamentos y técnicas. Universidad Politécnica de Madrid. Recuperado de: http://oa.upm.es/40012/1/PFC_JOSE_MANUEL_SANCHEZ_PENO_3.pdf
- SENA (s.f.) Modelos de calidad en el desarrollo de software. Recuperado de: http://docplayer.es/14527437-Modelos-de-calidad-en-el-desarrollo-de-software.html
















