Está en la página 1de 11

Calidad del software

1. Pruebas exhaustivas: La calidad del software se logra mediante


pruebas exhaustivas en todas las etapas del desarrollo. Esto
incluye pruebas unitarias, de integración, de sistema y de
aceptación, entre otras. Cada función y componente del software
debe ser evaluado para garantizar su funcionalidad y fiabilidad.
2. Automatización de pruebas: La automatización de pruebas es
esencial para mejorar la eficiencia y la consistencia de las pruebas.
Herramientas como Selenium, Appium y JUnit pueden utilizarse
para automatizar pruebas de UI, pruebas de API y pruebas de
rendimiento, entre otras.
3. Mantenimiento de estándares de codificación: Es importante
mantener estándares de codificación claros y seguir las mejores
prácticas de desarrollo de software. Esto ayuda a mejorar la
legibilidad del código, reducir errores y facilitar la colaboración
entre equipos.
4. Gestión de defectos y seguimiento de problemas: Un sistema
efectivo de gestión de defectos y seguimiento de problemas es
fundamental para identificar, registrar y solucionar problemas de
calidad de manera oportuna. Herramientas como Jira, Bugzilla y
Trello pueden ser utilizadas para este fin.
5. Pruebas de seguridad: La seguridad del software es una parte
crítica de su calidad. Se deben realizar pruebas de seguridad
regulares para identificar vulnerabilidades y garantizar que el
software esté protegido contra ataques maliciosos.
6. Feedback de usuarios: La retroalimentación de los usuarios es
invaluable para mejorar la calidad del software. Se deben
implementar mecanismos para recopilar y analizar el feedback de
los usuarios, y utilizar esta información para realizar mejoras
continuas.
Existen varios estándares y normas de calidad de software reconocidos
internacionalmente que proporcionan directrices y mejores prácticas
para el desarrollo de software. Algunos de los más importantes son:

1. ISO/IEC 25010: SQuaRE (System and Software Quality


Requirements and Evaluation):
 Este estándar define un modelo de calidad de software que
cubre ocho características principales de calidad:
funcionalidad, fiabilidad, usabilidad, eficiencia,
mantenibilidad, portabilidad, seguridad y compatibilidad.
 Proporciona una estructura para especificar requisitos de
calidad y evaluar la calidad del software a lo largo de su ciclo
de vida.
2. ISO/IEC 9126: Software Engineering - Product Quality:
 Define un modelo de calidad de software similar al ISO/IEC
25010.
 Se centra en seis características de calidad: funcionalidad,
fiabilidad, usabilidad, eficiencia, mantenibilidad y
portabilidad.
 Este estándar ha sido reemplazado por el ISO/IEC 25010,
pero sigue siendo relevante en algunos contextos.
3. ISO/IEC 12207: Systems and Software Engineering - Software
Life Cycle Processes:
 Establece procesos y actividades para el ciclo de vida del
software.
 Incluye pautas para la gestión de calidad del software en
todas las etapas del desarrollo, desde la adquisición hasta el
mantenimiento y la retirada del software.
4. IEEE 730: Standard for Software Quality Assurance Processes:
 Define los procesos de aseguramiento de la calidad del
software.
 Proporciona pautas para planificar, supervisar y evaluar la
calidad del software a lo largo de su desarrollo.
5. Capability Maturity Model Integration (CMMI):
 No es una norma ISO, pero es un modelo de referencia
desarrollado por el Instituto de Ingeniería de Software (SEI).
 Proporciona directrices para mejorar los procesos de
desarrollo de software y evaluar la madurez organizacional
en términos de capacidades de desarrollo y gestión.
6. ASTM E2500: Standard Guide for Specification, Design, and
Verification of Pharmaceutical and Biopharmaceutical
Manufacturing Systems and Equipment:
 Aunque inicialmente diseñado para la industria
farmacéutica y biotecnológica, este estándar proporciona
orientación sobre cómo especificar, diseñar y verificar
sistemas de software críticos.
 Se centra en asegurar la calidad y la integridad del software
utilizado en la fabricación de productos farmacéuticos y
biotecnológicos.
La norma ISO/IEC 25010, titulada "Sistemas y software de calidad:
Requisitos y evaluación" (SQuaRE), es un estándar internacional que
proporciona un marco para definir y evaluar la calidad del software. Esta
norma se centra en identificar y especificar los requisitos de calidad del
software, así como en evaluar el grado en que un producto de software
cumple con estos requisitos. Aquí hay una explicación más detallada de
los aspectos clave de la norma:

