Calidad del "software". Factores y métricas. Estrategias de prueba.
Sumario
Introducción
Calidad del software
Concepto de calidad
La definición oficial, y más completa, es la de la norma ISO 8402, que define la calidad, en general, como: "Totalidad de características de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades expresadas o implícitas". Por tanto, tenemos que tener claro que la calidad es multidimensional, y no se trata de un concepto absoluto, ya que el consumidor la juzga con todo relativismo.
Calidad en la ingeniería del software
Para entender el concepto de calidad aplicado al software, podemos apoyarnos en la definición oficial del estándar IEEE Std.610-1990, el cual define la calidad del software como el grado con el que un sistema, componente o proceso cumple:
- Los requisitos especificados.
- Las necesidades o expectativas del cliente o usuario.
Modelos de calidad de software
El carácter multidimensional y relativo de la calidad junto con su complejidad inherente dificultan en gran medida la evaluación formal de la calidad del software. Es por ello que existen modelos de calidad, los cuales establecen como se debe hacer dicha evaluación. Estos generalmente están estructurados como se muestra en la siguiente figura:
De esta forma se aborda la evaluación desde lo general a lo particular. Así mismo, los modelos de calidad de software se clasifican de acuerdo con el enfoque de evaluación o ámbito en:
- Organización
- Proyecto
- Producto
Como ejemplos de modelos de calidad que se aplican en la actualidad en el sector productivo tenemos:
- CMMI (Capability Maturity Model Integration)
- Es de los modelos más utilizados en las empresas de construcción de software, con el propósito de verificar el cumplimiento de estándares de calidad de una organización a partir de la medición con niveles de madurez.
- ISO 25000
- También llamada como SQuaRE, es la sucesora de la norma ISO 9126, la cual estaba basada a su vez en el modelo de McCall. Se muestra continuación en más detalle.
Factores y métricas
Factores
Como hemos visto anteriormente, los modelos de calidad recogen atributos denominados factores de calidad (atributos de alto nivel), los cuales a su vez pueden descomponerse en atributos de bajo nivel denominados criterios de calidad.
Clasificación
Si observamos la forma de medir estos factores los podemos clasificar en dos grandes grupos:
- Factores directos
- Se pueden medir directamente del software. Por ejemplo, podemos estudiar el tiempo que tarda el programa en hacer una tarea, contar el número de errores que tiene nuestro proyecto, etc.
- Factores indirectos
- No se pueden medir directamente del software. Por ejemplo, la facilitad de uso o de mantenimiento.
FURPS
Modelo de calidad fija propuesto por Robert Grady y Hewlett Packard Co (HP) en 1987, tiene en cuenta cinco características a la hora de evaluar la calidad del producto.
Este modelo propone tener en cuenta 5 características como aspecto de calidad para todas las actividades del proceso de desarrollo de un Red de calidad y de los cuales se deriva su nombre:
- Funcionality
- Usability
- Reliability
- Performance
- Supportability
También propone una clasificación de los requisitos en dos categorías:
- Requisitos funcionales
- especifican funciones que el sistema debe ser capaz de realizar sin tener en cuenta las restricciones físicas.
- Requerimientos no funcionales
- puntualizan atributos del sistema o del medio ambiente del sistema
El modelo FURPS fue extendido por IBM Rational Software; el FURPS+ incluye restricciones de diseño, implementación, interfaces y físicos.
| Sigla | Requirimiento (inglés) | Requirimiento (español) | Descripción | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| F | Funcionality | Funcionalidad | |||||||||||
| U | Usability | Usabilidad | |||||||||||
| R | Reliability | Fiabilidad | |||||||||||
| P | Performance | Rendimiento | |||||||||||
| S | Supportability | Soportabilidad | }
Factores definidos en la ISO 25000Como ejemplo, vamos a ver los factores definidos en la ISO 25000 para el producto software y la calidad en uso, los cuales son denominados atributos, y son:
MétricasLos criterios de calidad, a su vez, pueden asociarse con un conjunto de atributos de bajo nivel medibles directamente mediante métricas de calidad. Éstas son imprescindibles en los procesos de aseguramiento de la calidad, ya que difícilmente puede mejorar algo, si no se mide. A continuación, presentaremos algunas de las métricas más utilizadas en la actualidad.
En el sector productivo, para calcular estas métricas, normalmente se utilizan herramientas automáticas de análisis estáticos de código, como por ejemplo SonarQube. Estrategias de pruebaEn este epígrafe sería conveniente contar todo lo relacionado con Pruebas del tema 30 de una forma más sintetizada. ConclusionesLa generación de conocimiento necesita un poso de calidad que se extiende desde el dato mismo hasta el programa desarrollado para interactuar con la información. Las métricas de calidad de software permiten monitorizar un producto para determinar su nivel de calidad, aunque, el seguimiento que este tipo de medidas permiten llevar a cabo brinda la oportunidad de conocer muchas más de una solución. Un enfoque proactivo permite la identificación temprana de errores o defectos que pueden ser corregidos a tiempo, eliminando de raíz problemas mayores. Los efectos positivos empiezan a notarse y sus beneficios aumentan en un ciclo de mejora continúa propiciado por el control de las métricas de calidad de software. Relación con el sistema educativoGS - DAW - DAM -Entornos de Desarrollo (PES) BiografíaReferencias
Relaciones |