Professional Documents
Culture Documents
MATERIAL DE ESTUDIO
2010-II
CALIDAD DE SOFTWARE
CONTENIDO
UNIDAD DIDÁCTICA N° 01
FUNDAMENTOS DE CALIDAD
Introducción
La calidad es el factor básico de decisión del cliente para un número de productos y servicios
que hoy crece en forma explosiva. La calidad ha llegado a ser la fuerza más importante y
única que lleva al éxito organizacional y al crecimiento de la compañía en mercados
nacionales e internacionales. Los rendimientos de programas de calidad fuerte y eficiente
están generando excelentes resultados de utilidades en empresas con estrategias de calidad
eficientes.
ficientes. Esto está demostrado por los importantes aumentos en la penetración del
mercado, por mejoras importantes en la productividad total, por los costos muchos menores
de calidad y por un liderazgo competitivo más fuerte. Cuando se menciona el término
"calidad", por lo general lo asociamos con productos o servicios excelentes, que satisfacen
nuestras expectativas y, más aún, las rebasan. Tales expectativas se definen en función del
uso que se le dará al producto o servicio en cuestión y de su respectivo
respectiv precio de venta.
Cuando un producto mejora nuestras expectativas estamos hablando de calidad. Es decir, se
trata de una cualidad cuya valoración dependerá de lo que se perciba.
Origen de la Calidad
Como nos tienen acostumbrados, los japoneses fueron los pioneros. La II Guerra
Gu Mundial dejó
la economía nipona en una situación catastrófica, con unos productos poco competitivos que
no tenían cabida en los mercados internacionales. Los japoneses no tardaron en reaccionar:
se lanzaron al mercado gracias a la adopción de los sistemas
sistemas de calidad. Los resultados fueron
que Japón registró un espectacular crecimiento. La iniciativa nipona pronto se transmitió a
otras zonas del planeta. Europa tardó algo más, pero también fueron los años 80 los del
impulso definitivo. En 1988 nace la European
European Foundation for Quality Managment (EFQM),
organización que apuesta por los modelos de gestión de calidad total (GTC o TQM),
estrategias encaminadas a optimizar los recursos, reducir costes y mejorar los resultados, con
el objetivo de perfeccionar constantemente
co el proceso productivo. La implantación de la
calidad total es un proceso largo y complicado, supone cambiar la filosofía de la empresa y los
modos de gestión de sus responsables; se debe elegir un problema concreto, y analizar el
punto en donde e esté fallando la empresa.
Concepto de Calidad
Cliente es todo aquel que se ve afectado por lo que haga o deje de hacer. Es aquel que
depende de mí, es decir, tiene una dependencia directa; aquel que me sigue en la línea
(cliente interno) y todos aquellos que me dependen (razón trascendental). Calidad Total no se
limita a unana técnica administrativa o de gestión, sino que su concepción es mucho más
profunda, ya que empieza y termina con las personas, es decir que es una filosofía que se
demuestra en el ser, pensar y actuar de las personas de Calidad. Personas de Calidad
obtienen
nen productos de calidad y brindan servicios de calidad.
Se ha definido al Mejoramiento del personal como una forma de lograr la calidad total, y como
una conversión en el mecanismo viable y accesible al que las empresas de los países en vías
de desarrollo
o cierren la brecha tecnológica que mantienen con respecto al mundo competitivo
y desarrollado. Para mejorar un proceso y llegar a la calidad total, y ser en consecuencia más
competitivos, es necesario cambiar dicho proceso, para hacerlo más efectivo, eficiente
efic y
adaptable. Qué cambiar y cómo cambiar depende del enfoque específico del empresario y del
proceso.
1) Hacer
acer de la calidad un socio pleno e igual de la innovación, desde el comienzo del
desarrollo del producto.
2) Poner énfasis en que el diseño de un producto de alta calidad y el proceso coincidan
en forma ascendente,
ascendente no después spués que la planeación de la manufactura haya
congelado ya las alternativas.
3) Hacer
acer de todos los servicios de los proveedores un socio de calidad al comenzar el
diseño; en lugar de un problema de vigilancia de la calidad, más adelante.
4) Hacer
acer de la aceleración
aceleración de la introducción de un nuevo producto – no su retardo –
una medida primaria de la eficacia del programa de calidad de una compañía. El
cuarto punto fundamental es que la calidad y el costo son complementarios y no
objetivos conflictos del negocio.
Estos
stos fundamentos aclaran que el liderazgo de la calidad es hoy en día la clave del éxito del
negocio de las compañías y que ello se suma a las economías nacionales. En correspondencia,
las iniciativas nacionales y regionales están resultando de importancia creciente en el fomento
del liderazgo de la calidad.
La calidad total es un concepto, una filosofía, una estrategia, un modelo de hacer negocios y
está localizado hacia el cliente. La calidad total no solo se refiere al producto o servicio en sí,
sino que es la mejoría permanente del aspecto organizacional, gerencial; tomando una
empresa como una máquina gigantesca, donde cada trabajador, desde el gerente, hasta el
funcionario del más bajo nivel jerárquico está comprometido con los objetivos empresariales.
Para que la calidad total se logre a plenitud, es necesario que se rescaten los valores morales
básicos de la sociedad y es aquí, donde el empresario juega un papel fundamental,
empezando por la educación previa de sus trabajadores
trabajadores para conseguir una población laboral
más predispuesta, con mejor capacidad de asimilar los problemas de calidad, con mejor
criterio para sugerir cambios en provecho de la calidad, con mejor capacidad de análisis y
observación del proceso de manufactura en en caso de productos y poder enmendar errores. El
uso de la calidad total conlleva ventajas, pudiendo citar como ejemplos las siguientes:
Principios de la Calidad
Factores
ctores esenciales para introducir el Control Total de Calidad
• Conciencia: en todos los niveles de la organización
• Trabajo en equipo: es el pilar de la Calidad, trabajar en mutua cooperación y sin
autoritarismo.
• Control y mejoramiento: mejorar sobre lo medido, ya que solo se puede mejorar lo
que se puede medir. Planes de mejora.
• Sistematización: en busca de la perfección de las actividades de la organización.
• Conocimiento y comparación de costos
• Evaluación: debe ser constante y retroalimentadora, a la vez
vez que debe ser imparcial
sobre los esfuerzos de los trabajadores en la actividad.
• Difusión: se debe comunicar qué se hace y qué pasa en la organización en todos los
niveles.
El Control de la Calidad
Se
e posesiona como una estrategia para asegurar el mejoramiento continuo de la calidad. Es
un programa para asegurar
segurar la continua
conti satisfacción de los clientes externos e internos
mediante el desarrollo permanente de la calidad del producto y sus servicios. Es un concepto
que involucra la orientación de la organización a la calidad manifestada en sus productos,
servicios,
vicios, desarrollo de su personal y contribución al bienestar general. El mejoramiento
continuo es una herramienta que en la actualidad es fundamental para todas las empresas
porque les permite renovar los procesos administrativos que ellos realizan, lo cual
cu hace que
las empresas estén en constante actualización; además, permite que las organizaciones sean
más eficientes y competitivas, fortalezas que le ayudarán a permanecer en el mercado. Para
la aplicación del mejoramiento es necesario que en la organización exista una buena
comunicación entre todos los órganos que la conforman, y también los empleados deben
estar bien compenetrados con la organización, porque ellos pueden ofrecer mucha
información valiosa para llevar a cabo de forma óptima el proceso
proceso de mejoramiento continuo.
La definición de una estrategia asegura que la organización está haciendo las cosas que debe
hacer para lograr sus objetivos. La definición de su sistema determina si está haciendo estas
cosas correctamente. La calidad de los procesos se mide por el grado de adecuación de estos
a lograr la satisfacción de sus clientes (internos o externos).
Cada uno de los conceptos de la estrategia del Control Total de Calidad conlleva muchas
actividades. Por lo tanto se hace necesario
necesario establecer un plano o programa cuyo desarrollo
asegure el éxito de su aplicación en la empresa. Un plan para poner en práctica el Control
Total de Calidad, podría contener las siguientes actividades:
COMPROMISO Y ORGANIZACIÓN.
PLANEACIÓN
2. Visitas a otras empresas o países para visualizar la operación del CTC, por parte de la
alta dirección, los gerentes, así como del director de la oficina de CTC y de los
facilitadores.
3. Establecimiento de una plan adecuado a las condiciones de la empresa y de su
correspondiente calendario de implementación; esta actividad es responsabilidad del
director
ector de la oficina de CTC.
EDUCACIÓN Y ENTRENAMIENTO
PRIMERAS ACCIONES
CALIDAD DE SOFTWARE
Introducción
El desarrollo de sistemas hoy en día ha tomado gran importancia en el mundo, siendo ésta
cada vez más creciente. Si una empresa de software pretende competir a nivel internacional,
es necesario que contemple seriamente la necesidad de realizar una CERTIFICACION
CERTIFIC DE
CALIDAD DEL SOFTWARE Y DEL SISTEMA. Muchos proyectos de sistemas presentan fallas
que impiden que el sistema funcione como era de esperarse o que sea utilizado en su
totalidad. Por ello, es necesario definir e impulsar líneas de acción tendientes a mejorar el
sistema producido. Dentro de estas líneas de acción, está la relacionada con el proceso mismo
del desarrollo del sistema, y como necesidad primordial, la de realizar una investigación que
permita conocer de primera mano el estado en que se encuentra
encuentra su proceso de desarrollo.
ING. FELIPE OMAR ALIAGA CAVERO 8
CALIDAD DE SOFTWARE
La Calidad
Aspectos de la Calidad
La Calidad del Software puede medirse después de elaborado el producto. Pero esto puede
resultar muy costoso si se detectan problemas derivados de imperfecciones en el diseño, por
lo que es imprescindible tener en cuenta tanto la obtención de la calidad como su control
cont
durante todas las etapas del ciclo de vida del software.
La obtención
btención de un Software con Calidad implica la utilización de metodologías o
procedimientos estándares para el análisis, diseño, programación y prueba del software, que
permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad,
mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor
de desarrollo
lo como para el control de la Calidad del Software.
Control de la Calidad
El Control de la Calidad es realizar una observación constante acerca del cumplimiento de las
tareas que pueden ofrecer una calidad objetiva a la forma en cómo se está desarrollando un
proyecto de Ingeniería de Software. Es decir, una
una vigilancia permanente a todo el proceso de
desarrollo y ciclo de vida del software. Esta meta puede alcanzarse mediante frecuentes
inspecciones a las metodologías de trabajo y uso de herramientas, revisiones de prototipos y
evaluación exhaustiva de los productos
productos finales. El Control de la Calidad permite realizar las
rectificaciones pertinentes al desarrollo en cuanto éste empieza a desviarse de sus objetivos,
por lo tanto, de la calidad del trabajo. Estas rectificaciones son posibles gracias a una
retroalimentación
imentación de las etapas superiores, creado así un aprendizaje al observar las salidas
de cada etapa, hasta el producto final, y mejorar los procesos que dan origen al sistema.
En el Control de Calidad deben tenerse presentes los costos que esta involucra. Si se piensa
en las tareas que deben realizarse en este control, puede observase que es necesario llevar a
cabo tareas de búsqueda de problemas, evaluación, realimentación, rectificación, elaboración,
modificación y estudio de la documentación; entre otras
otra actividades.
Pero debe existir un compromiso, ya que un excesivo costo en el control de la calidad puede
hacer que este proceso se torne ineficiente. Pero, por otra parte, el mejoramiento de la
calidad implica reducir los costos ya que se tendría un cierto
cierto nivel de calidad ya asegurado.
Finalmente, y como consecuencia de la naturaleza del proceso de desarrollo de productos
software, el asegurar la calidad en las primeras etapas de este involucra que los costos del
control en las etapas posteriores tenderá
tenderá a disminuir al tener menos aspectos que controlar
pues, nuevamente, la calidad estaría asegurada en sus bases.
Para controlar la Calidad del Software es necesario, definir los parámetros, indicadores o
criterios de medición.
ión. El software posee determinados índices mensurables que son las bases
para la calidad, el control y el perfeccionamiento de la productividad. Una vez seleccionados
los índices de calidad, debe establecerse el proceso de control, que requiere los siguientes
siguie
pasos:
Indicadores para diferenciar los productos de calidad de los que carecen de ella:
La Calidad del Software debe ser una disciplina más dentro de la Ingeniería del software. El
principal instrumento para garantizar la calidad de las aplicaciones sigue siendo el Plan de
Calidad. El plan se basa en unas normas o estándares genéricos y en unos procedimientos
procedi
particulares.
Los procedimientos pueden variar en cada organización, pero lo importante es que estén
escritos, personalizados, adaptados a los procesos de la organización y, lo que es más
importante, que se cumplan. La Calidad del Software debe implementarse a lo largo de todo
el ciclo de vida, debe correr paralela desde la planificación del producto hasta la fase de
producción del mismo.
Las capacidades importantes para un producto de softwaresoftware desde el punto de vista del
usuario, así como los factores que determinan la calidad de cada una de las capacidades son:
• Capacidad de operación con los factores de corrección, facilidad, eficiencia, integridad
y facilidad de uso.
• Capacidad para ser modificado o de revisión con los factores de flexibilidad, facilidad
de prueba y facilidad de mantenimiento.
• Capacidad de transición o de adaptación a otros entornos con los factores de
transportabilidad, capacidad de reutilización y de interoperación.
Calidad
lidad Total en el Proceso de Desarrollo del Sistema
Para alcanzar la "Calidad Total", es necesaria la satisfacción por parte de los elementos que
intervienen en el proceso:
Debe contarse con la gente adecuada, que tenga la suficiente capacidad para realizar el
trabajo, las herramientas de trabajo deben ser confiables, no limitadas y debe tomarse en
cuenta cuanto tiempo se dispone para la elaboración del sistema.
• Claridad
• Involucración
• Planeamiento
• Estándares
• Entrenamiento
• Experiencia
• Controles
• Documentación
• Soporte
• Finalización
Claridad
La definición de lo que se tiene que hacer o lo que el usuario necesita, debe ser clara para
todos los responsables del proyecto,
proyecto, esto con el fin de establecer reglas a seguir.
Involucración
Es necesario revisar cada etapa del proyecto. Para cada una de ellas es importante dejar en
claro si vale la pena continuar o no, si hay limitaciones o restricciones que afecten o impidan
el buen funcionamiento del proyecto y si se está dando el cubrimiento adecuado a todos los
requerimientos y funciones, divisiones o departamentos que están involucrados en la
realización del proyecto.
Planeamiento
En la planificación intervienen tanto los usuarios
usuarios como el personal que desarrolle el proyecto.
Debe planearse el grado de integración que se requiere en las diferentes áreas de la
organización, para interpretar necesidades o requerimientos satisfactorios con el objeto de
llegar a acuerdos en caso dede imprevistos en asuntos tan simples como el método mediante el
cual vamos a poner a trabajar alguna etapa o actividad en el proyecto.
Estándares
Tiene que tomarse en cuenta la forma mediante la cual vamos a trabajar desde el punto de
vista tecnológico, yaa que es necesario tener presente la definición de diversos factores que
afectarían la realización del proyecto, como son:
• Lenguaje de programación
• Manejo de librerías
• Código
• Instrucciones
• Comentarios
• Administración de backups
• Administración de archivos
• Periodicidad
riodicidad de revisiones
• Documentación
Debe quedar clara su definición, los elementos que los deben integrar, así como su
estandarización. Sin una estandarización el proyecto se vendría abajo.
Entrenamiento
El entrenamiento es un factor determinante para la realización de un proyecto, ya que
mediante él se obtienen los conocimientos y habilidades que se aplicarán en el proyecto.
Experiencia
El contar con mucha o poca experiencia, determina el tiempo de desarrollo del sistema así
como la calidad del trabajo que realice (oportunidad - calidad).
Controles
Los controles que se establezcan deben realizarse con alguna periodicidad. Primeramente
debe verse el avance del proyecto; el cumplimiento de los requerimientos del cliente; el
seguimiento y las normas
normas de seguridad y de auditoríaa; la involucración de las personas clave
para el proyecto; el funcionamiento de la aplicación; del desarrollo con el usuario y un punto
importante es la mutua satisfacción entre de la gente que realiza el proyecto con el usuario.
usuar
En este caso puede contarse con un Calendario de Entrega donde contenga los puntos
anteriormente mencionados, así como contar con Bitácoras que respalden las reuniones que
se tengan con los usuarios y los acuerdos a los que hayan llegado ambas partes.
Documentación
Es importante que la documentación que se genere debe ser clara y útil en cuanto al sistema,
ya sean los programas, las tareas del usuario y sus procedimientos, el manejo de la aplicación
y producción y los cuidados con respecto a back-ups,
back ayudas y soporte requerido, la bitácora
de historia respecto a fallas, mejoras, arreglos, etc., contribuyen a una mejor utilización del
sistema, es decir, a una mayor calidad en su operación. Manuales de usuario, técnico y de
operación.
Soporte
Es indispensable
nsable tener claro quién nos puede apoyar en las áreas técnica, de análisis, en el
área usuaria, ya sea en la instalación, en el área ejecutiva o en algún otro aspecto, ya que las
aplicaciones en los proyectos de sistemas enfrentan siempre necesidades críticas
crít de soporte.
Finalización
La finalización del proyecto de un sistema es una de las labores más importantes en el
desarrollo del mismo, de igual manera que en cada etapa. En la finalización del proyecto es
necesario considerar cinco puntos vitales:
• La revisión de todos los pasos realizados y de las etapas incluidas en el proceso total;
• Elaboración del proceso en forma integral;
• Calidad hecha en cada uno de los pasos o etapas del proyecto;
• La atención a los requerimientos del usuario en términos de hacer hace todo lo que él
quiera, o más;
• Y, por supuesto, la satisfacción de nuestro usuario o cliente que, en últimas, es el
reconocimiento a la labor bien realizada y de alta calidad.
Administración de la Calidad
El nivel del proyecto.. Donde las guías que la infraestructura organizativa prevé para las
distintas actividades y mantenimiento del software deben ser adaptadas a las características
concretas del proyecto y de su entorno para ser aplicadas
aplicadas a la práctica. Dentro del primer
nivel de acción, la gestión de la calidad en organizaciones de software ha seguido dos líneas
que pueden ser complementarias entre sí: Por una parte, se ha seguido la línea marcada por
las entidades internacionales de estandarización
estandarización para todas las organizaciones de producción
o servicios. Principalmente se han impuesto en la práctica las directrices marcadas por ISO
(Organization for International Standardization) a través de unas normas ISO 9000 para la
gestión de calidad.
d. En el caso del software es principalmente aplicable la norma ISO 9001. El
sector de software difiere por la naturaleza del producto tanto del resto de sectores
productivos que ha sido necesario crear una guía específica para su aplicación a este sector:
ISO 9000-3.3. El mundo del software ha creado sus propias líneas de trabajo en la gestión de la
calidad, trabaja sobre los procesos de producción como medio para asegurar la calidad del
producto software. Por ejemplo, el SEI (Software Engineering Institute), proponiendo un
modelo de clasificación y mejora de los procesos empleados
empleados por las organizaciones de
software denominado CMM. La Calidad del Software se diseña conjuntamente con el sistema,
nunca al final. A mayor calidad, mayores son los costos, pero mayores también los beneficios
obtenidos en la fase del mantenimiento del software.
software. Este costo hay que considerarlo dentro
de todo el ciclo de vida del proyecto. El aseguramiento de la Calidad de Software engloba un
enfoque de gestión de calidad, tecnología de ingeniería de software efectiva (métricas y
herramientas), revisiones técnicas
técnicas formales que se aplican durante el proceso del software,
una estrategia de prueba multiescalada, el control de la documentación del software y de los
cambios realizados, un procedimiento que asegure un ajuste a los estándares de desarrollo
del software
are (cuando sea posible) y mecanismos de medición y de generación de informes.
Se pueden realizar inspecciones para cada módulo o pequeño grupo de módulos que
conformen un sistema. Al limitar el centro de atención de la RTF la probabilidad
prob de descubrir
errores es mayor.
Calidad en el Diseño
Aquí se plantean características definidas para la realización del producto software que
deberán cumplirse posteriormente. La calidad se basa en definir un listado de especificaciones
a seguir. Involucra descripción de los procesos, tareas y responsabilidades de los equipos de
desarrollo. En esta etapa la calidad aumenta en la medida en que se realiza una alta
especificación de los procesos y se propone una estrecha tolerancia a la modificación,
estableciendo los métodos correctivos a las desviaciones ocurridas. Esta es la medida de la
calidad apreciada por los usuarios finales del entendimiento del producto software. Estas
apreciaciones de calidad hacia un determinado producto elevarán el nivel de confianza para la
organización desarrolladora, lo que puede elevar su posición en el mercado.
UNIDAD DIDÁCTICA N° 02
Introducción
• ISO 9000
• CMM (Estados Unidos)
• Tick It (Inglaterra)
• Bootstrap (Europa)
• ISO/SPICE (Australia)
Estructura General
Además, existen otras normas y entre ellas las más relevantes son:
• ISO 9000-1
1 Guía para la selección de la norma a usar.
• ISO 8402 Recopilación de definiciones. Vocabulario.
• ISO 9000-3
3 Estándares de Administración y Aseguramiento de la Calidad.
El Modelo CMM
A principios de los años 80’s el Departamento de Defensa de los Estados Unidos enfocó sus
tareas a la revisión de los problemas del software y a su mejoramiento. Se
S creó el Instituto de
Ingeniería de Software (SEI) a finales de 1984. Como parte de su trabajo, el Instituto se dio a
la tarea de desarrollar el Modelo de Madurez del Proceso de Software y para 1986 se
comenzó el Proyecto de Evaluación de la Capacidad del Software. Después de varios años de
CMM es un modelo descriptivo en el sentido que describe los atributos esenciales que se
espera caractericen una organización dentro de un nivel de madurez en particular. Es un
modelo normativo ya que las prácticas detalladas caracterizan el tipo t normal de
comportamiento que se espera de una organización que realiza proyectos a gran escala.
El modelo consta de 5 niveles, diseñados de forma que los inferiores proveen unos fuertes
cimientos incrementados de manera progresiva sobre los que se construyen los niveles
superiores.
Estas 5 etapas de desarrollo son referidas como niveles de madurez y en cada una la
organización alcanza una capacidad en el proceso
p superior.
El Modelo Tick IT
El Departamento
artamento de Comercio e Industria del Reino Unido (DTI: Department of Trade and
Industry) creó el esquema Tick IT. Los objetivos primordiales de éste fueron, además de
desarrollar un sistema de certificación aceptable en el mercado, estimular a los
desarrolladores
lladores de software a implementar sistemas de calidad, dando la dirección y guías
necesarias para tal efecto. Aunque el proyecto original estuvo a cargo del DTI1, la
responsabilidad actual por el esquema Tick IT se pasó a DISC, que es una oficina dependiente
dependie
de British Standards Institution (BSI) Standards Division, siendo esta última la única autoridad
en el Reino Unido para publicar estándares.
Un sistema de calidad típico Tick IT deberá contener los elementos que se enlistan a
continuación:
El Modelo BOOTSTRAP
Este se compone de: un modelo, un proceso de evaluación, una base de datos de soporte, un
proceso de mejora y los instrumentos de evaluación. Su enfoque es evaluar el proceso, no el
producto. Para eso se definen un conjunto de características para los procesos,
procesos provee un
análisis cuantitativo, produce vistas analíticas, hace evidente fortalezas y debilidades,
identifica áreas de mejora, provee recomendaciones y sugiere un plan de implementación. El
modelo define el paradigma Organización-Metodología-
Organización Tecnología que se usa en Bootstrap
para los niveles de evaluación y agrupación de resultados.El modelo Bootstrap se basa en
evaluar las unidades de producción de software de la organización, a través de sus proyectos
para hacer un cambio a toda la organización. Dentro
Dentro de este proceso, hay cuatro etapas
principales: preparación, ejecución de la evaluación, determinación del nivel de madurez y
capacidades, y la presentación de resultados de la evaluación.
En la etapa de ejecución,
ejecución las tareas son:
1. una
na breve reunión de apertura, para obtener un enfoque colaborativo con el personal
a ser entrevistado;
2. el llenado de los cuestionarios con características generales de la UPS;
3. el llenado de los cuestionarios del proyecto elegido, incluyendo la evaluación de cómo
el proceso de producción es aplicado;
4. revisión preliminar de la evaluación, y
5. reunión final, con el enfoque de presentar los resultados de la evaluación y obtener el
consenso para poder pasar a la fase de mejoras.
Uso de las Bases de Datos de Soporte. Una de las características principales de Bootstrap
es la base de datos con que cuenta para hacer análisis. Con esto se fundamenta el plan de
mejoras, se pueden medir las adaptaciones a la metodología, se puede comparar contra la
industria y se pueden establecer objetivos basándose en la competencia.
Proceso de Mejora
Otra parte importante de la metodología de Bootstrap, es el plan de mejora que sugiere. El
proceso para obtener el plan de mejora es, Primero evaluar las necesidades de la organización
tomando en cuenta las mejoras deseadas e indicadores sobre calidad del producto y servicio,
tiempo de desarrollo, costos y riesgos del producto
producto y del proyecto. Enseguida hacer una
revisión y análisis de resultados de la evaluación, tomando en cuenta las fortalezas y
debilidades detectadas. Después definir las capacidades a mejorar, considerando un período
entre 18 y 24 meses. Enseguida, definir
definir las prioridades de acuerdo a un análisis de impactos.
Finalmente sobre la base de las actividades definidas, modificar la organización y
responsabilidades para iniciar el cambio, estableciendo un marco de tiempos para su
desarrollo y evaluación.
El Modelo ISO/SPICE
La dimensión PROCESO:
PROCESO
Está organizada jerárquicamente de la siguiente manera: CATEGORÍA DE PROCESOS, que
agrupan procesos
rocesos comunes; PROCESOS, que logran propósitos técnicos; PRÁCTICAS
BÁSICAS, operaciones que conforman un proceso. Las categorías definidas son: Cliente-
Cliente
Proveedor, Ingeniería, Proyecto, Organización y Soporte.
La dimensión CAPACIDAD:
CAPACIDAD
Está organizada ordinalmente
nalmente en niveles de capacidad y se han definido cinco niveles. En la
versión 1.0 éstosestos niveles son: Desempeño informal, Planeación y seguimiento bien
definido, Cuantitativamente controlado, Mejora continua. Está en etapa de instrumentación
una versión 2.0.
Marco de Valor
El Modelo ISO/SPICE tiene un marco de valor explícito. En la dimensión funcional o de
proceso: las "mejores prácticas". En la dimensión de capacidad: los atributos de proceso o
prácticas genéricas
éricas que incrementarán la capacidad del proceso. Este es uno de los
componentes más valiosos del estándar internacional.
Evidencia
La evidencia para la evaluación serán los productos producidos por las prácticas base. Éste es
un enfoque de efectividad… "por sus frutos los conoceréis…". Cada producto tipo ha sido
catalogado y sus características de calidad definidas. Este es otro elemento filosófico
fundamental de ISO/SPICE: no es un modelo nominalista.
Recurrencia
Por último el elemento recurrencia, para fundamentar un juicio o evaluación vendrá dada por
la selección de instancias de proyectos o productos representativas, a juicio del Evaluador, de
las capacidades reales del proceso de software. Conceptualmente el modelo
modelo ISO/SPICE es un
modelo inductivo en su parte funcional: de característica a producto, de producto a práctica, y
de práctica a proceso. En su parte de capacidades es un modelo evolutivo. Es, en general, un
modelo realista: va a ver los productos, es decir,
decir, la efectividad de los procesos no lo que está
escrito en algún manual de calidad o de procesos.
EL MODELO MC-CALL
Introducción
El modelo de McCall organiza los factores en tres ejes o puntos de vista desde los cuales el
usuario puede contemplar la calidad de un producto, basándose en once factores de calidad
organizados en torno a los tres ejes y a su vez cada factor se desglosa en otros criterios:
Puntos
De Vista Factor Criterios
o Ejes
• Facilidad de operación: Atributos del software que determinan la
facilidad de operación del software.
Facilidad de uso
actual de operación.
• Formación: El grado en que el software ayuda para permitir que nuevos
usuarios apliquen el sistema.
• Control de accesos. Atributos del software que proporcionan control de
Integridad
• Consistencia.
Tolerancia a fallos: Atributos del software que posibilitan la continuidad
Fiabilidad
•
del funcionamiento bajo condiciones no usuales.
• Modularidad: Atributos del software que proporcionan una estructura de
módulos altamente independientes.
• Simplicidad: Atributos del software que posibilitan la implementación de
funciones de la forma más comprensible posible.
• Exactitud: La precisión de los cálculos y del control.
• Eficiencia en ejecución: Atributos del software que minimizan el tiempo
Eficiencia
de procesamiento.
• Eficiencia en almacenamiento: Atributos del software que minimizan el
espacio de almacenamiento necesario.
• Modularidad.
mantenimiento
Simplicidad.
Facilidad de
•
• Consistencia.
• Concisión: Atributos del software que posibilitan la implementación de
una función con la menor cantidad de códigos posible.
REVISION DEL PRODUCTO
• Simplicidad.
prueba
• Auto descripción.
• Instrumentación: Atributos del software que posibilitan la observación
del comportamiento del software durante su ejecución para facilitar las
mediciones del uso o la identificación de errores.
• Auto descripción.
Flexibilidad
•
• Modularidad.
• Independencia
ndependencia entre sistema y software: Atributos del software que
determinan su dependencia del entorno operativo.
TRANSICION DEL PRODUCTO
• Auto descripción.
Portabilidad
• Modularidad.
• Independencia
ndependencia entre sistema y software.
• Independencia del hardware.
Antes de comenzar a utilizar el modelo de McCall hay que seguir las siguientes pautas:
Al comienzo
ienzo del proyecto habrá que especificar los requisitos de calidad del producto
software, para lo cual se seleccionarán los aspectos inherentes a la calidad deseada del
producto, teniendo que considerarse para ello:
Factor Beneficio/Coste
Corrección alto
Fiabilidad alto
Eficiencia bajo
Integridad bajo
Facilidad de uso medio
Facilidad de mantenimiento alto
Facilidad de prueba alto
Flexibilidad medio
Portabilidad medio
Reusabilidad medio
Interoperabilidad bajo
♦ La determinación de las etapas del ciclo de vida donde es necesario evaluar cada factor de
calidad para conocer en cuales se dejan sentir más los efectos de una calidad pobre con
respecto a cada uno de los factores.
♦ Las propias interrelaciones entre los factores debido a que algunos factores pueden entrar
en conflicto entre sí: por ejemplo, la eficiencia plantea conflictos prácticamente con todos
los demás factores de calidad. La interacción entre los diversos factores a evaluar queda
reflejada en la tabla I que indica la dependencia entre los factores de McCall.
También habrá que establecer valores deseables para los criterios, para lo cual se emplearán
datos históricos, el promedio en la industria, y con ellos se concretarán
concretarán los valores finales y
otros intermedios o predictivos en cada período de medición durante el desarrollo, así como
unos valores mínimos aceptables.
Una vez finalizado el proyecto será necesario contrastar las medidas predictivas utilizadas y
comprobar si, en efecto, se pueden tomar como indicadores de los valores finales.
1. Corrección: Hasta qué punto un programa cumple sus especificaciones y satisface los
objetivos del usuario. Por ejemplo, si un programa debe ser capaz de sumar dos números
y en lugar de sumar los multiplica, es un programa incorrecto. Es quizás el factor más
importante,e, aunque puede no servir de nada sin los demás factores.
2. Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sin errores del
programa. Por ejemplo, si el programa anterior suma dos números, pero en un 25% de
los casos el resultado que da no es correcto, es poco fiable.
3. Eficiencia: Cantidad de código y de recursos informáticos (CPU, memoria) que precisa un
programa para desempeñar su función. Un programa que suma dos números y necesita 2
MB de memoria para funcionar, o que tarda 2 horas en dar una respuesta, es poco
eficiente.
4. Integridad: Hasta qué punto se controlan los accesos ilegales a programas o datos. Un
programa que permite el acceso de personas no autorizadas a ciertos datos es poco
íntegro.
5. Facilidad de uso: El coste y esfuerzo de aprender
aprender a manejar un producto, preparar la
entrada de datos e interpretar la salida del mismo.
6. Facilidad de mantenimiento: El coste de localizar y corregir defectos en un programa
que aparecen durante su funcionamiento.
7. Facilidad de prueba: El coste de probarr un programa para comprobar que satisface sus
requisitos. Por ejemplo, si un programa requiere desarrollar una simulación completa de
un sistema para poder probar que funciona bien, es un programa difícil de probar.
8. Flexibilidad: El coste de modificación del producto cuando cambian sus especificaciones.
9. Portabilidad (o Transportabilidad): El coste de transportar o migrar un producto de una
configuración hardware o entorno operativo a otro.
10. Facilidad de Reutilización: Hasta qué punto se puede transferir un módulo o programa
del presente sistema a otra aplicación, y con qué esfuerzo.
11. Interoperabilidad: El coste y esfuerzo necesario para hacer que el software pueda
operar conjuntamente con otros sistemas o aplicaciones software externos.
UNIDAD DIDÁCTICA N° 03
Introducción
El estándar ISO 9126 ha sido desarrollado en un intento de identificar los atributos de de calidad
para el software.
ware. El estándar identifica seis atributos clave de calidad:
• Funcionalidad.. El grado en que el software satisface las necesidades indicadas por los
siguientes sub-atributos:
atributos: idoneidad, corrección, interoperavilidad, conformidad y
seguridad.
• Confiabilidad.. Cantidad de tiempo que el software está disponible para su uso. Está
referido por los siguientes sub-atributos:
sub atributos: madurez, tolerancia a fallos y facilidad de
recuperación.
• Usabilidad.. Grado en que el software es fácil de usar. Viene reflejado por los siguientes
sub-atributos:
butos: facilidad de comprensión, facilidad de aprendizaje y operatividad.
• Eficiencia.. Grado en que el software hace óptimo el uso de los recursos del sistema. Está
indicado por los siguientes sub-atributos:
sub atributos: tiempo de uso y recursos utilizados.
• Facilidad de mantenimiento.
mantenimiento. La facilidad con que una modificación puede ser
realizada. Está indicada por los siguientes sub-atributos:
sub atributos: facilidad de análisis, facilidad de
cambio, estabilidad y facilidad de prueba.
• Portabilidad. La facilidad con que el software puede ser ser llevado de un entorno a otro.
Está referido por los siguientes sub-atributos:
sub atributos: facilidad de instalación, facilidad de ajuste,
facilidad de adaptación al cambio.
Los factores ISO 9126 no necesariamente son utilizados para medidas directas. En cualquier casoc
facilitan una valiosa base para medidas indirectas y una excelente lista para determinar la calidad
de un sistema.
1. Corrección: Hasta qué punto un programa cumple sus especificaciones y satisface los
objetivos del usuario. Por ejemplo, si un programa debe ser capaz de sumar dos números
y en lugar de sumar los multiplica, es un programa incorrecto. Es quizás el factor más
importante,
e, aunque puede no servir de nada sin los demás factores.
2. Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sin errores del
programa. Por ejemplo, si el programa anterior suma dos números, pero en un 25% de
los casos el resultado que da no es correcto, es poco fiable.
n
Σ [Eficiencia-UP(i)+Eficencia-UM(i)+Eficencia-T(i)]
[Eficiencia /3
i=1
Eficiencia = 1 -
Número de módulos (n)
4. Integridad: Hasta qué punto se controlan los accesos ilegales a programas o datos. Un
programa que permite el acceso de personas no autorizadas a ciertos datos es poco
íntegro.
Integridad = 1-(número
1 (número de accesos ilegales/número total de accesos)
IMS = [ MT - ( FA + FC + FD ) ] / MT
Donde:
MT: Número de módulos de la versión actual
FC: Número de módulos en la versión actual que han cambiado
FA: Número de módulos en la versión actual que se han añadido
FD: Número de módulos de la versión anterior que se ha borrado en la actual
A medida que el IMS se aproxima
aproxima a 1.0 el producto se empieza a estabilizar. EL IMS
puede emplearse también
también como métrica para la planificación de las actividades
activi de
mantenimiento del software. El tiempo medio para producir una versión de un
producto software puede
pue correlacionarse con el IMS desarrollándose modelos
mode
empíricos para el mantenimiento.
CP = 1-(número
(número de funciones probadas/número total de funciones)
9. Portabilidad (o Transportabilidad):
Transportabilidad): El coste de transportar o migrar un producto de
una configuración hardware o entorno operativo a otro.
Portabilidad = 1-(esfuerzo
1 (esfuerzo para portar/esfuerzo para implementar)
10. Reusabilidad: Hasta qué punto se puede transferir un módulo o programa del presente
sistema a otra aplicación, y con qué esfuerzo.
UNIDAD DIDÁCTICA N° 04
Introducción
CONTROLES ESTÁTICOS
Estas actividades las realizan los propios autores de los objetos a comprobar, o personas de
su misma categoría y ocupación.
Auditorias
eficacia del equipo que trabaja en un proyecto así como la efectividad de los
métodos y herramientas utilizados.
El procedimiento habitual para realizar una auditoría consta de los siguientes pasos:
- ¿Por qué se realiza la auditoría? Puede ser una auditoría de rutina o puede realizarse
para resolver problemas concretos.
- ¿Para qué se realiza? para mejorar, para conseguir una certificación,... ¿Cuál
es el producto que va a ser auditado?
- ¿Qué resultados se esperan de la auditoría? En principio, una auditoría debería
identificar situaciones problemáticas, tales como desviaciones del estado actual con
respecto al estado deseado, y sugerir posibles soluciones o mejoras.
¿Cómo y dónde se van a utilizar los resultados de la auditoría?
- ¿Quiénes son los responsables de llevarla a cabo?
¿De qué forma se va a llevar a cabo? Incluyendo una especificación de los datos que
se van a recoger y de qué forma se van a recoger.
¿Cuándo se va a realizar?
2. Llevar a cabo la investigación. Por lo general la auditoría se inicia con una reunión de
apertura de la investigación, y se lleva a cabo mediante entrevistas y revisiones en las que se
recopilan datos.
5. Elaborar
aborar y presentar un informe de resultados.
Revisiones
Se puede definir una revisión como una reunión formal en la que se presenta el estado actual
de los resultados de un proyecto a un usuario, cliente u otro tipo de persona interesada, y se
realiza un análisis estructurado de los mismos.
Uno de los objetivos fundamentales de las revisiones técnicas es ofrecer a los gestores
información fiable acerca de los aspectos técnicos del proceso de desarrollo de software, de la
misma forma que les llega información
información fiable acerca de los costes y la programación del
trabajo, para que con esta información puedan tomar decisiones adecuadas para dirigir con
éxito el proyecto.
Con las revisiones se consigue que el peso de la evaluación técnica no recaiga sobre las
mismas
ismas personas involucradas en la producción del software, que por la posición que ocupan
no pueden ser totalmente objetivas, sino en otras personas técnicamente competentes y
objetivas.
Las revisiones son, hoy en día, el único método de control de calidad eficaz en las fases
iniciales del desarrollo a la hora de identificar desviaciones con respecto a las especificaciones
de calidad.
Las revisiones redundan en una mejora directa de la calidad del objeto que se examina y
provocan, indirectamente, una mejora de la calidad del proceso de desarrollo, al facilitar la
comunicación entre los miembros del equipo de desarrollo. Al mismo tiempo facilitan el control
del coste y el tiempo.
Las diferencias más importantes entre las revisiones y las auditorías son las siguientes:
si
- Las revisiones se llevan a cabo desde las primeras fases del desarrollo, mientras que las
auditorías se llevan a cabo en las fases finales.
Tipos de revisiones
Hay dos tipos fundamentales de revisiones: las inspecciones y los walkthrough. La diferencia
entre ellos está en la forma en que se desarrolla la reunión de revisión.
- Inspecciones: En las que los participantes van leyendo el documento, paso a paso,
guiados por el autor del mismo, y comprobando en cada paso el cumplimiento de los
criterios de una lista de comprobación.
- Las inspecciones se planifican y procesan de una manera mucho más formal que los
walkthrough. Se usan para asegurar la satisfacción de los criterios de salida
establecidos entre diferentes etapas del desarrollo (revisiones de fase).
- Punto por punto de la lista de comprobación, revisando todo el producto para cada
uno de ellos.
- Componente a componente del producto, revisando todos los puntos de la lista de
comprobación para cada componente.
- Por grupos de puntos dentro de la lista de comprobación, revisando todo el producto
para cada grupo.
- Cualquier otra solución intermedia
Los defectos que se detecten durante este proceso se añaden a una lista de acciones
pendientes.
Hay que tener en cuenta que el objetivo de una inspección es descubrir defectos, no
corregirlos. Por otro lado, los revisores deben restringirse a los hechos y ser constructivos. Es
misión del moderador asegurarse de que esto se cumple.
cumpl
5. Seguimiento: Durante esta fase, el autor del objeto revisado se encarga de corregir los
defectos encontrados y generar un informe en el que se especifican las acciones correctivas
realizadas para eliminar los distintos defectos.
6. Evaluación: Es la última fase y en ella se trata de determinar si se han corregido todos los
defectos y si han surgido nuevos problemas durante el proceso de corrección. El moderador
se encarga de realizar la evaluación y enviar un informe a la dirección una vez finalizada.
Algunos de los informes o documentos que pueden generarse como resultado de una
inspección son los siguientes:
- Qué se ha revisado
- Quién lo ha revisado
- Cuál fue la conclusión
Fases en un Walkthrough:
El proceso para realizar un walkthrough es mucho más sencillo y consta de tan sólo tres
fases:
3. Reunión de walkthrough
La siguiente tabla resume las fases de inspecciones y walkthrough e indica los objetivos que
se persiguen en cada una de ellas:
Inspección Walkthrough
Se puede diferenciar también entre las revisiones formales e informales. Se dice que una
revisión es formal cuando:
- Es un evento público
- Se informa por escrito de los resultados
- Todos los participantes son responsables de la calidad de la revisión.
La ventajaja de realizar revisiones formales es que los informes que se generan sirven
como hitos para el proyecto, y el hecho de ser algo público promueve una mejor
preparación por parte de los participantes. Por contra, la formalidad hace que este tipo de
reunioness sean un tanto impersonales.
Para evitar que los participantes se sientan intimidados por el ambiente impersonal y
expresen libremente sus opiniones se pueden utilizar técnicas como el Round-robin,
Round que
consiste en ir pasando el tumo de uno a otro por todos los participantes en la revisión.
Por otro lado, según el objeto que se revise, se suele diferenciar entre las revisiones con
orientación técnica y las revisiones
revisiones orientadas a la gestión (también conocidas como
revisiones de proyecto).
Los principales objetivos que se buscan con las revisiones de proyecto, por otro lado, son los
siguientes:
- Control de la progresión del proyecto
- Evaluación de los riesgos asociados al proyecto, con relación al coste, escala de
tiempos, recursos utilizados y calidad del producto.
- Evaluación general del producto.
Para que esto sea posible es
necesario:
- Que exista un plan de desarrollo bien estructurado, con hitos bien definidos, que
permita evaluar la progresión del proyecto.
- Que los resultados del proyecto se encuentren bien documentados y hayan sido
ya examinados en una revisión técnica.
A continuación vamos a examinar en más detalle las revisiones técnicas más comunes.
Algunas de las preguntas que podrían encontrarse en una lista de comprobaciones para la
especificación
cificación de requisitos son las siguientes:
Se suele diferenciar entre la revisión del diseño preliminar o de alto nivel y la revisión del
diseño detallado.
etallado. El objetivo de estas revisiones es determinar y evaluar el estado en el que
se encuentra el proceso de diseño, así como descubrir errores o contradicciones (entre la
especificación de requisitos y el diseño o en las interfaces entre módulos)
Algunas
nas de las preguntas que podrían encontrarse en una lista de comprobaciones para el
diseño son las siguientes:
Las revisiones del código suelen tomar la forma de revisión por pares o inspección, y uno de
sus objetivos es determinar que el código se corresponde con el diseño detallado realizado.
Algunos de los aspectos que se examinan en una revisión de código son los siguientes:
- interfaces
- estructura del programa
- utilización de variables
- fórmulas
- entradas y salidas
- comentarios
- adherencia a los estándares de codificación
Las revisiones de código se basan en la lectura del mismo, lo que exige de los programadores
un esfuerzo para hacerlo legible.
Los estudios realizados demuestran que, mediante las inspecciones
inspecciones de código, más de la
mitad de los errores de programación se pueden detectar antes de pasar a la prueba modular
y que los programas que han pasado por una inspección de código contienen
considerablemente menos errores.
El objetivo de la revisión del diseño de la prueba es comprobar que el diseño realizado para la
prueba está de acuerdo con los objetivos que se persiguen. Se deben comprobar aspectos
como:
- ¿Se han tenido en cuenta todos los objetivos a la hora de diseñar los casos de
prueba?
- ¿Se han elegido los casos de prueba más adecuados para comprobar la consecución
de dichos objetivos?
Los objetivos
vos de las inspecciones de las pruebas, por su parte, son:
Verificación formal
Por lo general, esta técnica sólo se utiliza para sistemas críticos, debido al coste que conlleva.
Los métodos de verificación formal de programas más conocidos son los basados en la lógica
de Hoare [Hoare, 1969], los basados en la aproximación de Dijkstra [Dijkstra, 1989] y la
aproximación funcional de Milis [Milis, 1987].
CONTROLES DINÁMICOS
Introducción
Se llama controles dinámicos a aquellos que requieren la ejecución del objeto que se está
probando o de un modelo del mismo.
Hasta la fecha no se ha desarrollado ninguna teoría universalmente aceptada acerca de la
prueba de software. Lo único que hay es un conjunto de aproximaciones metodológicas que
facilitan y hacen más eficiente el proceso de prueba.
Se llama PRUEBA del Software al proceso en el que se ejecuta un sistema con el objetivo de
detectar fallos.
El coste de detección de los defectos suele ser mucho mayor que el coste de corrección de los
mismos, y este es un punto en contra de las pruebas como técnica de control de calidad, ya
que siempre es necesario un paso de diagnóstico hasta que se localiza la causa de los fallos.
En otras actividades de control de calidad, por el contrario, como pueden ser las revisiones, se
localizan directamente los defectos, no sus síntomas, por lo que nos ahorramos el proceso de
diagnóstico.
Aunque la prueba es una parte importante del Control de Calidad, es importante darse cuenta
de que no es la única.
A continuación veremos cuáles son las actividades que es necesario realizar para probar un
sistema software, y cuáles son los principales métodos de prueba que se pueden utilizar.
Tipos de pruebas
La prueba modular consiste en la prueba de cada módulo aislado del resto del sistema.
La prueba de integración se realiza a medida que los diferentes módulos del sistema se
integran en el mismo. Ya se ha realizado la prueba modular, y se supone que todos
módulos son correctos. El objetivo fundamental de esta prueba es comprobar que las
interfaces entre los distintos
distintos módulos son correctas. Algunas de las comprobaciones que
es necesario realizar son:
La prueba del sistema se realiza cuando se han integrado todos los módulos, y su objetivo
es comprobar que el sistema satisface los requisitos del usuario, tanto los funcionales
fun
como los no funcionales.
A continuación vamos a ver los dos grupos en que se clasifican los métodos de prueba:
En este tipo de métodos, el objeto que se desea probar se ve como una caja negra. Esto
quiere decir que la elección de los casos de prueba no se va a basar en el conocimiento que
se tenga acerca de la estructura del objeto, sino en el conocimiento acerca de la funcionalidad
deseada (descripción funcional). A la prueba de caja negra también se le llama prueba
funcional o prueba
rueba orientada al diseño. Una prueba de caja negra exhaustiva requeriría la
generación de un caso de prueba por cada combinación posible (válida o no válida) de los
valores de entrada, lo cual resulta imposible en la mayor parte de los casos por producirse
producirs
una explosión combinatoria. Por eso se utilizan diferentes criterios a la hora de restringir el
conjunto de casos de prueba. Los métodos de selección del conjunto de casos de prueba más
usuales son:
Adivinación de errores
Consiste en tratar de imaginar cuáles son los errores que se pueden haber cometido
con mayor probabilidad, y generar casos de prueba para comprobar dichos errores.
En este tipo de métodos, el objeto que se desea probar se ve como una caja blanca. Esto
quiere decir que la elección de los casos de prueba se va a basar en el conocimiento que se
tenga acerca de la estructura del objeto (diseño detallado, diagramas de flujo de datos y de
control, código fuente). A la prueba de caja blanca también se le llama prueba estructural. Los
métodos de caja blanca se pueden clasificar, a su vez, en dos grupos: grupo Los basados en
métricas de cobertura y los basados en métricas de complejidad
Todo programa se puede representar mediante un grafo de flujo de control, donde cada nodo
es una sentencia o una secuencia de sentencias.
sentencias. Los arcos dirigidos en el grafo representan el
flujo de control. Para cada conjunto de datos de entrada el programa se ejecutará a través de
un camino concreto dentro de este grafo. Cuando el programa incluye estructuras iterativas,
el número de posibles caminos en el grafo puede ser infinito. Una prueba de caja blanca
exhaustiva requeriría la generación de un caso de prueba por cada posible camino. Como esto
no es posible, por lo general, se utilizan métricas que dan una indicación de la calidad de un
determinado conjunto de casos de prueba en función del grado de cobertura del grafo que
consiguen. Las métricas más utilizadas son:
- Cobertura de sentencias
- Cobertura de segmentos entre decisiones.
- Cobertura de decisiones de ramificación
- Cobertura
rtura de condiciones
- Cobertura de todas las combinaciones de condiciones
- Cobertura de caminos
Las métricas de complejidad más utilizadas en la generación de casos de prueba son las de
MacCabe:
- Complejidad ciclomática (arcos - nodos + 2 * número de componentes conexos)
- Complejidad esencial (complejidad ciclomática - número de subgrafos propios
de entrada y salida única)
- Complejidad real (número de caminos ejecutados)
Metodología de prueba
Cada
ada uno de los diferentes tipos de prueba implica la realización de un conjunto de
actividades estándar, así como la producción de un conjunto de salidas estándar.
2. Diseño de la prueba: Esta actividad consiste en dar instrucciones detalladas acerca de:
- cómo llevar a cabo la prueba para alcanzar los objetivos deseados,
- de qué forma se van a utilizar los métodos de prueba,
- qué objetos se van a probar en cada
c una de las pruebas y
- qué criterios se van a utilizar para determinar si el objeto pasa o no pasa la prueba.
5. Ejecución de la prueba: Esta actividad consiste en ejecutar cada caso de prueba, según
el procedimiento especificado en el paso anterior, y registrar los incidentes o problemas
encontrados durante la misma.
== FIN DE LA ASIGNATURA ==