1. Modelo de calidad: ISO/IEC 25010 presenta un modelo de calidad de


software compuesto por ocho características de calidad principales. Estas
características son las siguientes:
 Funcionalidad: La capacidad del software para satisfacer las
necesidades declaradas o implícitas cuando se utiliza bajo
condiciones especificadas.
 Fiabilidad: La capacidad del software para mantener un nivel
específico de rendimiento cuando se utiliza bajo condiciones
especificadas.
 Usabilidad: El esfuerzo necesario para que los usuarios puedan
utilizar el software de manera efectiva, eficiente y satisfactoria.
 Eficiencia: Los recursos utilizados por el software en relación con el
nivel de rendimiento obtenido bajo condiciones especificadas.
 Mantenibilidad: La capacidad del software para ser modificado
eficazmente para corregir defectos, mejorar el rendimiento o
adaptarse a cambios en el entorno.
 Portabilidad: La capacidad del software para ser transferido de un
entorno a otro.
 Seguridad: La capacidad del software para proteger la información
y los recursos del sistema contra accesos no autorizados y
modificaciones no autorizadas.
 Compatibilidad: La capacidad del software para interactuar con
otros sistemas especificados.
2. Requisitos de calidad: La norma proporciona pautas para la
especificación de requisitos de calidad, ayudando a definir los criterios que
deben cumplir las características del software para satisfacer las
necesidades del usuario y las partes interesadas.
3. Evaluación de calidad: ISO/IEC 25010 también ofrece un marco para
evaluar la calidad del software. Esto implica medir el grado en que el
software cumple con los requisitos de calidad especificados y evaluando
el desempeño del software en relación con las ocho características de
calidad definidas en el modelo.
4. Aplicabilidad: La norma es aplicable a diferentes tipos de software,
incluyendo aplicaciones de escritorio, aplicaciones web, sistemas
embebidos, sistemas de información, entre otros. Se puede utilizar en
diversas etapas del ciclo de vida del software, desde la especificación de
requisitos hasta la validación y verificación del producto final.
Los requisitos de calidad, como se definen en la norma ISO/IEC 25010,
son las especificaciones detalladas que describen cómo debe
comportarse o funcionar un producto de software para cumplir con las
expectativas de calidad de sus usuarios y partes interesadas. Estos
requisitos se derivan de las ocho características de calidad principales
definidas en el estándar y proporcionan una base clara para evaluar y
mejorar la calidad del software. Aquí hay una explicación más detallada
de los requisitos de calidad, junto con ejemplos para cada uno de ellos:

1. Requisitos de funcionalidad:
 Estos requisitos definen las funciones y características
específicas que debe tener el software para satisfacer las
necesidades del usuario.
 Ejemplo: El sistema de gestión de contenido debe permitir
a los usuarios crear, editar y eliminar publicaciones, así como
organizar el contenido en categorías y etiquetas.
2. Requisitos de fiabilidad:
 Estos requisitos establecen el nivel de confiabilidad y
precisión que se espera del software en su desempeño y
comportamiento.
 Ejemplo: El sistema de reservas de vuelos en línea no debe
permitir la sobreventa de vuelos y debe garantizar que las
transacciones se registren correctamente en la base de
datos sin pérdida de datos.
3. Requisitos de usabilidad:
 Estos requisitos describen cómo debe ser la interfaz de
usuario y la experiencia del usuario para que el software sea
fácil de usar y comprensible.
 Ejemplo: La aplicación de edición de fotos debe
proporcionar controles intuitivos y herramientas visuales
claras para ajustar el brillo, el contraste y otros aspectos de
la imagen.
4. Requisitos de eficiencia:
 Estos requisitos definen los recursos (como tiempo,
memoria y capacidad de procesamiento) que el software
puede utilizar para realizar sus funciones de manera
eficiente.
 Ejemplo: El software de renderizado 3D debe optimizar el
uso de la CPU y la GPU para renderizar escenas complejas
en tiempo real sin retrasos significativos.
5. Requisitos de mantenibilidad:
 Estos requisitos describen la facilidad con la que el software
