¿Qué es el aseguramiento de la calidad del software?

La calidad del software se evalúa a partir de sus atributos externos e internos. La calidad externa se refiere a cómo funciona en condiciones reales y qué tan útil resulta para las personas que lo usan. La calidad interna tiene que ver con el código. Los usuarios perciben principalmente el comportamiento externo, pero mantener esa calidad depende de contar con código claro, bien estructurado y bien escrito.

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Abrir el diagrama a tamaño completo

Calidad del software

¿Qué es el aseguramiento de la calidad del software?

Hay dos enfoques importantes para evaluar la calidad del software.

  1. Enfoque de gestión de defectos
  2. Enfoque de atributos de calidad
Se puede considerar defecto todo lo que no cumpla los requisitos del cliente. Interpretar mal los requisitos puede llevar a errores de diseño. La lógica funcional deficiente, el código incorrecto y el manejo inadecuado de los datos también pueden causar defectos. El enfoque de gestión de defectos les da seguimiento, los clasifica por gravedad y registra cuántos hay. Después, el equipo actúa en función de la gravedad asignada. Los gráficos de control pueden ayudar a medir la capacidad del proceso de desarrollo.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Abrir el diagrama a tamaño completo

Enfoque de gestión de defectos


Un modelo anterior de calidad del producto de software, ISO/IEC 9126-1, agrupa los atributos de calidad en seis características.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Abrir el diagrama a tamaño completo

Enfoque de atributos de calidad

1. Funcionalidad Comprende todas las funciones importantes que ofrece el software.

  • Adecuación. ¿Son apropiadas las funciones del software?
  • Exactitud. ¿Se implementaron correctamente las funciones?
  • Interoperabilidad. ¿Cómo interactúa el software con los demás componentes del sistema?
  • Cumplimiento. ¿Cumple el software las leyes y directrices aplicables?
  • Seguridad. ¿Puede el software gestionar transacciones de datos de forma segura?
2. Fiabilidad Es la capacidad de funcionar en condiciones determinadas durante un periodo definido, incluida la capacidad de tolerar fallos de componentes.
  • Madurez. ¿Con qué frecuencia falla el software?
  • Capacidad de recuperación. ¿Qué tan bien puede el sistema volver a funcionar por completo después de un fallo?
3. Usabilidad Indica qué tan fácil es usar una función.
  • Facilidad de comprensión. ¿Qué tan fácil resulta entender las funciones?
  • Facilidad de aprendizaje. ¿Cuánto esfuerzo necesitan las personas con distintos niveles de experiencia para entender las funciones?
4. Eficiencia Por lo general, depende de la arquitectura y de las prácticas de programación empleadas en el desarrollo.

5. Facilidad de mantenimiento También se denomina facilidad de soporte. Depende en gran medida de la legibilidad y la complejidad del código. Se refiere a la capacidad de identificar y corregir fallos.
  • Facilidad de análisis. ¿Qué tan fácil es identificar la causa principal de un fallo?
  • Facilidad de modificación. ¿Cuánto esfuerzo se necesita para modificar el código y eliminar un fallo?
  • Estabilidad. ¿Qué tan estable es el rendimiento del sistema después de los cambios?
  • Facilidad de prueba. ¿Cuánto esfuerzo se necesita para probar el sistema?
6. Portabilidad Es la capacidad del sistema de adaptarse a cambios en su entorno.
  • Adaptabilidad. ¿Qué tan fácil es adaptar el sistema a cambios en sus especificaciones?
  • Facilidad de instalación. ¿Qué tan fácil es instalar el sistema?
  • Conformidad. Equivale al cumplimiento dentro de la funcionalidad.
  • Facilidad de sustitución. ¿Qué tan fácil es sustituir un componente en un entorno determinado?

Costo de la calidad del software Las pruebas requieren invertir tiempo, dinero y esfuerzo. Analizar el costo de la calidad del software ayuda a entender el retorno de esa inversión (ROI, por sus siglas en inglés).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Abrir el diagrama a tamaño completo

Costo de la calidad del software

El costo de la calidad incluye costos de conformidad y de no conformidad. Los de conformidad incluyen los siguientes.
  1. Costos de prevención. Son los costos de aplicar correctamente las prácticas de aseguramiento de la calidad, como capacitar al equipo, revisar el código y realizar otras actividades de aseguramiento.
  2. Costos de evaluación. Son los costos de planificar y realizar las pruebas, incluida la preparación y ejecución de casos de prueba.
Los costos de no conformidad surgen de los siguientes tipos de fallo.
  1. Fallos internos. Son los costos que se generan cuando fallan las primeras pruebas internas. Incluyen el trabajo del equipo de desarrollo para corregir defectos detectados en pruebas unitarias o de componentes.
  2. Fallos externos. Son los costos que surgen cuando los clientes detectan defectos que no encontró el equipo de pruebas. Son mucho mayores que los costos de los fallos internos, especialmente si el cliente queda insatisfecho o eleva un fallo a una instancia superior.
