Garantía de calidad – garantía de calidad del software

Garantía de calidad – garantía de calidad del software
MIN
14 Jul 2023

Cuando compras cualquier producto, prestas más atención a su calidad, y los productos y servicios de software no son una excepción. Es más probable que las personas utilicen cualquier producto o servicio que satisfaga sus necesidades o les ayude a realizar una tarea. Se frustran si encuentran fallos, errores o un comportamiento inesperado del producto o servicio. Aquí es donde entra en juego el papel de la garantía de calidad.

La garantía de calidad, a menudo conocida por las siglas QA, es un proceso necesario e integral en las pruebas de software. Evalúa los productos de software para comprobar que cumplen las normas básicas y los requisitos de calidad. El término«Garantía de Calidad» se compone de dos palabras: «Calidad» y «Garantía». Comprendamos estos dos conceptos antes de profundizar en la garantía de calidad y sus diversos aspectos.

Índice

¿Qué es la calidad?

Por calidad se entiende el grado de calidad de un producto o servicio informático. Es un indicador que define en qué medida un producto o servicio de software se ajusta a los requisitos y especificaciones especificados por los clientes. Estos requisitos y especificaciones pueden estar relacionados con la funcionalidad, el diseño, el rendimiento, la facilidad de uso, la fiabilidad y la durabilidad. En pocas palabras, evalúa lo bien que un producto o servicio se ajusta a su finalidad.

Además, la combinación de dos actividades que garantizan la calidad de un producto de software es: la validación y la verificación. La verificación comprueba si el proceso utilizado en el desarrollo de software es correcto o no. La validación, por su parte, evalúa un producto para comprobar que cumple los requisitos empresariales y las normas de calidad.

¿Qué es la seguridad?

En general, un valor se refiere a una garantía o promesa de que determinadas cosas ocurrirán definitivamente. En lo que respecta al desarrollo de software, la garantía se refiere a proporcionar seguridad a los clientes de que el producto final cumplirá sus requisitos sin defectos ni deficiencias.

¿Qué es la garantía de calidad?

Combinemos ahora las definiciones de estos dos términos.

Por garantía de calidad o GC se entiende la garantía que ofrece una organización a los clientes designados de que un determinado producto o servicio funcionará como se espera, cumplirá todas las normas de calidad y estará libre de errores y defectos. En otras palabras, la garantía de calidad es un procedimiento que incluye actividades y métodos para garantizar que un producto o servicio cumple las normas de calidad y otros requisitos especificados. Estas normas pueden ser una o una combinación de ISO 9000, CMMI, ISO15504, etc.

Además de la calidad del producto, la GC también garantiza la calidad del proceso utilizado para desarrollar, probar y mantener el producto. Mejora y agiliza el ciclo de vida global del desarrollo de software (SDLC).

Características

  • La garantía de calidad es un proceso estático de análisis de documentos y proceso de desarrollo de software.
  • No incluye la prueba del producto creado.
  • En el contexto de las pruebas, entra dentro de la «verificación» de la garantía de calidad.
  • Responde a la pregunta: «¿Estamos construyendo bien el producto?».
  • La garantía de calidad es una medida preventiva porque identifica las vulnerabilidades al construir el software.
  • Incluye actividades como revisión de documentos, revisión de documentos de prueba, recorridos, auditorías, inspecciones, etc.

Pero, ¿cuáles son exactamente los atributos que forman parte de la calidad del software? Vamos a desglosarlos a continuación.