puede modificarse, actualizarse y mantenerse a lo largo del
tiempo.
 Ejemplo: El código fuente del sistema de gestión de
inventario debe estar bien estructurado y documentado
para facilitar la identificación y corrección de errores y para
permitir futuras actualizaciones y mejoras.
6. Requisitos de portabilidad:
 Estos requisitos especifican cómo el software puede ser
transferido de un entorno a otro, incluidos diferentes
sistemas operativos, hardware y configuraciones.
 Ejemplo: La aplicación de procesamiento de texto debe ser
compatible con múltiples plataformas, incluyendo Windows,
macOS y Linux, y debe funcionar de manera consistente en
diferentes dispositivos y resoluciones de pantalla.
7. Requisitos de seguridad:
 Estos requisitos establecen las medidas de seguridad que el
software debe implementar para proteger la información y
los recursos del sistema contra accesos no autorizados y
ataques maliciosos.
 Ejemplo: El sistema de gestión de contraseñas debe utilizar
técnicas de encriptación robustas y autenticación de dos
factores para proteger las credenciales de usuario contra el
robo y la intrusión.
8. Requisitos de compatibilidad:
 Estos requisitos especifican cómo el software debe
interactuar y ser interoperable con otros sistemas,
tecnologías y estándares.
 Ejemplo: El navegador web debe ser compatible con los
estándares HTML5, CSS3 y JavaScript, así como con
complementos y extensiones populares, para garantizar una
experiencia de navegación sin problemas en una amplia
variedad de sitios web y aplicaciones web.
3. Evaluación de calidad de la norma ISO/IEC 25010
La evaluación de calidad, como se define en la norma ISO/IEC 25010, es
el proceso de medir y analizar el grado en que un producto de software
cumple con los requisitos de calidad especificados. Este proceso implica
evaluar el desempeño y el comportamiento del software en relación con
las ocho características de calidad definidas en el estándar y proporciona
información valiosa sobre la calidad general del producto. Aquí está una
explicación más detallada de la evaluación de calidad, junto con
ejemplos para cada una de las características de calidad:

1. Funcionalidad:
 La evaluación de la funcionalidad implica verificar si el
software realiza las funciones esperadas de manera precisa
y completa.
 Ejemplo: Un sistema de gestión de inventario se evalúa para
determinar si puede realizar operaciones como agregar,
eliminar y actualizar elementos de inventario de manera
efectiva y sin errores.
2. Fiabilidad:
 La evaluación de la fiabilidad implica medir la capacidad del
software para mantener un nivel específico de rendimiento
bajo condiciones especificadas durante un período de
tiempo determinado.
 Ejemplo: Un sistema de banca en línea se somete a pruebas
de carga para evaluar su capacidad para manejar múltiples
transacciones simultáneas sin tiempo de inactividad ni
pérdida de datos.
3. Usabilidad:
 La evaluación de la usabilidad implica medir la facilidad de
uso del software y la satisfacción del usuario al interactuar
con él.
 Ejemplo: Una aplicación móvil de navegación se somete a
pruebas de usabilidad con usuarios reales para evaluar la
facilidad con la que pueden buscar direcciones, planificar
rutas y recibir indicaciones de manera clara y concisa.
4. Eficiencia:
 La evaluación de la eficiencia implica medir cómo el
software utiliza los recursos disponibles, como el tiempo de
CPU, la memoria y el ancho de banda de red, para realizar
sus funciones de manera efectiva.
 Ejemplo: Un software de procesamiento de imágenes se
evalúa para determinar cuánto tiempo tarda en aplicar
filtros y efectos a imágenes de diferentes tamaños y
resoluciones.
5. Mantenibilidad:
 La evaluación de la mantenibilidad implica medir la facilidad
con la que el software puede modificarse, actualizarse y
mantenerse a lo largo del tiempo.
 Ejemplo: El código fuente de un sistema de gestión de
contenido se revisa para evaluar su legibilidad, modularidad
y documentación, lo que facilita la identificación y
corrección de errores y la implementación de nuevas
características.
6. Portabilidad:
 La evaluación de la portabilidad implica medir la facilidad
con la que el software puede transferirse de un entorno a
otro, incluidos diferentes sistemas operativos, hardware y
configuraciones.
 Ejemplo: Una aplicación de software de contabilidad se
