Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bienvenida
Bienvenidos al tema de ésta semana en la que resaltaremos la clasificación de los atributos dividiéndolos en
externos e internos y así poder seleccionarlos de manera apropiada. Por otro lado veremos la clasificación de las
métricas de calidad y a descripción de algunos modelos de calidad de software.
Introducción al tema
.
Aprendizajes esperados
Actitudes
Valora los atributos de la calidad del software.
Participa en el método de selección y priorización
de atributos en el caso práctico planteado.
Mapa conceptual referido al tema
Observa detenidamente el siguiente esquema, en el encontrarás de un “vistazo” de manera sintetizada los principales concepto de la temática que
abordaremos. ¿Qué conceptos o categorías te llaman la atención?
2.1. Definición de métricas de calidad.
1. Formulación: La obtención de medidas y métricas del software apropiadas para la representación de software en
cuestión.
2. Colección: El mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas.
3. Análisis: El cálculo de las métricas y la aplicación de herramientas matemáticas.
4. Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de
la calidad de la representación.
5. Realimentación: Recomendaciones obtenidas de la interpretación de métricas técnicas trasmitidas al equipo de
software.
2.2. Proceso de recopilación de métricas de software.
Para recopilar las métricas de software que utilizaremos en nuestro proyecto, debemos informarnos acerca de las
categorías en las que se agrupan éstas métricas. A continuación se describen cinco categorías, según Pressman
(2006):
- Funcionalidad entregada: proporciona una medida indirecta de la funcionalidad que se empaqueta con el software.
- Tamaño del sistema: mide el tamaño general del sistema, definido desde el punto de vista de la información
disponible como parte del modelo de análisis.
- Calidad de la especificación: proporciona una indicación de la especificado o el grado en el que se ha completado
la especificación de los requisitos.
- Métricas de Halstead: controversiales pero fascinantes, éstas métricas proporcionan medidas únicas de un
programa de cómputo.
- Métricas de complejidad: miden la complejidad lógica del código fuente (también se consideran métricas de diseño
al nivel de componentes).
- Métricas de longitud: proporcionan un indicio del tamaño del software.
- Métricas de cobertura de instrucciones y ramas: lleva al diseño de casos de prueba que proporcionan cobertura
del programa.
- Métricas relacionadas con los defectos: se concentran en encontrar defectos y no en las propias pruebas.
- Efectividad de la prueba: proporcionan un indicio en tiempo real de la efectividad de las pruebas aplicadas.
- Métricas en el proceso: métricas relacionadas con el proceso que se determinan a medida que se aplican las
pruebas.
La recopilación requiere
información histórica de
los proyectos previos. Una
vez que se han recopilado
las medidas es posible
calcular las métricas.
Posteriormente, las
métricas se evalúan y se
produce un conjunto de
indicadores que guían el
proyecto o proceso. Estos
indicadores se pueden
utilizar para: evaluar la
estabilidad y capacidad
del proceso, interpretar los
resultados de las
observaciones, predecir
costos y recursos para el
futuro, proveer líneas
base, graficar tendencias e identificar oportunidades de mejora.
Una vez obtenidos los indicadores se debe ejecutar un control para verificar que el proceso se comporte
consistentemente, identificar las áreas donde éste se encuentra o no bajo control, y aplicar las medidas correctivas
donde sea necesario. Se debe también analizar los resultados y compararlos con promedios de proyectos similares
anteriores realizados dentro de la organización, para generar conclusiones y establecer tendencias para los
diferentes comportamientos.
2.3. Modelos.
McCall.
FURPS
DROMEY
MOSCA
QSOS.
2.3.1. McCall
Desarrollado por McCall (1977), se focaliza en el producto final, identificando atributos claves desde el punto de
vista del usuario. Estos atributos se denominan factores de calidad y son normalmente atributos externos aunque
también se pueden incluir atributos internos.
2.3.2 FURPS.
Desarrollado por Hewlett-Packard (1987), es un modelo de calidad fijo que establece cinco características como
factores de calidad para todas las actividades del proceso de un software:
- Funcionality (Funcionabilidad): Describen qué es lo que un usuario debe ser capaz de hacer a través del sistema
de software. Incluye características de sistemas, capacidades y seguridad.
- Usability (Usabilidad): La facilidad de uso incluye todos aquellos atributos que facilitan la interacción de un usuario
con el sistema. Puede incluir subcategorías como: Factores humanos, estética, consistencia, documentación.
- Reliability (Confiabilidad): Agrupa los requerimientos que tienen que ver con la solidez y robustez de un sistema
durante su ejecución. Incluye Recuperabilidad.
Precisión y Predicción.
- Performance (Rendimiento): Se refiere a la velocidad del sistema y su eficiencia en utilización de recursos.
Referente también a consumo, productividad y tiempo de respuesta.
- Supportability (Soporte): Incluyen requisitos de instalación y configuración, así como facilidades para mantener y
administrar la operación del sistema.
Se utilizan para establecer métricas de la calidad para todas las actividades del proceso de desarrollo de un
software, inclusive de un sistema de información.
2.3.3 DROMEY.
Resalta el hecho de que la calidad del producto es altamente determinada por los componentes del mismo
(incluyendo documentos de requerimientos, guías de usuarios, diseños, y código). Sugiere el uso de cuatro
categorías que implican propiedades de calidad, que son: correctitud (funcionalidad, confiabilidad), internas
(mantenibilidad, eficiencia, confiabilidad), contextuales (mantenibilidad, reusabilidad, portabilidad, confiabilidad) y
descriptivas (mantenibilidad, reusabilidad, portabilidad, usabilidad).
2.3.4 MOSCA.
Es una herramienta de estimación de la calidad sistémica dentro de una organización desarrolladora de software,
que soporta la administración de la calidad en sus tres actividades: aseguramiento, planeación y control de la
calidad.
Consta de 4 niveles: dimensiones, categorías, características y las métricas. En base de tres ramas: el producto, el
proceso y la humana. Contiene un total de 715 métricas.
2.3.5 QSOS.
Uno de los modelos que permite la cuantificación y calificación de software Open Source es el Method for
Qualification and Selection of Open Source Software (QSOS). Está orientado exclusivamente al producto de
software. Consta de cuatro pasos:
- Definición: Constitución y enriquecimiento de los marcos de referencia que serán utilizados en los pasos
siguientes.
- Evaluación: Evaluación del software hecho de acuerdo a 3 ejes de criterios: cobertura funcional, riesgos del
usuario y riesgos del proveedor de servicios (independientemente de cada usuario particular/ contexto de uso).
- Calificación: Carga de los criterios divididos en 3 ejes, modelando el contexto (requerimientos de usuario y/o
estrategia escogida por el proveedor de servicios).
Selección: Aplicación del filtro configurado en el paso anterior a los datos encontrados en los dos primeros pasos,
de manera de realizar consultas, comparaciones y selección de productos.
Preguntas de análisis
1. ¿El código presentado en la lectura de la prueba de Google en el inodoro, es entendible para cualquier usuario
(cliente que no sabe de programación)? ¿Explica la primera parte del código?
2. ¿Qué solución le daría Ud. al problema de la introducción de un nuevo parámetro en un método?
3. ¿Qué refactorización le haría al segundo fragmento de código para mejorar la calidad?
Al respecto para conocer un poco más sobre este tema, y dar respuesta a las preguntas planteadas a continuación
te invitamos a leer analíticamente la siguiente lectura. http://googletesting.blogspot.com/2015/01/testing-on-toilet-change-
detector-tests.html
Bibliografía
https://mega.co.nz/#!VFYzTQxL!C9A3zSP6JidKcrWir2vMUhxlrrsBk3oybDnrvpDidBU
Fontela, Carlos, (2009). Técnicas de aseguramiento de la calidad del producto. Recuperado de:
https://cysingsoft.wordpress.com/2008/06/24/tecnicas-de-aseguramiento-de-la-calidad-del-producto/
Kshirasagar Naik, Priyadarshi Tripathy (2008). Software Testing and Queality Assurance: Theory and
Practice. Recuperado de: http://www.softwaretestinggenius.com/download/staqtpsn.pdf