Atributos de calidad del software

  1. Corrección – La corrección del software se refiere a la coherencia y conformidad del software con los requisitos especificados. Si el software funciona como se espera y proporciona todas las funciones previstas en todos los casos de uso, se considera correcto y funcional.
  2. Fiabilidad – Se refiere a la capacidad de un producto de software para realizar las funciones previstas y funcionar sin problemas y con precisión, sin excepciones, fallos o errores. Un programa informático es fiable si su comportamiento es predecible en todas las condiciones.
  3. Robustez – Es una métrica que determina la capacidad de un producto de software para manejar entradas defectuosas e inválidas y condiciones inesperadas sin fallos ni caídas. Aumenta la seguridad, fiabilidad y facilidad de mantenimiento del producto.
  4. Usabilidad – Es la facilidad de uso de la aplicación informática. Cuanto más fácil sea para los usuarios entender cómo utilizar la aplicación y acceder a sus funciones, mayor será su calidad.
  5. Mantenibilidad – La mantenibilidad es una medida de la cantidad de esfuerzo necesario para mantener el software una vez entregado a los usuarios finales sin comprometer su calidad y funcionalidad. Un software mantenible es un software que se adapta a los cambios con un riesgo mínimo de introducir fallos y errores o de afectar a la funcionalidad existente.
  6. Portabilidad: es la capacidad del software para transformarse de una plataforma, entorno o infraestructura a otra sin afectar a su rendimiento y funcionalidad. El software portátil debe funcionar en diversos sistemas operativos, arquitecturas de hardware y plataformas en la nube. En resumen, debe ser independiente de la plataforma.
  7. Eficacia – La eficacia es una medida del software que determina lo bien que utiliza los recursos para funcionar. Un software eficiente utiliza un mínimo de recursos, mejorando el rendimiento y reduciendo los costes y el consumo de energía.

¿Cómo llevar a cabo la gestión de la calidad (GC)?

La garantía o gestión de la calidad es un proceso continuo o cíclico que consta de las cuatro fases del PDCA: Planificar, Hacer, Comprobar, Actuar.

A continuación hablaremos en detalle de estas fases:

  1. PLANIFICAR – El primer paso es establecer los requisitos y objetivos de calidad, incluidos los requisitos funcionales y no funcionales. A continuación, esboza un plan detallado que incluya todas las actividades, procesos y métodos para cumplir los requisitos de calidad.
  2. HACER – Ahora es el momento de llevar a cabo las actividades previstas en el plan, lo que incluye probar, revisar, analizar y mejorar los procesos.
  3. COMPROBAR – Supervisar la calidad del software una vez realizadas las actividades utilizando sus resultados e informes basados en métricas específicas. Identifica todos los posibles problemas y defectos de calidad.
  4. ACTÚA – Toma las medidas correctoras necesarias para mejorar el proceso.

Este proceso continúa durante todo el ciclo de vida de desarrollo del software.

Beneficios de la garantía de calidad

Algunos de los beneficios notables de la garantía de calidad son los siguientes:

  • Mejora de la calidad – Sin duda, la garantía de calidad mejora significativamente la calidad de un producto o servicio de software, porque ayuda a las organizaciones a asegurarse de que cumplen las normas de calidad.
  • Ahorrar dinero – La garantía de calidad es un marco estructurado que permite a las organizaciones asegurar la calidad de sus productos o servicios. Reduce significativamente los errores, los residuos y las repeticiones, ayudándoles a ahorrar enormes cantidades de dinero.
  • Aumenta la satisfacción del cliente – Cuanto mayor es la calidad de los productos, más satisfechos están los clientes. Porque un producto de calidad cumple sus requisitos.
  • Mayor confianza de los clientes: implicar a los clientes y a las partes interesadas en el control de calidad en los distintos niveles del desarrollo de software aumenta su confianza.

Certificados/normas de garantía de calidad

Los certificados o normas de calidad garantizan que los productos de software se han desarrollado según determinadas directrices y normas y cumplen todos los indicadores básicos de calidad. A continuación se indican algunos certificados de garantía de calidad populares que están disponibles en todo el mundo:

  1. ISO 9000

Es un conjunto de normas internacionales para la gestión y el aseguramiento de la calidad desarrolladas por la Organización Internacional de Normalización (ISO) en 1987. Estas normas sirven de marco para que las organizaciones establezcan, mantengan y mejoren los sistemas de gestión de la calidad y contribuyan a garantizar que sus productos y servicios satisfacen las necesidades de los clientes y los requisitos reglamentarios.

Los siete principios de ISO 9000 son los siguientes:

  • Orientación al cliente
  • Gestión
  • Implicar a las personas
  • Enfoque por procesos
  • Mejorar
  • Toma de decisiones basada en pruebas
  • Gestión de relaciones

El aumento de los beneficios, la mejora del comercio nacional e internacional, la reducción de los residuos, el aumento de la productividad de los empleados y la máxima satisfacción de los clientes son las ventajas de la norma ISO 9000.

  1. Nivel CMMI