evalúa para determinar si puede instalarse y ejecutarse
correctamente en diferentes plataformas, como Windows,
macOS y Linux, sin necesidad de modificaciones
significativas.
7. Seguridad:
 La evaluación de la seguridad implica medir la efectividad
de las medidas de seguridad implementadas en el software
para proteger la información y los recursos del sistema
contra accesos no autorizados y ataques maliciosos.
 Ejemplo: Un sistema de gestión de contraseñas se somete a
pruebas de penetración para identificar posibles
vulnerabilidades y evaluar la resistencia del software a
intentos de hacking y ataques de fuerza bruta.
8. Compatibilidad:
 La evaluación de la compatibilidad implica medir cómo el
software interactúa con otros sistemas, tecnologías y
estándares para garantizar una interoperabilidad adecuada.
 Ejemplo: Un navegador web se evalúa para determinar si es
compatible con los estándares web actuales y puede
renderizar páginas web correctamente, así como si admite
extensiones y complementos populares.

En resumen, la evaluación de calidad según la norma ISO/IEC 25010


implica medir y analizar diferentes aspectos del software en relación con
las ocho características de calidad definidas en el estándar, lo que
proporciona una visión integral de la calidad general del producto y
ayuda a identificar áreas de mejora potencial.

4. Aplicabilidad de la norma ISO/IEC 25010


La aplicabilidad de la norma ISO/IEC 25010 se refiere a la capacidad de
este estándar para ser utilizado en una variedad de contextos y
aplicaciones en el desarrollo de software. Esta norma proporciona un
marco general y principios clave para definir, especificar y evaluar la
calidad del software, lo que la hace ampliamente aplicable en diferentes
etapas del ciclo de vida del desarrollo de software y en una variedad de
industrias y sectores. Aquí está una explicación más detallada de la
aplicabilidad de la norma ISO/IEC 25010, junto con ejemplos de cómo
puede ser utilizada:

1. Amplia gama de aplicaciones:


 La norma ISO/IEC 25010 puede aplicarse a una amplia
variedad de productos de software, incluyendo aplicaciones
de escritorio, aplicaciones web, sistemas embebidos,
sistemas de información, aplicaciones móviles, entre otros.
 Ejemplo: Una empresa de desarrollo de software que crea
una aplicación de comercio electrónico puede utilizar la
norma ISO/IEC 25010 para especificar y evaluar la calidad de
su producto, asegurándose de que la aplicación cumpla con
los estándares de calidad esperados por los usuarios.
2. Diferentes etapas del ciclo de vida del software:
 La norma ISO/IEC 25010 puede ser aplicada en diferentes
etapas del ciclo de vida del desarrollo de software, desde la
especificación de requisitos hasta la validación y verificación
del producto final.
 Ejemplo: Durante la etapa de desarrollo de requisitos, un
equipo de desarrollo puede utilizar la norma ISO/IEC 25010
para definir los requisitos de calidad del software,
identificando las características de calidad que son críticas
para el éxito del producto. Durante la etapa de pruebas,
pueden utilizar la norma para evaluar si el software cumple
con estos requisitos de calidad.
3. Diversos sectores e industrias:
 La norma ISO/IEC 25010 es aplicable en una variedad de
sectores e industrias, incluyendo tecnología de la
información, salud, finanzas, manufactura, gobierno, entre
otros.
 Ejemplo: Una empresa de desarrollo de software que crea
sistemas de gestión de registros médicos electrónicos
puede utilizar la norma ISO/IEC 25010 para garantizar que
su producto cumpla con los estándares de calidad y
seguridad requeridos por la industria de la salud.
4. Escalabilidad y adaptabilidad:
 La norma ISO/IEC 25010 es escalable y adaptable, lo que
significa que puede ser utilizada por equipos de desarrollo
de diferentes tamaños y con diferentes niveles de
experiencia, así como en diferentes modelos de desarrollo
de software, como enfoques tradicionales o metodologías
ágiles.
 Ejemplo: Una startup que desarrolla una aplicación móvil
puede utilizar la norma ISO/IEC 25010 para establecer
estándares de calidad desde el principio, lo que les ayuda a
construir una base sólida para su producto y a mantener
altos niveles de calidad a medida que la empresa crece y
evoluciona.

También podría gustarte