Costo de los fallos de software Varios factores pueden contribuir a los fallos del software.
  1. Dificultad para seguir el ritmo. A medida que el software envejece, agregar funciones con código nuevo sin revisar el existente puede hacer que crezca y sea más difícil de mantener. Con el tiempo resulta difícil identificar las secciones que deben cambiar.
  2. El rendimiento puede degradarse cuando cambia el software, su carga de trabajo o sus datos. Por ejemplo, una fuga de memoria puede aumentar el consumo de memoria durante el funcionamiento. Mide el problema e investiga su causa antes de decidir si conviene reparar, actualizar o reemplazar el software.
  3. Una corrección puede introducir una regresión, sobre todo cuando otros componentes dependen del código modificado. Confirma que la corrección resuelve el problema original y prueba el comportamiento afectado. Usa los resultados, el costo del mantenimiento y el impacto en el negocio para decidir cómo proceder.
Pruebas de software y aseguramiento de la calidad En el sector tecnológico se suelen confundir el aseguramiento de la calidad del software y las pruebas. A veces se describe a quienes realizan las pruebas como profesionales de aseguramiento de la calidad, porque ambas actividades buscan un software de alta calidad.
El aseguramiento de la calidad desarrolla y aplica los procesos necesarios para cumplir los requisitos de calidad del cliente y seguir los procedimientos del ciclo de vida del desarrollo. Es proactivo y se centra en los siguientes aspectos.
  1. Prevención de defectos
  2. Procesos
  3. Mejora continua de esos procesos
Las pruebas identifican defectos y errores mediante un examen riguroso del software. Comprueban si hay desviaciones respecto de los requisitos del cliente que deben corregirse. Las pruebas son una parte del control de calidad centrada en el producto. Sirven para identificar defectos. La corrección de esos defectos corresponde a la depuración.

Aseguramiento de la calidad y control de calidad El aseguramiento y el control de calidad están estrechamente relacionados, pero cumplen funciones diferentes. El aseguramiento busca prevenir los problemas mediante procesos. El control se centra en las actividades que detectan y abordan problemas de calidad del producto.
Las pruebas forman parte del control de calidad. El aseguramiento y el control de la calidad contribuyen a la gestión de la calidad. El aseguramiento de la calidad establece y mejora los procesos que ayudan a los equipos a cumplir los requisitos del cliente.

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Abrir el diagrama a tamaño completo

Aseguramiento de la calidad y control de calidad

El control de calidad incluye actividades para verificar y controlar las características del producto y comprobar que el desarrollo cumpla los requisitos definidos. Sus actividades más importantes son examinar y probar el producto.

El equipo de control de calidad identifica los productos o servicios que no cumplen los estándares de calidad de la empresa. Si encuentra un problema, puede detener la producción hasta que se resuelva.

Importancia de las auditorías y las inspecciones

Una auditoría examina sistemáticamente cómo una organización realiza las pruebas de software. Los auditores revisan los procesos documentados y comprueban si la organización o el equipo cumple las normas establecidas.

Una inspección es una revisión formal de un producto de trabajo, como los requisitos, el diseño o el código. Revisores distintos del autor buscan defectos y desviaciones de las normas acordadas. Una inspección típica incluye las siguientes actividades.

  1. Planificación
  2. Revisión general y preparación individual
  3. Reunión de inspección
  4. Correcciones
  5. Seguimiento




¡Te garantizamos que con tu formación gratuita en línea aprobarás el examen de certificación en pruebas de software!

  1. 01

    Inscríbete en línea

    Elige tu certificación acreditada y completa la inscripción.

  2. 02

    Recibe tu código de acceso

    Recibirás tu código personal de acceso al examen de inmediato por correo electrónico.

  3. 03

    Prepárate y haz el examen

    Estudia con tu formación gratuita y responde en línea a 50 preguntas de opción múltiple.

  4. 04

    Obtén tu credencial de por vida

    Recibe tu certificado válido en todo el mundo y una insignia digital verificable.

Ejemplo de Accredited Software Test Manager Certification™
Inscríbete para certificarte

TU FORMACIÓN PRÉMIUM GRATUITA EN LÍNEA

Ya tienes disponible la segunda edición de Software Testing Revealed.

Preparamos esta formación con un grupo de reconocidos líderes empresariales y de equipos, formadores, mentores, expertos y referentes en pruebas de software de todos los sectores principales. Cualquier persona que visite International Software Test Institute™ puede acceder a ella. Encuentra los materiales en las secciones Tu libro gratuito de pruebas de software y Tu formación prémium gratuita en pruebas de software del menú superior.

Estos materiales son propiedad intelectual de International Software Test Institute™ y están protegidos por derechos de autor. Los compartimos gratuitamente con todos porque poner nuestra experiencia al alcance de los profesionales de pruebas de software ayuda a que el sector avance.

Tu examen de certificación consta de preguntas de opción múltiple. Estudia la formación en línea para adquirir los conocimientos que necesitas para aprobar el examen y obtener tu certificación en pruebas de software.

¡Te garantizamos que con tu formación prémium gratuita en línea aprobarás el examen de certificación en pruebas de software!