CMMI son las siglas de Modelo Integrado de Madurez de Capacidades (CMMI). Es un marco de mejora de procesos que ayuda a las organizaciones a mejorar sus procesos de desarrollo. Es el sucesor del modelo CMM y fue desarrollado por el Instituto de Ingeniería del Software (SEI) de la Universidad Carnegie Mellon. El marco CMMI ha sido ampliamente adoptado por los campos del desarrollo de software, la gestión de proyectos y la ingeniería de software.

Este enfoque de la mejora de procesos se basa en un modelo de madurez que consta de los 5 niveles siguientes:

  • Nivel inicial: El entorno de calidad es inestable y no se documenta ni se sigue ningún proceso.
  • Dirigidos: Los procesos están dirigidos: Los procesos están bien descritos y supervisados.
  • Definidos: Los procesos están bien establecidos, documentados y estructurados.
  • Impulsado cuantitativamente: Se utilizan métodos estadísticos y cuantitativos para medir la calidad del proceso.
  • Optimización: los procesos se mejoran continuamente basándose en las reacciones.

En resumen, CMMI analiza el proceso actual y ayuda a las organizaciones a mejorarlo identificando las áreas susceptibles de mejora.

  1. Modelo de madurez de las pruebas (TMM)

El Modelo de Madurez de las Pruebas (TMM) es un marco para comprobar la madurez del proceso de pruebas de software. Fue desarrollado por el Instituto de Tecnología de Illinois. Consta de los 5 niveles siguientes

  • Inicial: Sólo se utilizan métodos ad hoc, ya que no se ha definido ninguna norma de calidad.
  • Definido: Existen métodos y técnicas de comprobación básicos.
  • Integradas: las pruebas de software están integradas en el ciclo de vida del desarrollo de software.
  • Gestión y medición: la revisión de los requisitos y diseños está en marcha, junto con el establecimiento de criterios para cada nivel de pruebas.
  • Optimizado: Mejora continuamente el proceso de prueba basándote en los comentarios.

¿Qué es el control de calidad?

Junto con la garantía de calidad (GC), el control de calidad (CC) es otro aspecto de la gestión de la calidad. El control de calidad o CC garantiza la calidad de un producto de software examinándolo. En cambio, el control de calidad se refiere a los procesos, métodos y actividades para desarrollar un producto de calidad.

El objetivo principal del control de calidad es detectar defectos o cualquier comportamiento inesperado del producto y corregirlos antes de liberar el producto a los usuarios finales. Garantiza que el producto cumple los requisitos de la empresa y del cliente y es fiable y coherente.

Gestión de calidad (GC) vs. Control de calidad (CC)

Hay una delgada línea entre la gestión de la calidad y el control de la calidad. Por lo tanto, es difícil comprender las diferencias entre ellos. La principal diferencia es que la garantía de calidad se ocupa de los procesos y de la mejora de esos procesos que conducen al producto final. Por el contrario, el control de calidad consiste en analizar el producto final y sus resultados para garantizar que cumple los requisitos especificados.

Hablemos de otras diferencias entre GC y CC.

Garantía de calidad

  • Controla los procesos y mejóralos, hasta llegar al producto final.
  • Evita errores.
  • Actividades centradas en los procesos: auditorías de calidad, definición de procesos, selección de herramientas y formación.
  • La verificación es un ejemplo de garantía de calidad.
  • Interviene en todo el ciclo de vida de desarrollo del software (SDLC).

Control de calidad

  • Controla el producto final y sus resultados.
  • Identifica los errores.
  • Actividades orientadas al producto: recorre, prueba, inspecciona y revisa los puntos de control.
  • La verificación es un ejemplo de control de calidad.
  • Sólo interviene en el ciclo de vida de las pruebas de software (STLC).

Conclusión

Se trataba de la garantía de calidad en las pruebas de software, que consiste en asegurar a los clientes finales que un producto o servicio cumple definitivamente todas las normas de calidad. Incluye un conjunto de actividades y métodos para garantizar que un producto o servicio cumple las normas reglamentarias (ya sea una o una combinación de normas de calidad).

En resumen, la garantía de calidad se centra en desarrollar productos y servicios aptos para su uso. Esperamos que este artículo te haya ayudado a tener una visión detallada de la GC.