Zusammenfassung der Ressource
CALIDAD DE SOFTWARE
- HISTORIA
- La historia de la calidad del software es un relato interesante que abarca varias décadas y ha
evolucionado junto con la industria de la tecnología de la información. A continuación, te
proporcionaré una breve cronología de los hitos más importantes en la evolución de la calidad del
software:
- Década de 1960
- En esta época, la informática estaba en sus primeras etapas de desarrollo. La calidad del software no
era una preocupación principal, ya que los proyectos eran relativamente pequeños y simples en
comparación con los estándares actuales.
- Década de 1970
- Se desarrollaron los primeros estándares de calidad de software, como el modelo de madurez de
capacidad (CMM, por sus siglas en inglés), que fue propuesto por el Departamento de Defensa de los
Estados Unidos. El CMM establecía niveles de madurez para evaluar la capacidad de una organización
para desarrollar software de alta calidad.
- Década de 1980
- Aparecieron las metodologías de desarrollo de software estructurado, como el modelo de desarrollo de
sistemas (SDLC). Estas metodologías tenían como objetivo mejorar la calidad del software al
proporcionar un enfoque estructurado para el desarrollo.
- Década de 1990
- El enfoque en la calidad del software se intensificó con la popularización de las metodologías ágiles,
como Scrum y Extreme Programming (XP). Estas metodologías pusieron énfasis en la colaboración, la
retroalimentación y la entrega continua para mejorar la calidad del software.
- Década de 2000
- La certificación ISO 9001 se expandió para incluir estándares específicos para la calidad del software,
como ISO 9001:2000 e ISO/IEC 90003. Estos estándares proporcionaron directrices para la gestión de la
calidad del software en organizaciones.
- Década de 2010
- La automatización de pruebas y la integración continua se convirtieron en prácticas comunes para
mejorar la calidad del software. También se popularizaron marcos de desarrollo y gestión, como
DevOps, que enfatizan la colaboración entre equipos de desarrollo y operaciones para lograr una
entrega más rápida y confiable.
- Década de 2020 y más allá
- La calidad del software sigue evolucionando con la creciente adopción de la inteligencia artificial y el
aprendizaje automático en el desarrollo y pruebas de software. La ciberseguridad se ha vuelto una
preocupación fundamental, y se están desarrollando estándares y prácticas para garantizar la
seguridad del software.
- MODELOS DE CALIDAD DE SOFTWARE
- Existen varios modelos y marcos de referencia para evaluar y gestionar la calidad del software. Algunos
de los modelos de calidad de software más conocidos incluyen
- Modelo ISO 25000 (SQuaRE)
- ISO/IEC 25000 es una serie de estándares internacionales que definen un marco de calidad de software
conocido como SQuaRE (Software product Quality Requirements and Evaluation). Esta norma
proporciona un conjunto de características de calidad y subcaracterísticas que se pueden utilizar para
evaluar la calidad del software.
- Modelo ISO 9126
- Este modelo se utiliza para evaluar la calidad del software en función de características como la
funcionalidad, la confiabilidad, la usabilidad, la eficiencia, la mantenibilidad y la portabilidad.
- Modelo CMMI (Capability Maturity Model Integration)
- CMMI es un modelo de mejora de procesos que aborda no solo la calidad del producto, sino también la
calidad del proceso. Se centra en la mejora de la capacidad de una organización para desarrollar
software de alta calidad.
- Modelo TQM (Total Quality Management)
- TQM es un enfoque de gestión de calidad que se aplica no solo al software, sino a toda la organización.
Se centra en la mejora continua de la calidad a través de la participación de todos los miembros de la
organización.
- Modelo Six Sigma
- Six Sigma es un enfoque de mejora de calidad que busca reducir defectos y variabilidad en los procesos
de desarrollo de software. Se basa en métodos estadísticos y herramientas de calidad.
- Modelo IEEE 730
- Este es un estándar del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) que se centra en la
calidad del proceso de software. Proporciona directrices para la gestión de la calidad del software.
- Modelo de Garvin para la Calidad de Software
- Basado en el modelo de calidad de David Garvin, se centra en cinco enfoques principales de calidad:
calidad transcendental, calidad de productos, calidad de usuarios, calidad de fabricación y calidad de
valor.
- Modelo de McCall
- Este modelo se centra en tres aspectos principales de la calidad del software: la operación, la revisión
y la transición. Cada uno de estos aspectos se subdivide en características y subcaracterísticas
específicas.
- Modelo de Boehm (Modelo de Calidad del Producto en Espiral)
- Este modelo se basa en el Modelo de Espiral de Barry Boehm y se enfoca en la calidad del producto en
relación con la evolución del ciclo de vida del software.
- Modelo de FURPS+
- Este enfoque se centra en cinco atributos de calidad: Funcionalidad, Usabilidad, Fiabilidad,
Rendimiento y Soporte del sistema, y se utiliza para especificar los requisitos de calidad del software.
- ASEGURAMIENTO CALIDAD DE SOFTWARE
- El aseguramiento de la calidad del software (SQA, por sus siglas en inglés, Software Quality Assurance)
es un conjunto de actividades planificadas y sistemáticas que se llevan a cabo en el proceso de
desarrollo de software para garantizar la calidad del producto final. El objetivo principal del SQA es
asegurar que el software cumple con los estándares de calidad establecidos y satisface las necesidades
y expectativas de los usuarios. Aquí hay algunos conceptos clave relacionados con el aseguramiento de
la calidad del software
- Plan de Calidad
- El SQA comienza con la creación de un plan de calidad que define los estándares, procesos y
procedimientos que se seguirán para garantizar la calidad del software. Este plan establece las metas,
los recursos, los plazos y las responsabilidades relacionadas con la calidad.
- Auditorías y Revisiones
- Se realizan auditorías y revisiones periódicas del proceso de desarrollo de software para asegurarse de
que se estén siguiendo los procedimientos y estándares definidos. Esto ayuda a identificar y corregir
posibles desviaciones o problemas en una etapa temprana del desarrollo.
- Estándares y Normativas
- El SQA implica el establecimiento y cumplimiento de estándares y normativas de calidad en todo el
ciclo de vida del software. Estos estándares pueden abordar aspectos como la documentación, el
diseño, la codificación y las pruebas
- Pruebas de Calidad
- Las pruebas de software son esenciales para garantizar la calidad del producto. Esto incluye pruebas
funcionales, pruebas de rendimiento, pruebas de seguridad y otros tipos de pruebas, dependiendo de
las necesidades del proyecto
- Gestión de Configuración
- La gestión de configuración implica el control y seguimiento de los cambios realizados en el software.
Esto garantiza que se pueda rastrear y verificar cualquier cambio en el software a lo largo del tiempo
- Gestión de Defectos
- El SQA también involucra la gestión de defectos. Los defectos encontrados durante el proceso de
desarrollo se registran, se investigan y se corrigen de manera oportuna.
- Capacitación y Mejora Continua
- El personal involucrado en el desarrollo de software debe recibir capacitación en las prácticas de SQA.
Además, se debe fomentar la mejora continua, lo que implica la revisión y la actualización constante de
los procesos y estándares para adaptarse a las lecciones aprendidas y a las cambiantes necesidades del
proyecto.
- Documentación
- La documentación adecuada es esencial en el SQA. Esto incluye la documentación de estándares,
procesos, resultados de pruebas y auditorías, y otros registros relacionados con la calidad.
- Estandades de calidad
- Los estándares de calidad son conjuntos de directrices, reglas, especificaciones y criterios que se
utilizan para evaluar y garantizar la calidad de productos, servicios o procesos en una variedad de
industrias. En el contexto del software y el aseguramiento de la calidad, existen varios estándares y
modelos ampliamente reconocidos que se utilizan para guiar y evaluar la calidad del software. Algunos
de los estándares y modelos de calidad de software más conocidos son
- ISO 9001
- La norma ISO 9001 es un estándar internacional para sistemas de gestión de calidad que se aplica a
una amplia gama de organizaciones y sectores. Aunque no está específicamente diseñada para el
software, se puede aplicar a empresas de desarrollo de software para garantizar procesos de calidad
en su producción y entrega
- ISO/IEC 25000 (SQuaRE)
- Esta serie de normas es específica para la calidad del software y sistemas de información. Define un
conjunto de características y subcaracterísticas para evaluar la calidad del software, como la
funcionalidad, la fiabilidad, la usabilidad, la eficiencia, la mantenibilidad y la portabilidad.
- ISO/IEC 9126
- Este estándar anterior se centraba en la evaluación de la calidad del software y definía un conjunto de
características y subcaracterísticas que abordaban la calidad del software desde la perspectiva del
producto
- CMMI (Capability Maturity Model Integration)
- CMMI es un modelo que evalúa la madurez de los procesos de desarrollo y gestión de una
organización. Proporciona un marco para mejorar y evaluar la calidad de los procesos relacionados
con el software
- ISO/IEC 15504 (SPICE - Software Process Improvement and Capability Determination)
- Este estándar se centra en la mejora de los procesos de desarrollo de software y proporciona un
marco para evaluar la capacidad de los procesos de software en una organización.
- IEEE 730
- Un estándar del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) que se centra en la gestión de
calidad de software y establece directrices para la planificación y ejecución de actividades de
aseguramiento de la calidad del software.
- IEEE 829
- Este estándar de IEEE se enfoca en la documentación de pruebas de software, proporcionando pautas
para la creación de informes de pruebas y documentación de resultados.
- Agile and Scrum
- Aunque no son estándares en el sentido tradicional, los marcos Agile y Scrum promueven prácticas de
desarrollo que enfatizan la colaboración, la flexibilidad y la entrega continua de software de alta calidad
- https://www.goconqr.com/es/mindmap/39002725/calidad-de-software