CALIDAD DE SOFTWARE

MATERIAL DE ESTUDIO

ING. FELIPE ALIAGA CAVERO

2010-II

CALIDAD DE SOFTWARE

CONTENIDO

UNIDAD DIDÁCTICA N° 01:
FUNDAMENTOS DE LA CALIDAD DEL SOFTWARE

UNIDAD DIDÁCTICA N° 02:
MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE

UNIDAD DIDÁCTICA N° 03:
MÉTRICAS DE CALIDAD DEL SOFTWARE

UNIDAD DIDÁCTICA N° 04:
EJECUCIÓN DEL CONTROL DE CALIDAD DE SOFTWARE

ING. FELIPE OMAR ALIAGA CAVERO

2

CALIDAD DE SOFTWARE

UNIDAD DIDÁCTICA N° 01 FUNDAMENTOS DE LA CALIDAD DE SOFTWARE

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. Esto está demostrado por los importantes aumentos en la penetración del ficientes. 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 respectiv precio de venta. respectivo 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. De acuerdo a la norma A3 – 1987 ANSI / ASQC, Calidad es la totalidad de aspe aspectos y características de un producto o servicio que permiten satisfacer necesidades implícita o explícitamente formuladas. Estas últimas se definen mediante un contrato, en tanto que las primeras se definen según las condiciones que imperen en el mercado, aunque es necesario también determinarlas y definirlas. Debido a la gran variación de resultados de calidad, la búsqueda genuina del éxito en la calidad se ha convertido en un asunto de gran interés en la administración de las compañías de todo el mundo. Y la experiencia está abriendo una base fundamental para lograr ese éxito. . La calidad es en esencia una forma de administrar a la organización. Como finanzas y mercadotecnia, la calidad ha llegado a ser ahora un elemento esencial de la administración moderna. Y la eficiencia en la administración de la calidad se ha convertido en una condición erna. necesaria para la eficiencia de la administración industrial en sí. Origen de la Calidad Como nos tienen acostumbrados, los japoneses fueron los pioneros. La II Gu Guerra 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 de calidad. Los resultados fueron sistemas 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 Foundation for Quality Managment (EFQM), European 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 co constantemente 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 esté fallando la empresa. e ING. FELIPE OMAR ALIAGA CAVERO

3

CALIDAD DE SOFTWARE Los principios de gestión de la calidad total son sencillos de entender, pero complicados de asimilar: • El sistema parte de la búsqueda de la satisfacción del cliente, en todos sus aspectos. • Un primer paso es la búsqueda de la calidad de los productos/servicios. calidad • Pero habrá que tener en claro que el producto/servicio ya no será el punto principal de calidad. Los principios elementales son los siguientes: • De poco sirve imponer de forma autoritaria la mejora en cada puesto de tra trabajo. • La calidad la produce el último eslabón que termina el producto ó que está en contacto con el cliente pero nunca el director general. • El directivo tiene que estar convencido de la necesidad de la calidad. Concepto de Calidad Es cuando en una organización se determinan las actividades y los integrantes de la misma se encuentran haciendo lo que tienen que hacer, lo están haciendo bien, para brindarle una satisfacción total al cliente. Análisis del concepto “haciendo lo que tienen que hacer”, se refiere a: • Determinación de las actividades • Conocimiento de los requisitos a cumplir • Adiestramiento sobre esos requisitos (capacitación) • Cumplimiento estricto de esos requisitos Si se conocen los requisitos no se necesita supervisión, ya que se sabe qué hacer. “lo están haciendo bien” Implica la predisposición o la integración de la organización (el compromiso). Es la diferencia entre tener y querer ir a trabajar, creando un mejor ambiente de trabajo. “brindar satisfacción total al cliente” Calidad Total es cuando en la organización, los integrantes se encuentran cumpliendo exactamente con todos los requisitos establecidos y normalizados hacia la del la búsqueda del Cero Defecto, para brindarle satisfacción total al cliente. 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 una técnica administrativa o de gestión, sino que su concepción es mucho más na 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 productos de calidad y brindan servicios de calidad. nen 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 cierren la brecha tecnológica que mantienen con respecto al mundo competitivo o 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, efic eficiente y adaptable. Qué cambiar y cómo cambiar depende del enfoque específico del empresario y del proceso. LA CLAVE DEL ÉXITO ES LA CALIDAD TOTAL DE MANTENER SISTEMÁTICAMENTE VENTAJAS QUE LE PERMITAN ALCANZAR DETERMINADA POSICIÓN EN EL ENTORNO SOCIOECONÓM SOCIOECONÓMICO. ING. FELIPE OMAR ALIAGA CAVERO

4

con mejor capacidad de análisis y observación del proceso de manufactura en caso de productos y poder enmendar errores. Reduce los costos aumentando la productividad. hasta el funcionario del más bajo nivel jerárquico está comprometido con los objetivos empresariales. conocimientos y atributos. Para que la calidad total se logre a plenitud. empezando por la educación previa de sus trabajadores para conseguir una población laboral trabajadores más predispuesta. con mejor criterio para sugerir cambios en provecho de la calidad. de los que dispone dicha empresa.CALIDAD DE SOFTWARE El término calidad total es muy utilizado en los medios empresariales. políticos y socioeconómicos en general. El en uso de la calidad total conlleva ventajas. En correspondencia. desde el comienzo del acer desarrollo del producto. pudiendo citar como ejemplos las siguientes: • • • Potencialmente alcanzable si hay decisión del más alto nivel. en las de reciente creación o en las maduras y en general en cualquier clase de organización. que hace posible la obtención de unos menor rendimientos superiores a los de aquellos. Cumplir con los requisitos. donde cada trabajador. o sea. Principios de la Calidad 1. expansivo y proactivo. Para ello los directivos deben: • Establecer los requisitos a cumplir ING. una filosofía. etc. Estos fundamentos aclaran que el liderazgo de la calidad es hoy en día la clave del éxito del stos negocio de las compañías y que ello se suma a las economías nacionales. Por otra parte. Mejora la relación del recurso humano con la dirección. donde el empresario juega un papel fundamental. ¿Qué es Calidad Total? La calidad total es un concepto. La calidad total no solo se refiere al producto o servicio en sí. recursos. con mejor capacidad de asimilar los problemas de calidad. 2) Poner énfasis en que el diseño de un producto de alta calidad y el proceso coincidan en forma ascendente no después que la planeación de la manufactura haya ascendente. gerencial. es necesario que se rescaten los valores morales básicos de la sociedad y es aquí. spués congelado ya las alternativas. en lugar de un problema de vigilancia de la calidad. tomando una empresa como una máquina gigantesca. el concepto de éxito nos hace pensar en la idea "excelencia". las iniciativas nacionales y regionales están resultando de importancia creciente en el fomento del liderazgo de la calidad. 3) Hacer de todos los servicios de los proveedores un socio de calidad al comenzar el acer diseño.. los mismos de los que carecen sus competidores o que estos tienen en menor medida. FELIPE OMAR ALIAGA CAVERO 5 . una estrategia. desde el gerente. El cuarto punto fundamental es que la calidad y el costo son complementarios y no objetivos conflictos del negocio. con características de eficiencia y eficacia de la organización. más adelante. 4) Hacer de la aceleración de la introducción de un nuevo producto – no su retardo – acer aceleración una medida primaria de la eficacia del programa de calidad de una compañía. La ventaja comparativa de una empresa estaría en su habilidad. un modelo de hacer negocios y está localizado hacia el cliente. El uso de estos conceptos supone una continua orientación hacia el entorno y una actitud estratégica por parte de las empresas grandes como en las pequeñas. sino que es la mejoría permanente del aspecto organizacional. A ello se debe la ampliación del marco de referencia de nuestros agentes económicos que han pasado de una actitud auto protectora a un plant planteamiento más abierto. El Concepto de Calidad Total tiene Cuatro Etapas: 1) Hacer de la calidad un socio pleno e igual de la innovación.

La medida de la Calidad es el precio por el incumplimiento Factores esenciales para introducir el Control Total de Calidad ctores • Conciencia: en todos los niveles de la organización • Trabajo en equipo: es el pilar de la Calidad. si de de verdad la empresa desea alcanzar el éxito debe cimentarse en estas dos palabras. Es un concepto que involucra la orientación de la organización a la calidad manifestada en sus productos. • Sistematización: en busca de la perfección de las actividades de la organización. • Los Clientes. • Conocimiento y comparación de costos • Evaluación: debe ser constante y retroalimentadora. y. Los fundamentos de la calidad total son los siguientes: • El objetivo básico: la competitividad • El trabajo bien hecho. pocos en su importancia y son menos los que la practican. Es e un programa para asegurar la conti segurar continua satisfacción de los clientes externos e internos mediante el desarrollo permanente de la calidad del producto y sus servicios. participación y reconocimiento. lo cu hace que cual ING. El Control de la Calidad Se posesiona como una estrategia para asegurar el mejoramiento continuo de la calidad. • Los Proveedores. El mensaje de la calidad total debe ser comunicado a tres audiencias que son complementarias entre sí: • Los Trabajadores. La calidad total en la organización de una empresa. Planes de mejora. continuo es una herramienta que en la actualidad es fundamental para todas las empresas porque les permite renovar los procesos administrativos que ellos realizan. • La Mejora continuada con la colaboración de todos: responsabilidad y compromiso individual por la calidad. desarrollo de su personal y contribución al bienestar general. servicios. • Indicadores de gestión. sino de que el cliente opine igual y esté cliente satisfecho. información. FELIPE OMAR ALIAGA CAVERO 6 . • Control y mejoramiento: mejorar sobre lo medido. precio. • Todos creen en su concepto. a la vez que debe ser imparcial vez sobre los esfuerzos de los trabajadores en la actividad. trabajar en mutua cooperación y sin autoritarismo. Los obstáculos que impiden el avance de la calidad pueden ser: • El hecho de que la dirección no defina lo que entiende por calidad. • El trabajo en equipo es fun fundamental para la mejora permanente • Comunicación. La Calidad es la Prevención. debe ser el nervio y motor d la misma. El mejoramiento vicios. El estándar de realización es el Cero Defectos 4. • Seguimiento de resultados. • Satisfacer las necesidades del cliente: calidad. • Fijación de objetivos de mejora. • No se trata de hacer bien las cosas. • Prevención del error y eliminación temprana del defecto. • Difusión: se debe comunicar qué se hace y qué pasa en la organización en todos los niveles.CALIDAD DE SOFTWARE • Suministrar los medios necesarios para que los empleados cumplan necesarios • Motivar y estimular para que los requisitos sean cumplidos 2. ya que solo se puede mejorar lo que se puede medir. no la verificación 3. plazo.

la importancia del cliente. 1. el valor del recurso humano. Organización de un comité directivo o de un consejo. Establecer el sistema de medición. Un plan para poner en práctica el Control Total de Calidad. FELIPE OMAR ALIAGA CAVERO 7 . Establecimiento del compromiso de la alta dirección con la implementación del CTC y compromiso con las actividades de los círculos de control de calidad. Debe establecerse el por que de esta decisión. alcanzando tal grado de relevancia que iguala e incluso supera en ocasiones al factor precio. lo vital del ciclo de control y aspectos similares. Esto supone la permanente adaptación de todos nuestros procesos productivos y comerciales a dichas necesidades. El término calidad se ha convertido en una de las palabras clave de nuestra sociedad. fortalezas que le ayudarán a permanecer en el mercado. se deberán desarrollar los siguientes pasos: a) b) c) d) e) f) g) Elegir qué controlar. permite que las organizaciones sean más eficientes y competitivas. La definición de su sistema determina si está haciendo estas cosas correctamente. Estos últimos son el apoyo metodológico para la implantación del CTC en toda la organización. Por lo tanto se hace necesario establecer un plano o programa cuyo desarrollo necesario asegure el éxito de su aplicación en la empresa. Designación de los miembros del comité de CTC. PLANEACIÓN 1. si queremos seguir contando con comerciales SU FIDELIDAD. Determinar las unidades de medición. la necesidad de del optimizar recursos y tecnología. además. Para el efecto. Medir el desempeño actual. sus beneficios. Tomar acción sobre la diferencia. Es el proceso de alcanzar los objetivos de calidad durante las operaciones. Designación del director de la oficina de CTC así como de los facilitadores de CTC. sino que evolucionan de forma continua. así como e para la promoción CTC. 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. Establecer los estándares de desempeño. 4. Interpretar la diferencia entre lo real y el estándar. Establecimiento de la política de implementación del CTC y del programa para lograrlo. en cuanto a la importancia otorgada por el posible comprador de un producto o servicio. proceso La definición de una estrategia asegura que la organización está haciendo las cosas que debe hacer para lograr sus objetivos. 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). ING.CALIDAD DE SOFTWARE las empresas estén en constante actualización. Para ello es básico conocer los conceptos básicos de CTC. Esto debe hacerlo el comité o el consejo. 3. 5. Pasos para poner en marcha el Control de Calidad Cada uno de los conceptos de la estrategia del Control Total de Calidad conlleva muchas actividades. y también los empleados deben estar bien compenetrados con la organización. podría contener las siguientes actividades: COMPROMISO Y ORGANIZACIÓN. Organización de una oficina de CTC para los miembros del comité o consejo. 2. Las necesidades de quienes compran nuestros productos o servicios no son estáticas. porque ellos pueden ofrecer mucha información valiosa para llevar a cabo de forma óptima el proceso de mejoramiento continuo.

es necesario que contemple seriamente la necesidad de realizar una CERTIFIC CERTIFICACION DE CALIDAD DEL SOFTWARE Y DEL SISTEMA. 2. con ayuda de los subordinados de cada sector. staff y supervisores. Realización de eventos educativos para los supervisores. por parte de la oficina d de CTC. FELIPE OMAR ALIAGA CAVERO 8 . los gerentes. esta actividad es responsabilidad del director de la oficina de CTC. 3. ADMINISTRACIÓN POR POLÍTICA Y ESTANDARIZACIÓN. ector EDUCACIÓN Y ENTRENAMIENTO 1. enfrentamiento con los proyectos críticos o importantes para el mejoramiento. encuentra ING. Visitas a otras empresas o países para visualizar la operación del CTC. PRIMERAS ACCIONES 1. 2. al director de la oficina de CTC y a los facilitadores de CTC. Realización de actividades educativas dirigidas a la gerencia. siendo ésta cada vez más creciente. está la relacionada con el proceso mismo del desarrollo del sistema. Preparación de un borrador de administración por políticas. 4. Por ello. Puesta en práctica del programa de educación y entrenamiento a cada nivel. según lo entrenamiento programado. Muchos proyectos de sistemas presentan fallas que impiden que el sistema funcione como era de esperarse o que sea utilizado en su totalidad. CALIDAD DE SOFTWARE Introducción El desarrollo de sistemas hoy en día ha tomado gran importancia en el mundo. Realización de eventos de educación. es necesario definir e impulsar líneas de acción tendientes a mejorar el sistema producido.CALIDAD DE SOFTWARE 2. Promoción e instalación de Círculos de Control de Calidad piloto. para practicar de nuevo los ocho paso de la Ruta de pasos la Calidad. como ejercicio de los casos de Ruta de Calidad (o de mejoramiento del control de calidad) y de la utilización efectiva de los datos: desarrollo de este con aplicación del ciclo de control (los ocho pasos de la ruta de calidad). 4. Si una empresa de software pretende competir a nivel internacional. en aspectos relacionados con eventos los Círculos de Control de Calidad. Esto incluye la aplicación de los conceptos aprendidos. Obtención de la aprobación por la alta dirección y el consejo de CTC. Establecimiento de una plan adecuado a las condiciones de la empresa y de su correspondiente calendario de implementación. "sacudida" de cada sección o departamento para identificar. Una vez terminado el entrenamiento. por parte de la alta dirección. Cuando ya se esté familiarizado con el proceso. Dentro de estas líneas de acción. gerencia media. la de realizar una investigación que permita conocer de primera mano el estado en que se encuentra su proceso de desarrollo. sus fuerzas y debilidades. Repetición de estas actividades hasta terminar con lo estipulado en el plan y en el programa. 3. 3. dirigidos a la alta dirección. Preparación del material educativo para la aplicación del CTC y de las 7 herramientas ación básicas de control de calidad. 2. voluntarios y con supervisión también voluntaria. El material deberá ser diseñado para directores. así como del director de la oficina de CTC y de los facilitadores. Repetición de este ejercicio para el siguiente aspecto de menor dificultad. y como necesidad primordial. Diseño de un proyecto (uno fácil). 1.

Proveer técnicas aplicadas para automatizar el manejo de datos. hardware. portabilidad. La Ingeniería de Software concierne a teorías. métodos y herramientas para el desarrollo profesional de productos. Existen varias organizaciones de estandarización internacional que realizan estándares y modelos de ingeniería de software. FELIPE OMAR ALIAGA CAVERO 9 . mientras que un producto de software para ser explotado durante un largo período (10 años o más) necesita ser confiable. usabilidad. esto con el fin de mejorar la Calidad del Software. dispositivos mecánicos y eléctricos. un software hecho para ejecutarse una sola vez no requiere el mismo nivel de calidad. La calidad consiste en todos aquellos aspectos del producto que satisfacen las necesidades del cliente y de ese modo proporcionan la satisfacción del producto. Mejorar la calidad del producto del software. mantenibilidad. flexibilidad. Por ejemplo: un software elaborado para el control de naves espaciales debe ser confiable a nivel de "cero al fallas". y ser operado por gente. componente o proceso cumple con los requisitos componente especificados. componente o proceso cumple con las expectativas del cliente o usuario. corrección. Objetivo de la Calidad en los Sistemas El Objetivo que persigue la Calidad en los Sistemas está orientada a: • • • Incrementar la productividad y satisfacción al trabajo de los profesionales afines al campo de la computación. La calidad es sinónimo de eficiencia. La Calidad del Software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. ngeniería La Calidad La ISO (International Standard Organization). El control de calidad de software está orientado a garantizar las características de los programas que se están desarrollando. define La Calidad como la ausencia de deficiencias: "Es la totalidad de aspectos y características de un producto o servicio que se refieren a su servicio capacidad para satisfacer necesidades dadas en la adecuación de sus objetivos'”. Aspectos de la Calidad La Calidad del Software puede medirse después de elaborado el producto. El grado en el cual el sistema. mantenible y flexible para disminuir los costos de mantenimiento para y perfeccionamiento durante el tiempo de explotación. confiabilidad. por lo que es imprescindible tener en cuenta tanto la obtención de la calidad como su cont control durante todas las etapas del ciclo de vida del software. El Instituto de Ingeniería de Software (SEI) en su modelo CMM (Capability Maturity Model) define la calidad como: • • • El grado en el cual un sistema. Un Sistema concierne a un conjunto de componentes interrelacionados trabajando conjuntamente para un fin común. El sistema puede incluir dos software. Pero esto puede resultar muy costoso si se detectan problemas derivados de imperfecciones en el diseño. seguridad e integridad.CALIDAD DE SOFTWARE Diferenciaremos dos conceptos importantes como son: • • El control de calidad de sistemas está orientado a garantizar el funcionamiento de los sistemas en explotación. La Calidad del ualidades Software es mensurable y varía de un sistema a otro o de un programa a otro. ING.

debe establecerse el proceso de control. entre otra actividades. y mejorar los procesos que dan origen al sistema. El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado. Si se piensa en las tareas que deben realizarse en este control. revisiones de prototipos y evaluación exhaustiva de los productos finales. Obtención de un Software de Calidad La obtención de un Software con Calidad implica la utilización de metodologías o btención procedimientos estándares para el análisis. Pero. en aras de lograr una mayor confiabilidad. mantenibilidad y facilidad de prueba. cierto Finalmente. Esta meta puede alcanzarse mediante frecuentes inspecciones a las metodologías de trabajo y uso de herramientas. el control y el perfeccionamiento de la productividad. Para el aseguramiento de la calidad es necesario su control o evaluación. diseño. definir los parámetros. para la calidad. realimentación. FELIPE OMAR ALIAGA CAVERO 10 . evaluación. ya que un excesivo costo en el control de la calidad puede hacer que este proceso se torne ineficiente. Estas rectificaciones son posibles gracias a una retroalimentación de las etapas superiores. programación y prueba del software. Cumplir con los objetivos de la organización en cuanto a productividad de sus sistemas de cómputo. rectificación. la calidad estaría asegurada en sus bases. indicadores o criterios de medición. lo • • El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software. creado así un aprendizaje al observar las salidas imentación de cada etapa. Control de Calidad del Software Para controlar la Calidad del Software es necesario. por lo tanto. modificación y estudio de la documentación. que permitan uniformar la filosofía de trabajo. • 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. así como la organización del ambiente o centro de ingeniería de software. de la calidad del trabajo. En el Control de Calidad deben tenerse presentes los costos que esta involucra. Es decir. por otra parte. una vigilancia permanente a todo el proceso de una desarrollo y ciclo de vida del software. otras Pero debe existir un compromiso. Documentar. el asegurar la calidad en las primeras etapas de este involucra que los costos del control en las etapas posteriores tenderá a disminuir al tener menos aspectos que controlar tenderá pues. El principio administrativo contempla las funciones de planificación y control del desarrollo del software. Una vez seleccionados los índices de calidad. Validar y controlar formalmente la calidad del trabajo rea realizado. a la vez que eleven la productividad. El Control de la Calidad permite realizar las productos rectificaciones pertinentes al desarrollo en cuanto éste empieza a desviarse de sus objetivos.CALIDAD DE SOFTWARE • • • • Realizar una planeación eficaz de los sistemas. nuevamente. y como consecuencia de la naturaleza del proceso de desarrollo de productos software. que requiere los siguie siguientes pasos: ING. tanto para la labor de desarrollo como para el control de la Calidad del Software. el mejoramiento de la calidad implica reducir los costos ya que se tendría un cierto nivel de calidad ya asegurado. hasta el producto final. puede observase que es necesario llevar a cabo tareas de búsqueda de problemas. elaboración. El software posee determinados índices mensurables que son las bases ión.

Las normas. • Capacidad para ser modificado o de revisión con los factores de flexibilidad. de acuerdo con los estándares establecidos para el desarrollo del software.. integridad y facilidad de uso. personalizados. Seleccionar una medida que pueda ser aplicada al objeto de control Para cada de control. Standard for Software Quality Assurance Plans IEEE Std 1028: 1989. modelos y estándares son básicamente las siguientes: • • • • • • • Familia de normas ISO 9000 y en especial. Definir las regulaciones organizativas para realizar el control quiénes participan control: en el control de la calidad. La Calidad del Software debe implementarse a lo largo de todo el ciclo de vida. capacidad de reutilización y de interoperación. eficiencia. 2. qué documentos deben ser revisados y elaborados. Software Process Improvement and Capability Determination. debe correr paralela desde la planificación del producto hasta la fase de producción del mismo.CALIDAD DE SOFTWARE 1. • Capacidad de transición o de adaptación a otros entornos con los factores de transportabilidad. complejidad. les 4. El plan se basa en unas normas o estándares genéricos y en unos procedi procedimientos particulares. Crear o determinar los métodos de valoración de los indicadores métodos indicadores: manuales. FELIPE OMAR ALIAGA CAVERO 11 . Indicadores para diferenciar los productos de calidad de los que carecen de ella: • • • El acercamiento a cero defectos. etc. facilidad. directivas. SPICE. Modelo de la Fundación Europea de Gestión de Calidad Los procedimientos pueden variar en cada organización. como cuestionarios o encuestas estándares para la medición de criterios periciales y herramientas automatizadas para medir los criterios de cálculo. IEEE Standard for Software Reviews and Audits CMM. etc. que se cumplan. Definir el software que va a ser controlado: clasificación por tipo. Calidad Total en el Proceso de Desarrollo del Sistema lidad Para alcanzar la "Calidad Total". lo que es más importante. facilidad de prueba y facilidad de mantenimiento. es necesaria la satisfacción por parte de los elementos que intervienen en el proceso: ING. clase de software es necesario definir los indicadores y sus magnitudes. la ISO 9001 y la ISO 9000 9000-3. Modelo de EFQM. pero lo importante es que estén escritos. Capacidades del Software Las capacidades importantes para un producto de software desde el punto de vista del software usuario. l El cumplimiento de los requisitos intrínsecos y expresos. La satisfacción del cliente La Calidad del Software debe ser una disciplina más dentro de la Ingeniería del software. adaptados a los procesos de la organización y. 3.2:1996 Quality Management and Quality Assurance Standards ISO 8402: 1994 IEEE 730/1984. 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. Capability Maturity Model ISO/IEC JTC1 15504. cuándo se realiza. esfera de controlado: aplicación. El principal instrumento para garantizar la calidad de las aplicaciones sigue siendo el Plan de Calidad.

usuarios Debe planearse el grado de integración que se requiere en las diferentes áreas de la organización. Componentes para la Calidad Total • • • • • • • • • • 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. Involucración Es necesario revisar cada etapa del proyecto. las herramientas de trabajo deben ser confiables. como son: ING. ya que es necesario tener presente la definición de diversos factores que a afectarían la realización del proyecto. debe ser clara para todos los responsables del proyecto. Herramientas (Software y Hardware) 3. para interpretar necesidades o requerimientos satisfactorios con el objeto de llegar a acuerdos en caso de imprevistos en asuntos tan simples como el método mediante el de cual vamos a poner a trabajar alguna etapa o actividad en el proyecto. Gente 2. Planeamiento En la planificación intervienen tanto los usuarios como el personal que desarrolle el proyecto. Tiempo disponible Debe contarse con la gente adecuada. Para cada una de ellas es importante dejar en claro si vale la pena continuar o no. divisiones o departamentos que están involucrados en la realización del proyecto. estos son: 1. que tenga la suficiente capacidad para realizar el trabajo. esto con el fin de establecer reglas a seguir. 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.CALIDAD DE SOFTWARE • • • La satisfacción de la alta dirección La satisfacción del personal involucrado en el desarrollo del sistema La satisfacción del usuario final La aplicación del control de calidad de sistemas no es solamente al sistema en sí. FELIPE OMAR ALIAGA CAVERO 12 . Elementos para el Proceso de Sistemas Son tres los elementos que integran el proceso de sistemas. no limitadas y debe tomarse en cuenta cuanto tiempo se dispone para la elaboración del sistema. ésta conforma la última parte de la evaluación. proyecto. los cuales por su importancia que deben de considerarse para el mejor control de calidad y realización de los sistemas. Estándares Tiene que tomarse en cuenta la forma mediante la cual vamos a trabajar desde el punto de vista tecnológico.

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. Y. es decir. contribuyen a una mejor utilización del sistema.CALIDAD DE SOFTWARE • • • • • • • • • Lenguaje de programación Manejo de librerías Código Instrucciones Comentarios Administración de backups Administración de archivos Periodicidad de revisiones riodicidad Documentación Debe quedar clara su definición. ya sean los programas. por supuesto. arreglos. de análisis. determina el tiempo de desarrollo del sistema así como la calidad del trabajo que realice (oportunidad . Documentación Es importante que la documentación que se genere debe ser clara y útil en cuanto al sistema. técnico y de operación. a una mayor calidad en su operación. mejoras. del desarrollo con el usuario y un punto importante es la mutua satisfacción entre de la gente que realiza el proyecto con el usuar usuario. en el nsable área usuaria. FELIPE OMAR ALIAGA CAVERO 13 .. Finalización La finalización del proyecto de un sistema es una de las labores más importantes en el desarrollo del mismo. el funcionamiento de la aplicación. etc. Entrenamiento El entrenamiento es un factor determinante para la realización de un proyecto. Soporte Es indispensable tener claro quién nos puede apoyar en las áreas técnica. Sin una estandarización el proyecto se vendría abajo. ya sea en la instalación. Manuales de usuario. Elaboración del proceso en forma integral. Primeramente debe verse el avance del proyecto. la bitácora de historia respecto a fallas. la involucración de las personas clave normas para el proyecto. así como su estandarización. 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.calidad). el seguimiento y las normas de seguridad y de auditoríaa. En este caso puede contarse con un Calendario de Entrega donde contenga los puntos anteriormente mencionados. ayudas y soporte requerido. las tareas del usuario y sus procedimientos. en últimas. en el área ejecutiva o en algún otro aspecto. los elementos que los deben integrar. o más. ING. el manejo de la aplicación y producción y los cuidados con respecto a back back-ups. La atención a los requerimientos del usuario en términos de hace todo lo que él hacer quiera. Calidad hecha en cada uno de los pasos o etapas del proyecto. Experiencia El contar con mucha o poca experiencia. de igual manera que en cada etapa. ya que las aplicaciones en los proyectos de sistemas enfrentan siempre necesidades crít críticas de soporte. el cumplimiento de los requerimientos del cliente. ya que mediante él se obtienen los conocimientos y habilidades que se aplicarán en el proyecto. es el reconocimiento a la labor bien realizada y de alta calidad. la satisfacción de nuestro usuario o cliente que. Controles Los controles que se establezcan deben realizarse con alguna periodicidad.

Este costo hay que considerarlo dentro software. incluso. no tenga errores.CALIDAD DE SOFTWARE Cuando se desarrolle un sistema o aplicación y se instale. Dentro del primer aplicadas nivel de acción. lo que puede elevar su posición en el mercado. estableciendo los métodos correctivos a las desviaciones ocurridas. de todo el ciclo de vida del proyecto. técnicas una estrategia de prueba multiescalada. ING. A mayor calidad. 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. 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). el SEI (Software Engineering Institute). El d. el control de la documentación del software y de los cambios realizados. are La Prueba del Software Se pueden realizar inspecciones para cada módulo o pequeño grupo de módulos que conformen un sistema. 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. Involucra descripción de los procesos. revisiones técnicas formales que se aplican durante el proceso del software. con . un procedimiento que asegure un ajuste a los estándares de desarrollo del software (cuando sea posible) y mecanismos de medición y de generación de informes. calidad. Por ejemplo. 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 a la práctica. la gestión de la calidad en organizaciones de software ha seguido dos líneas que pueden ser complementarias entre sí: Por una parte. Estas apreciaciones de calidad hacia un determinado producto elevarán el nivel de confianza para la organización desarrolladora. Calidad en el Diseño Aquí se plantean características definidas para la realización del producto software que deberán cumplirse posteriormente. infraestructura que fomente la calidad de los productos software mediante la adecuación y mejora de las actividades y procesos involucrados en su producción e. Al limitar el centro de atención de la RTF la prob probabilidad de descubrir errores es mayor. Esta es la medida de la calidad apreciada por los usuarios finales del entendimiento del producto software. tareas y responsabilidades de los equipos de desarrollo. La Calidad del Software se diseña conjuntamente con el sistema. mayores son los costos. se ha seguido la línea marcada por las entidades internacionales de estandarización para todas las organizaciones de producción estandarización o servicios. debe asegurarse de hacerlo de tal manera que lo que se entregue esté completo. 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. En el caso del software es principalmente aplicable la norma ISO 9001. sea oportuno. trabaja sobre los procesos de producción como medio para asegurar la calidad del producto software. en su comercialización y en la interacción co los clientes. El mundo del software ha creado sus propias líneas de trabajo en la gestión de la 3. sea confiable. El nivel del proyecto. nunca al final. pero mayores también los beneficios obtenidos en la fase del mantenimiento del software. Administración de la Calidad La Administración de la Calidad cuenta con dos niveles de trabajo: El nivel de entidad u organización Donde se trata de crear y gestionar una organización. proponiendo un modelo de clasificación y mejora de los procesos empleados por las organizaciones de empleados software denominado CMM. La calidad se basa en definir un listado de especificaciones a seguir. FELIPE OMAR ALIAGA CAVERO 14 . útil y estable.

Ambas tienen por temas. En 1987. Organizaciones Information como la ISO. Las últimas están relacionadas con la ONU o son independientes. El objetivo del estándar es desarrollar un código mínimo que contenga prácticas de administración para garantizar el Aseguramiento y Administración de la Calidad. cuyo objetivo es elaborar estándares para la tecnología de información Information Technology (IT). BOOTSTRAP. mientras nos surjan ideas para mejorarlos. qué hacer para responder a los requerimientos de un mercado cada vez más competitivo y cómo requerimientos deben responder los proveedores y compradores respecto a la calidad de los bienes o servicios intercambiados. entre ellos tenemos: • • • • • ISO 9000 CMM (Estados Unidos) Tick It (Inglaterra) Bootstrap (Europa) ISO/SPICE (Australia) La Norma ISO 9000 La Organización Internacional para la Estandarización (ISO) fue fundada el 23 de febrero de 1947 con el objetivo de crear una norma internacional de calidad. ING. ISO e IEC decidieron formar el Joint Technical Commit (JTC). es decir. entre otras. Para ello establece una serie de guías para la selección y uso del estándar deseado. entre otras se han dedicado a crear modelos para mejorar la Calidad del Software.CALIDAD DE SOFTWARE UNIDAD DIDÁCTICA N° 02 MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE LOS CINCO MODELOS MÁS ACREDITADOS E CALIDAD DE SOFTWARE EN Introducción La estandarización es toda actividad documentada que norma el comportamiento de un grupo de personas. así como aclara conceptos en cuanto a la calidad y las interrelaciones que como se establecen. mientras que la Internacional Organization for Standardization (ISO) fue creada en 1947 para abarcar otros temas. Los estándares nos dan los medios para que todos los procesos se realicen siempre de la misma forma. Union La International Electrotechnical Commission (IEC) que fue fundada en el año 1906 para definir estándares en eléctrica y electrónica. Expectativas de los estándares: • Mejora de procesos de software acorde a los objetivos estratégicos • Mejora de los productos • Protección del cliente o usuario • Protección de la organización (cultura de la organización y mejora continua) Existen varias organizaciones de estandarización internacional. El Comité Técnico ISO/TC 176 para Aseguramiento de la Calidad fue el encargado de crear el estándar ISO 9000. objetivo facilitar el intercambio de bienes y servicios a nivel internacional. FELIPE OMAR ALIAGA CAVERO 15 . algunas son regionales mientras que otras son globales. Son nuestra g guía para la productividad y la calidad. como por ejemplo la International Telecommunication Union (ITU).

Modelo de Aseguramiento de la Calidad para la producción. Se proyecta hacia el conocimiento y aprobación del diseño total. 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.CALIDAD DE SOFTWARE Estructura General De forma general la norma se divide en 4 guías o modelos fundamentales: • • • • ISO 9001 Sistemas de Calidad. 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. FELIPE OMAR ALIAGA CAVERO 16 . las variaciones que se requieren y el impacto en el desempeño del producto o se servicio. b) La madurez del diseño. Está relacionado con la capacidad del proceso de producción. Modelo de Aseguramiento de la Calidad para la inspección final y pruebas. Depende de la complejidad del producto o servicio. c) La complejidad del proceso de producción. Además. Capacitar al personal de la organización en la operación del Sistema de Calidad. del número de características interrelacionadas y de su influencia en el desempeño. describiendo el Sistema de Calidad en alto nivel. Sistema Escribir documentos en forma de procedimientos que describan cómo debe hacerse el trabajo en la organización. ya sea por las pruebas de desempeño o por la experiencia en el campo. Determinar las medidas y equipos para realizar las pruebas. ISO 9002 Sistemas de Calidad. ISO 9000-3 Estándares de Administración y Aseguramiento de la Calidad. producción. las necesidades de desarrollo del nuevo proceso. Después de varios años de ING. instalación y servicio. Diseño e implantación de un sistema de acciones preventivas y correctivas para acciones prevenir la ocurrencia de problemas. instalación y servicio. Los factores que determinan el modelo a elegir son: a) La complejidad del proceso de diseño. Crear un sistema para controlar la distribución y reedición de documentos. Tener en cuenta los requerimientos del estándar con los que no cumple la organización. Relacionado con el riesgo de ocurrencia de fallas y el ocurrencia impacto de éstas. 3 De forma general los requerimientos fundamentales de ISO 9000 son: • • • • • • • • • Escribir un manual de calidad. existen otras normas y entre ellas las más relevantes son: • • • ISO 9000-1 Guía para la selección de la norma a usar. cción ISO 9004 Elementos para la Administración y el Sistema de Calidad. Vocabulario. d) Las características del producto o servicio. Guía para el Sistema de Aseguramiento de la Calidad. e) La seguridad del producto o servicio. Identificar las necesidades en cuanto a entrenamiento en la organización. ISO 9003 Sistemas de Calidad. S creó el Instituto de Se Ingeniería de Software (SEI) a finales de 1984. Modelo de Aseguramiento de la Calidad en el diseño. Planificar y llevar a cabo auditorias de calidad internas. Se refiere a la dificultad para diseñar el producto o proceso servicio cuando éste no ha sido diseñado. 1 ISO 8402 Recopilación de definiciones. Como parte de su trabajo. desarrollo.

Evaluar los datos 4. diseñados de forma que los inferiores proveen unos fuertes cimientos incrementados de manera progresiva sobre los que se construyen los niveles superiores. administrado. junto a otras organizaciones. Ejecutar a. Probar los cambios 3. El ciclo Shewhart propone las bases para el trabajo de mejoramiento del proceso. Actuar a. Revisar a. Definir el problema b. Implementar los cambios b. en 1991 SEI produce el Modelo de Capacidad y Madurez del Software. Los pasos son: 1. No es prescriptivo ya que no dice a la organización como mejorar. Los 5 niveles del modelo son: ING. existen planes rigurosos. Cuando se habla de madurez se entiende como el crecimiento alcanzado en la capacidad del proceso de software y que se considera como una actividad a largo plazo. el administrador monitorea la calidad del beneficio producto y la satisfacción del cliente. carecen de bases objetivas para enjuiciar la calidad de los productos o para resolver los problemas. Establecer las bases c. La capacidad del proceso es la habilidad inherente para producir los resultados planeados. Recolectar los datos b. Determinar la efectividad 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. El principal objetivo de un proceso de software maduro es el de producir productos de calidad que cumplan los requerimientos del usuario. La madurez del proceso de software esta dada cuando un proceso en específico es explícitamente definido. Este consta de 4 pasos que se repiten en forma de ciclo hasta que la implantación produce los resultados esperados y los cambios pasan a ser permanentes. no inmadura. En una organización de software inmadura. se hacen pruebas y análisis de costo-beneficio para mejorar el proceso. medido. se enfocan en resolver las crisis que se le presentan. Planear a. FELIPE OMAR ALIAGA CAVERO 17 . el proceso de software es generalmente improvisado. El Modelo de Madurez y Capacidad del Proceso de Software (CMM) ayuda a que las organizaciones para producir de manera consistente y predecible productos de calidad s superior. Por lo contrario cuando la organización alcanza cierto grado de madurez posee una gran habilidad o para administrar el proceso de desarrollo y mantenimiento del software.CALIDAD DE SOFTWARE realizar cuestionarios. Estructura del modelo El modelo consta de 5 niveles. Establecer los objetivos a mejorar 2. evaluaciones. consulta e investigación. Estas 5 etapas de desarrollo son referidas como niveles de madurez y en cada una la organización alcanza una capacidad en el p proceso superior. se llevan registros y todos los integrantes están involucrados. controlado y es efectivo. Es un modelo normativo ya que las prácticas detalladas caracterizan el t tipo normal de comportamiento que se espera de una organización que realiza proyectos a gran escala. Identificar las posibles causas de problemas b.

El proceso del software es impredecible por el continuo cambio o modificación a medida que avanza modificación el trabajo. 5. El grupo que trabaja en el proceso enfoca y guía sus esfuerzos al mejoramiento de su desarrollo. Optimización: el mejoramiento continuo del proceso es garantizado por la : retroalimentación cuantitativa y desde las pruebas de técnicas y herramientas desde innovadoras. homogeneizado e integrado en un proceso de software estándar dentro de la organización. que ayudará a obtener un desempeño más efectivo. estimular a los desarrolladores de software a implementar sistemas de calidad. 4. conocimientos y motivaciones del personal. • ING. Se exhiben problemas de calidad y carecen de una adecuada estructura para mejorarla. No existe un ambiente estable para el desarrollo y mantenimiento del software. la responsabilidad actual por el esquema Tick IT se pasó a DISC. Ambos son cuantitativamente entendidos y controlados. Su actividad clave es el análisis de las causas de defectos y su prevención. dando la dirección y guías lladores necesarias para tal efecto. Análisis y especificación de los requerimientos del sistema asegurando que sean pecificación revisados y acordados con el cliente. Repetible: se establecen procedimientos de administración del proceso básico para determinar costos. La capacidad del proceso está basada en una amplia comprensión común dentro de la organización de las actividades. Inicial: el proceso de software es un proceso improvisado y caótico. Este nivel de capacidad permite a la organización predecir las tendencias en la calidad del producto dentro de los límites establecidos y tomar las límites acciones necesarias en caso que sean excedidos. El ciclo entendidos de Shewhart es constantemente utilizado para planear. facilita la introducción de técnicas y métodos e informa a la administración del estado del proceso. Aunque el proyecto original estuvo a cargo del DTI1. calendarios y funcionalidades. Los productos de dicha categoría son predeciblemente de alta calidad. FELIPE OMAR ALIAGA CAVERO 18 . La organización tiene los medios para identificar los puntos débiles y conocer como fortalecerlos. roles y nsión responsabilidades definidas en el desarrollo de software. El proceso se basa en repetir éxitos anteriores en proyectos de similares características. Pocos procesos están definidos y el éxito que se pueda obtener depende de las habilidades. Ciclo de Vida del Software Un sistema de calidad típico Tick IT deberá contener los elementos que se enlistan a continuación: • Elaboración de propuestas y revisión de contratos asegurando que todos los requerimientos estén bien especificados y de que la organización tiene la capacidad para cumplirlos. El Modelo Tick IT El Departamento de Comercio e Industria del Reino Unido (DTI: Department of Trade and artamento Industry) creó el esquema Tick IT. que es una oficina dependie dependiente de British Standards Institution (BSI) Standards Division. 2. siendo esta última la única autoridad en el Reino Unido para publicar estándares. por lo que los mayores riesgos se presentan cuando se enfrentan a nuevos proyectos. Se establecen las políticas para la administración del proceso y los procedimientos de implantación. además de desarrollar un sistema de certificación aceptable en el mercado. Administrativo se recolectan medidas detalladas del proceso de software y de la Administrativo: calidad del producto.CALIDAD DE SOFTWARE 1. implementar y registrar las mejoras al proceso. No existen calendarios ni estimados de costos y las funcionalidades y calidad del producto son impredecibles. Definido: el proceso de software para las actividades administrativas y técnicas está documentado. Los objetivos primordiales de éste fueron. estructura 3.

equipo y herramientas utilizadas: Hardware o Software. Identificar. y prueba de los mismos verificando que satisfagan la especificació especificación. de los proyectos y de soporte. así como el cumplimiento de los compromisos adquiridos con el cliente. asegurando que se continúa operando en conformidad con los requerimientos del cliente o usuario. Control de productos incluidos. incluyendo procedimientos y registros. envío e instalación. Entrenamiento. investigar y corregir productos no conformes. adquisición y aceptación que asegure que los bienes y servicios adquiridos sean como se requiere y de calidad ure aceptable. seguridad y almacenamiento que protejan contra cualquier pérdida o corrupción. mediciones y estadísticas. • • • • • • • • • • • • Soporte y Aseguramiento de Calidad • • • Establecer políticas y objetivos de calidad generales de la organización que sirvan objetivos para alinearla en todas sus actividades. convenciones. Integración. prácticas. revisiones y pruebas requeridas durante el desarrollo. Mantenimiento o sustitución del sistema. Especificación y control del proceso de desarrollo incluyendo técnicas. Diseño detallado de todos los componentes e interfaces. es utilizado y que es efectivo en el logro de resultados. sistema Respaldos. Administración de la organización y los proyectos de tal forma que facilite los resultados de calidad. Administración de la configuración que identifique y controle. adquiridos o suministrados por el cliente. Diseño de primer nivel identificando los componentes principales y los requerimientos que satisfacen. pruebas e inspecciones del sistema. Auditorias. de manera continua. estándares. y disminuya su rotación. Definir. replicación. reclutamiento y desarrollo de personal que asegure su competencia y motivación. Almacenamiento. Planeación de la calidad del proyecto. Proceso de compras. seguridad. Auditorias. Entrenamiento a usuarios en el uso del sistema de tal manera que pueda operarlo y beneficiarse completamente del mismo con la mínima intervención del proveedor. construcción. demostrando que el sistema integrado funciona correctamente y satisface su especificación. asegurando la integridad y seguridad de los productos.CALIDAD DE SOFTWARE • Planeación. selección. Inspecciones de los productos contra estándares y requerimientos aplicables y las acciones correctivas correspondientes. especificando las inspecciones. configuración. incluyendo utilización. control y monitoreo del avance del desarrollo respecto al plan comunicando a todas las partes afectadas y que avise oportunamente de proble problemas potenciales. Implantar y mantener un sistema de aseguramiento de calidad. recolectar y analizar datos de calidad para evaluar la efectividad del sistema de calidad e identificar mejoras potenciales potenciales. • • • • • • • • • ING. Sistema de control de registros y documentación para todas las actividades de aseguramiento de calidad. de cada instancia de un sistema o subsistema. incluyendo identificación. FELIPE OMAR ALIAGA CAVERO 19 . pruebas e inspecciones de aceptación del sistema demostrando al cliente aceptación que el sistema satisface los requerimientos. segregar. revisiones y acciones correctivas al sistema de calidad que aseguren que el calidad sistema cumple con los requerimientos. Soporte a clientes de acuerdo a lo especificado en el contrato. Puesta en marcha y liberación del producto para disponibilidad del cliente. las partes constituyentes y sus versiones. procedimientos y políticas específicas.

En la etapa de preparación se realizan las siguientes tareas: 1. hay cuatro etapas Dentro principales: preparación. dando como resultado uno de estos niveles: 1 1-inicial. En la etapa de ejecución las tareas son: ejecución. una base de datos de soporte. los niveles de madurez para el proyecto. En la etapa de determinar el nivel de madurez y capacidades. se hace el acuerdo de confidencialidad. provee recomendaciones y sugiere un plan de implementación.CALIDAD DE SOFTWARE El Modelo BOOTSTRAP El Instituto Bootstrap es una organización no lucrativa dedicada a la mejora continua del modelo de calidad de software llamado BOOTSTRAP. un plan de acción recomendado. un entrenamiento inicial para tener claros los objetivos 2. 3. uno con los resultados evaluación. una breve reunión de apertura. ING. también tiene como propósito ayudar a lidad la industria europea del software para mejorar su competitividad. Dentro de este proceso. análisis cuantitativo. un proceso de mejora y los instrumentos de evaluación. de forma que se obtenga una calificación más exacta. produce vistas analíticas. Estos niveles de madurez están subdivididos en cuatro. a través de sus proyectos para hacer un cambio a toda la organización. extenso o no aplica. los objetivos de la UPS. es donde se califica cada capacidades. revisión preliminar de la evaluación. con el enfoque de presentar los resultados de la evaluación y obtener el consenso para poder pasar a la fase de mejoras. reunión final. Los procesos de organización y metodología se califican de 1 a 5. no el producto. 2. 1. los información puntos débiles y fuertes.Tecnología que se usa en Bootstrap para los niveles de evaluación y agrupación de resultados. se define el personal a ser evaluado para obtener la mejor cobertura de los roles involucrados en los proyectos seleccionados y 5. Bootstrap es un método para analizar. de la evaluación de la UPS y otro con los resultados del proyecto evaluado. incluyendo la evaluación de cómo el proceso de producción es aplicado. Su enfoque es evaluar el proceso. El reporte del proyecto contiene: comentarios del proyecto actual detallando lo referente a la organización. 4. 2-repetible. se define el personal de evaluación para minimizar la subjetividad 4. rediseñar y mejorar los procesos de negocio del desarrollo de software. y la presentación de resultados de la evaluación. y 5. la organización recibe 2 reportes. recomendado. FELIPE OMAR ALIAGA CAVERO 20 . Para eso se definen un conjunto de características para los procesos provee un procesos. etc. aplicando un algoritmo numérico. mientras que el de tecnolog se califica sólo con dos niveles A o B.El modelo Bootstrap se basa en evaluar las unidades de producción de software de la organización. 4-administrado o 5optimizado. tecnología Como resultado de la evaluación. El correspondiente a la UPS contiene información como: un resumen ejecutivo. etc. metodología y tecnología. hace evidente fortalezas y debilidades. determinación del nivel de madurez y capacidades. el llenado de los cuestionarios con características generales de la UPS. pregunta con uno de 5 valores posibles: nulo. regular. el llenado de los cuestionarios del proyecto elegido. débil. el plan de acción tecnología. para obtener un enfoque colaborativo con el personal na a ser entrevistado. 3-definido. se seleccionan los proyectos a ser evaluados para obtener la mejor cobertura de la UPS 3. un proceso de evaluación. identifica áreas de mejora. El modelo define el paradigma Organización Organización-Metodología. 4 definido. Para cada atributo clave se obtiene un nivel de madurez. ejecución de la evaluación. Este se compone de: un modelo.

Primero evaluar las necesidades de la organización tomando en cuenta las mejoras deseadas e indicadores sobre calidad del producto y servicio. operaciones que conforman un proceso. Mejora continua. 1 = Parcialmente adecuado. Proceso de Mejora Otra parte importante de la metodología de Bootstrap. PROCESOS. y decidieron crear el proyecto SPICE Software Process Improvement and Capability s.0 éstosestos niveles son: Desempeño informal. costos y riesgos del producto y del proyecto. Organización y Soporte. tiempo de desarrollo. El Modelo ISO/SPICE Software Process Improvement and Capability Determination. considerando un período entre 18 y 24 meses. Planeación y seguimiento bien definido. 3 = Totalmente Adecuado. Está en etapa de instrumentación una versión 2. Una de las características sobresalientes de este proyecto de estandarización es que incluyó un periodo de pruebas del bresalientes estándar de 2 años. Determination. En la nalmente versión 1. Proyecto. tomando en cuenta las fortalezas y debilidades detectadas. la E de SPICE correspondía. 2 = Muy Adecuado. modificar la organización y responsabilidades para iniciar el cambio. se pueden medir las adaptaciones a la metodología. a "evaluation" y fue cambiado porque en algunos idiomas se traducía equivocadamente. La tercera dimensión es la CALIFICACIÓN: El juicio mismo: ¿qué calificación le doy a este proceso en este atributo de capacidad?. El grupo de trabajo (Working Group) WG 10. En la dimensión funcional o de proceso: las "mejores prácticas".CALIDAD DE SOFTWARE Uso de las Bases de Datos de Soporte. Después definir las capacidades a mejorar. definir Finalmente sobre la base de las actividades definidas. Enseguida. ). La dimensión CAPACIDAD CAPACIDAD: Está organizada ordinalmente en niveles de capacidad y se han definido cinco niveles. empezó a trabajar en enero de 1993 bajo la dirección de Alec Dorling y Peter Simms. se puede comparar contra la industria y se pueden establecer objetivos basándose en la competencia. que logran propósitos técnicos. y la tercera de adecuación o efectividad (calificaciones). definir las prioridades de acuerdo a un análisis de impactos. Es decir. Arquitectura del Modelo El modelo es tridimensional: l primera dimensión es funcional (procesos la segunda de la procesos). FELIPE OMAR ALIAGA CAVERO 21 . Los Elementos de Evaluación Marco de Valor El Modelo ISO/SPICE tiene un marco de valor explícito. Las categorías definidas son: Cliente ClienteProveedor. En la dimensión de capacidad: los atributos de proceso o ING. originalmente. Las escalas que se manejan son discretas de tipo: 0 = No adecuado. antes de ser publicado como estándar se había estado ajustando por la práctica. Una de las características principales de Bootstrap es la base de datos con que cuenta para hacer análisis. es el plan de mejora que sugiere. capacidades (niveles). que agrupan procesos comunes. Con esto se fundamenta el plan de mejoras. La Organización Internacional para la Estandarización (ISO) creó el grupo de trabajo WG 10 y le encomendó el desarrollo del estándar internacional de Valuación de Procesos de Software. Cuantitativamente controlado. (calificaciones La dimensión PROCESO PROCESO: Está organizada jerárquicamente de la siguiente manera: CATEGORÍA DE PROCESOS. Ingeniería. Enseguida hacer una producto revisión y análisis de resultados de la evaluación. PRÁCTICAS rocesos BÁSICAS. El proceso para obtener el plan de mejora es.0. estableciendo un marco de tiempos para su desarrollo y evaluación.

OPERACIÓN DEL PRODUCTO • • Integridad • • • Corrección • • ING.CALIDAD DE SOFTWARE prácticas genéricas que incrementarán la capacidad del proceso. Facilidad de comunicación: Atributos del software que proporcionan entradas y salidas fácilmente asimilables. Atributos del software que proporcionan control de acceso al software y los datos que maneja. a juicio del Evaluador. É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. En su parte de capacidades es un modelo evolutivo. en general. para fundamentar un juicio o evaluación vendrá dada por la selección de instancias de proyectos o productos representativas. 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 o Ejes Factor • Facilidad de uso • • Criterios Facilidad de operación: Atributos del software que determinan la facilidad de operación del software. y de práctica a proceso. Evidencia La evidencia para la evaluación serán los productos producidos por las prácticas base. FELIPE OMAR ALIAGA CAVERO 22 . 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. Este es otro elemento filosófico fundamental de ISO/SPICE: no es un modelo nominalista. Recurrencia Por último el elemento recurrencia. Formación: El grado en que el software ayuda para permitir que nuevos usuarios apliquen el sistema. Trazabilidad o rastreabilidad: Atributos del software que proporcionan una traza desde los requisitos a la implementación con respecto a un entorno operativo concreto. Facilidad de auditoría: Atributos del software que facilitan la auditoría de los accesos al software. de producto a práctica. Es. s Completitud: Atributos del software que proporcionan la implementación completa de todas las funciones requeridas. Control de accesos. de las capacidades reales del proceso de software. la efectividad de los procesos no lo que está decir. escrito en algún manual de calidad o de procesos. es decir. Seguridad: La disponibilidad de mecanismos que controlen o protejan los programas o los datos. un modelo realista: va a ver los productos. Facilidad de aprendizaje: Atributos del software que facilitan la familiarización inicial del usuario con el software y la transición del modo actual de operación. Consistencia: Atributos del software que proporcionan uniformidad en las técnicas y notaciones de diseño e implementación. Este es uno de los éricas componentes más valiosos del estándar internacional. Conceptualmente el modelo ISO/SPICE es un modelo modelo inductivo en su parte funcional: de característica a producto.

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. Modularidad.CALIDAD DE SOFTWARE • OPERACIÓN DEL PRODUCTO • • • • • • • • • • • • • • • • Precisión: Atributos del software que proporcionan el grado de precisión requerido en los cálculos y los resultados. REVISION DEL PRODUCTO Facilidad de prueba Flexibilidad Reusabilidad Interoperabilidad Portabilidad Facilidad de mantenimiento Eficiencia Fiabilidad • • • • • • • • • • • • • TRANSICION DEL PRODUCTO • • • • ING. Auto descripción: Atributos del software que proporcionan explicaciones sobre la implementación de las funciones. FELIPE OMAR ALIAGA CAVERO 23 . Modularidad. Independencia entre sistema y software. Auto descripción. Simplicidad. Modularidad. Capacidad de expansión: Atributos del software que posibilitan la expansión del software en cuanto a capacidades funcionales y datos. Consistencia. Auto descripción. Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estándar. Estandarización en los datos: El uso de estructuras de datos y de tipos estándar a lo largo de todo el programa. Independencia del hardware: Atributos del software que determinan su dependencia del hardware. Generalidad: Atributos del software que proporcionan amplitud a las proporcionan funciones implementadas. Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales. Auto descripción. Modularidad. Simplicidad. Generalidad. Concisión: Atributos del software que posibilitan la implementación de una función con la menor cantidad de códigos posible. Consistencia. Modularidad. Modularidad: Atributos del software que proporcionan una estructura de módulos altamente independientes. Compatibilidad de comunicaciones: Atributos del software que posibilitan el uso de protocolos de comunicación e interfaces estándar. 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. Modularidad. Eficiencia en ejecución: Atributos del software que minimizan el tiempo de procesamiento. Eficiencia en almacenamiento: Atributos del software que minimizan el espacio de almacenamiento necesario. ndependencia Independencia del hardware. Independencia entre sistema y software: Atributos del software que ndependencia determinan su dependencia del entorno operativo.

Se aceptan los factores. para lo cual se seleccionarán los aspectos inherentes a la calidad deseada del producto. Se aceptan las relaciones entre factores y criterios. Antes de comenzar a utilizar el modelo de McCall hay que seguir las siguientes pautas: 1. para lo cual se emplearán datos históricos. la eficiencia plantea conflictos prácticamente con todos los demás factores de calidad. criterios y métricas que propone el modelo. FELIPE OMAR ALIAGA CAVERO 24 . ♦ La relación calidad-precio. Al comienzo del proyecto habrá que especificar los requisitos de calidad del producto ienzo software. que puede evaluarse a través del coste de cada factor de calidad frente al beneficio que proporciona. 2. precio. Se selecciona un subconjunto de factores de calidad sobre los que aplicar los requisitos de calidad establecidos para el proyecto. analizar sus resultados y tomar medidas correctivas cuando los valores obtenidos estén por debajo de los mínimos aceptables. La interacción entre los diversos factores a evaluar queda reflejada en la tabla I que indica la dependencia entre los factores de McCall. La explicación para cualquier selección o decisión deberá ser adecuadamente documentada. Una vez finalizado el proyecto será necesario contrastar las medidas predictivas utilizadas y ING. su propio ciclo de vida que si se espera que sea largo implicará un mayor énfasis en la facilidad de mantenimiento y la flexibilidad. o bien si el sistema en desarrollo está destinado a un entorno donde el hardware evoluciona rápidamente implicará como requisito su hardware portabilidad. ♦ Las propias interrelaciones entre los factores debido a que algunos factores pueden entrar en conflicto entre sí: por ejemplo. También habrá que establecer valores deseables para los criterios. 3. En la fase de desarrollo será necesario implementar las métricas elegidas. así como unos valores mínimos aceptables. y con ellos se concretarán los valores finales y concretarán otros intermedios o predictivos en cada período de medición durante el desarrollo. el promedio en la industria.CALIDAD DE SOFTWARE Cómo emplear el modelo de Mc Mc-Call. y entre criterios y métricas. teniendo que considerarse para ello: ♦ Las características particulares del propio producto que se está diseñando: por ejemplo. La siguiente tabla muestra la relación calidad calidad-precio para cada factor considerado: Factor Corrección Fiabilidad Eficiencia Integridad Facilidad de uso Facilidad de mantenimiento Facilidad de prueba Flexibilidad Portabilidad Reusabilidad Interoperabilidad Beneficio/Coste alto alto bajo bajo medio alto alto medio medio medio 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.

Control de accesos: Atributos del software que proporcionan control de acceso al software y los datos que maneja maneja. 6. en criterios. Un programa que permite el acceso de personas no autorizadas a ciertos datos es poco íntegro. e. Descripción de los factores Mc Mc-Call 1. 7. 2. en efecto. 4. 5. aunque puede no servir de nada sin los demás factores. pero en un 25% de los casos el resultado que da no es correcto. 10. si un programa debe ser capaz de sumar dos números y en lugar de sumar los multiplica. y con qué esfuerzo. 9. 6. Flexibilidad: El coste de modificación del producto cuando cambian sus especificaciones. Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales. 11. Interoperabilidad: El coste y esfuerzo necesario para hacer que el software pueda operar conjuntamente con otros sistemas o aplicaciones software externos. 3. Facilidad de auditoría: Atributos del software que facilitan el registro y la auditoría de los accesos al software. Eficiencia en almacenamiento: Atributos del software que minimizan el espacio de almacenamiento necesario.CALIDAD DE SOFTWARE comprobar si. 8. si el programa anterior suma dos números. Por ejemplo. 5. preparar la aprender entrada de datos e interpretar la salida del mismo. Corrección: Hasta qué punto un programa cumple sus especificaciones y satisface los objetivos del usuario. Un programa que suma dos números y necesita 2 MB de memoria para funcionar. 10. 9. Por ejemplo. Portabilidad (o Transportabilidad): El coste de transportar o migrar un producto de una configuración hardware o entorno operativo a otro. FELIPE OMAR ALIAGA CAVERO 25 . o que tarda 2 horas en dar una respuesta. es un programa difícil de probar. Facilidad de uso: El coste y esfuerzo de aprender a manejar un producto. a su vez. se pueden tomar como indicadores de los valores finales. ING. En el modelo de McCall se tores definen un total de 23 criterios. Facilidad de comun comunicación: Atributos del software que proporcionan al usuario entradas y salidas fácilmente asimilables. Facilidad de Reutilización: Hasta qué punto se puede transferir un módulo o programa del presente sistema a otra aplicación. es poco fiable. es poco eficiente. Eficiencia en ejecución: Atributos del software que minimizan el tiempo de procesamiento. Eficiencia: Cantidad de código y de recursos informáticos (CPU. 4. Facilidad de prueba: El coste de probar un programa para comprobar que satisface sus r requisitos. memoria) que precisa un programa para desempeñar su función. Facilidad de mantenimiento: El coste de localizar y corregir defectos en un programa que aparecen durante su funcionamiento. es un programa incorrecto. Integridad: Hasta qué punto se controlan los accesos ilegales a programas o datos. 2. Cada uno de estos factores se descompone. 3. Por ejemplo. Facilidad de operación: Atributos del software que determinan la facilidad de operación del software. Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sin errores del programa. si un programa requiere desarrollar una simulación completa de un sistema para poder probar que funciona bien. con el siguiente significado: 1. 7. Es quizás el factor más importante. Consistencia: Atributos del software que proporcionan uniformidad en las técnicas y uniformidad notaciones de diseño e implementación utilizadas. 8. Precisión: Atributos del software que proporcionan el grado de precisión requerido en los cálculos y los resultados. Facilidad de aprendizaje: Atributos del software que facilitan la familiarización inicial del usuario con el software y la transición desde el modo actual de operación.

12. Compatibilidad de comunicaciones: Atributos del software que posibilitan el us de protocolos de comunicación e interfaces estándar. 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). Completitud: Atributos del software que proporcionan la implementación completa de todas las funciones requeridas.CALIDAD DE SOFTWARE 11. Auto descripción: Atributos del software que proporcionan expli explicaciones sobre la implementación de las funciones. FELIPE OMAR ALIAGA CAVERO 26 . as 14. 15. 17. 20. Concisión: Atributos del software que posibilitan la implementación de una función con la menor cantidad de código posible. Modularidad: Atributos del software que proporcionan una est estructura de módulos altamente independientes. Generalidad: Atributos del software que proporcionan amplitud a las fun funciones implementadas. 13. 19. Trazabilidad (Rastreabilidad): Atributos del software que proporcionan una traza desde los requisitos a la implementación con respecto a un entorno operativo concreto. Independencia del hardware: Atributos del software que determinan su independencia del hardware. 18. Independencia entre sistema y software Atributos del software que determinan su software: independencia del entorno operativo. 22. 23. Simplicidad: Atributos del software que posibilitan la implementación de funciones de la forma más comprensible posible. Capacidad de expansión: Atributos del software que posibilitan la expansión del software en cuanto a capacidades funcionales y datos. Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estándar. 16. r ING. uso 21.

n La subjetividad y la especialización también influyen en la determinación de la calidad del software. Grado en que el software hace óptimo el uso de los recursos del sistema. sub-atributos: facilidad de comprensión. La facilidad con que una modificación puede ser mantenimiento. facilidad de aprendizaje y operatividad. la calidad se juzga de la manera más fundamental y directa: comparación de objetos unos al lado de los otros bajo condiciones idénticas y con conceptos o predeterminados. concursos de talento. bouquet. sabor. • . conformidad y atributos: seguridad. Confiabilidad. realizada. Cavano y McCall estudian esta situación: La determinación de la calidad es un factor clave en los acontecimientos diarios: concursos de cata de vinos. corrección. etc. Funcionalidad. Está . sub-atributos: Facilidad de mantenimiento. se necesita una definición de calidad del software más exacta. referido por los siguientes sub atributos: madurez. la gimnasia). acontecimientos deportivos (por ejemplo. La transición a una visión cuantitativa En las separatas precedentes se estudiaron un conjunto de factores cualitativos para la «medición» de la calidad del software. Sin embargo. Cantidad de tiempo que el software está disponible para su uso. interoperavilidad. este tipo de juicio es muy subjetivo. • • • • • Los factores ISO 9126 no necesariamente son utilizados para medidas directas. etc. sub-atributos: facilidad de adaptación al cambio. La facilidad con que el software puede ser llevado de un entorno a otro. así como una manera de obtener medidas cuantitativas de la calidad del software para cuantitativas ING. El estándar identifica seis atributos clave de calidad: ware. tolerancia a fallos y facilidad de sub-atributos: recuperación. En estas situaciones. facilidad de sub-atributos: cambio. En cualquier c caso facilitan una valiosa base para medidas indirectas y una excelente lista para determinar la calidad de un sistema. Está indicada por los siguientes sub atributos: facilidad de análisis. El grado en que el software satisface las necesidades indicadas por los siguientes sub-atributos: idoneidad. Usabilidad. debe hacerse por un experto. color. Viene reflejado por los siguientes . Está . estabilidad y facilidad de prueba.CALIDAD DE SOFTWARE UNIDAD DIDÁCTICA N° 03 MÉTRICAS DE CALIDAD DE SOFTWARE ESTÁNDAR ISO 9126 Introducción El estándar ISO 9126 ha sido desarrollado en un intento de identificar los atributos de de calidad para el software. FELIPE OMAR ALIAGA CAVERO 27 . butos: Eficiencia. El vino puede ser juzgado de acuerdo con su claridad. ser Está referido por los siguientes sub atributos: facilidad de instalación. indicado por los siguientes sub atributos: tiempo de uso y recursos utilizados. facilidad de ajuste. para que tenga algo de valor. Intentamos desarrollar medidas exactas de la calidad ón» del software frustradas a veces por la naturaleza subjetiva de la actividad. Para resolver este problema. Grado en que el software es fácil de usar. Portabilidad.

Por ejemplo.CALIDAD DE SOFTWARE hacer un análisis objetivo. Corrección: Hasta qué punto un programa cumple sus especificaciones y satisface los objetivos del usuario.. En todos los casos. FELIPE OMAR ALIAGA CAVERO 28 . El factor que lo complica es la relación exacta entre la variable que se mide y la calidad del software. Número de requerimientos implementados Corrección = ----------------------------------------------------------------------Número de requerimientos determinados en el análisis ING. En las siguientes secciones examinamos un conjunto de métricas del software que pueden iones conjunto aplicarse a la valoración cuantitativa de la calidad del software. poder medir la calidad del software exactamente. e. ya que cada medición es parcialmente imperfecta... es decir.. Métricas de calidad de software 1. alguna manifestación de la calidad. no deberíamos esperar vo.. es un programa incorrecto. Es quizás el factor más importante. las métricas representan medidas indirectas.. realmente nunca medimos la calidad sino indirectas. Como no existe el conocimiento absoluto. si un programa debe ser capaz de sumar dos números y en lugar de sumar los multiplica. aunque puede no servir de nada sin los demás factores.

es poco fiable. pero en un 25% de los casos el resultado que da no es correcto. Mantenimiento: El coste de localizar y corregir defectos en un programa que aparecen durante su funcionamiento. Un programa que permite el acceso de personas no autorizadas a ciertos datos es poco íntegro. es poco eficiente. memoria) que precisa un programa para desempeñar su función.CALIDAD DE SOFTWARE 2. Fiabilidad = 1 . si el programa anterior suma dos números.0. Integridad = 1 (número de accesos ilegales/número total de accesos) 1-(número 5. FELIPE OMAR ALIAGA CAVERO 29 .(número de errores / número de intentos) e 3. o que tarda 2 horas en dar una respuesta.( FA + FC + FD ) ] / MT ING.1 (número medio de días-hombre por corrección) hombre 6. Índice de madurez del software: IMS = [ MT . se debe medir el valor por cada función o l módulo según los siguientes parámetros: (ISO 9126) • • • Uso de Procesador (en porcentaje) Uso de Memoria (en megabytes) Tiempo (en segundos) T UP UM La cantidad de procesador que emplea el módulo durante su ejecución La cantidad de memoria que emplea el módulo durante su ejecución La cantidad de segundos que emplea el módulo para efectuar cálculos La eficiencia está dada por las fórmulas: UP-Promedio = UP-Disponible / Número de Módulos e UM-Promedio = UM-Disponible / Número de Módulos Disponible T-Promedio = T Promedio T-Disponible / Número de Módulos Se calculará las eficiencias parciales por cada módulo: Eficiencia-UP(i) = UP(i) / UP-Promedio Eficiencia Eficiencia-UM(i) = UM(i) / UM-Promedio Eficiencia Eficiencia-T(i) = T(i) / T-Promedio Eficiencia Se calculará la eficiencia final: n Σ [Eficiencia [Eficiencia-UP(i)+Eficencia-UM(i)+Eficencia-T(i)] / 3 i=1 Eficiencia = 1 Número de módulos (n) 4. Por ejemplo. Un programa que suma dos números y necesita 2MB de memoria para funcionar. Fiabilidad: Hasta qué punto se puede confiar en el funcionamiento sin errores del programa. Eficiencia: Cantidad de código y de recursos informáticos (CPU. Mantenimiento = 1 . Para el cálculo de la eficiencia. Integridad: Hasta qué punto se controlan los accesos ilegales a programas o datos.

si un programa requiere desarrollar una simulación completa de un sistema para poder probar que funciona bien. Reusabilidad: Hasta qué punto se puede transferir un módulo o programa del presente sistema a otra aplicación. Usabilidad: El coste y esfuerzo de aprender a manejar un producto.CALIDAD DE SOFTWARE 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 a 1. Flexibilidad: El coste de modificación del producto cuando cambian sus especificaciones. FELIPE OMAR ALIAGA CAVERO 30 . y con qué esfuerzo. Por ejemplo. Interoperabilidad: El coste y esfuerzo necesario para hacer que el s software pueda operar conjuntamente con otros sistemas o aplicaciones software externos.0 el producto se empieza a estabilizar. Capacidad de Pruebas: El coste de probar un programa para comprobar que satisface e sus requisitos. Interoperabilidad = módulos integrados / módulos del software 12. pretar Tiempo medio de aprendizaje por módulo Usabilidad = --------------------------------------------------------------Tiempo de aprendizaje total / Número de módulos ING. exibilidad hombre Flexibilidad = 1 . EL IMS aproxima puede emplearse también como métrica para la planificación de las activi también actividades de mantenimiento del software. CP = 1-(número de funciones probadas/número total de funciones) (número Transportabilidad): 9. El tiempo medio para producir una versión de un producto software pue puede correlacionarse con el IMS desarrollándose mode modelos empíricos para el mantenimiento. es un programa difícil de probar. Portabilidad = 1 (esfuerzo para portar/esfuerzo para implementar) 1-(esfuerzo 10. Portabilidad (o Transportabilidad): El coste de transportar o migrar un producto de una configuración hardware o entorno operativo a otro. Reusabilidad = Σ portabilidad por módulo / número total de módulos módulo 11.0. 7. preparar la entrada de datos e interpretar la salida del mismo.05 (número medio de días-hombre por cambio) 8.

Se pueden clasificar las actividades de control de calidad en dos cate categorías: controles estáticos y controles dinámicos. se puede decir también que el objetivo del Control de Calidad es identificar defectos en el producto y corregirlos.CALIDAD DE SOFTWARE UNIDAD DIDÁCTICA N° 04 EJECUCIÓN DEL CONTROL DE CALIDAD DE SOFTWARE Introducción El objetivo de las actividades de Control de Calidad es comprobar si un producto posee o no posee una determinada característica de calidad en el grado requerido. Por lo tanto. ING. Los primeros analizan el objeto sin necesidad de ejecutarlo mientras que los segundos requieren la ejecución del objeto que está siendo probado. FELIPE OMAR ALIAGA CAVERO 31 . Cuando un producto no posee una determinada característica de calidad se dice que tiene un DEFECTO.

Comprobación de escritorio (desk checking): Consiste en examinar a mano e individualmente el objeto que se acaba de desarrollar. códigos. Controles estáticos manuales disciplinados Las revisiones y auditorías son la evolución natural de la Comprobación de Escritorio. Su misión principal es conseguir que la responsabilidad del control de calidad no recaiga sólo sobre el propio desarrollador.La efectividad y adecuación de la imple implementación realizada. Cualquier forma de control dinámico requiere un cierto grado de análisis estático. especificaciones. Las auditorías del producto software más comunes son la a auditoría Funcional y la auditoría Física. Auditorias Una auditoría consiste en realizar una investigación para determinar: . 2. Se debe aplicar a los requisitos. concienzudo para que sea efectivo.. estándares u otros requisitos de tipo contractual establecidos y aplicables. determinando dónde se puede mejorar. consideradas como estáticas. aunque en un entorno no real.CALIDAD DE SOFTWARE La barrera entre controles estáticos y dinámicos no es totalmente estricta. pero a diferencia de aquélla pasan a ser técnicas de grupo. . que "ejecutan" el código. o personas de su misma categoría y ocupación.El grado de cumplimiento y la adecuación de los procedimientos.Auditorías de proyecto: cuyo objetivo es evaluar la productividad y ING. Revisión por pares o iguales (peer review): Consiste en la revisión del código de un programador por otros programadores (sus pares). especificaciones de diseño y código según se van desarrollando. y evaluar su completitud y efectividad. Debe ser cuidadoso y desarrollando. FELIPE OMAR ALIAGA CAVERO 32 . Es el método más tradicional para analizar un programa.Auditoría del producto: El objetivo es cuantificar el grado de conformidad del producto con las características requeridas. Además hay algunas técnicas. otros Se puede poner en práctica creando un panel que se encarga de revisar periódicamente muestras de código. CONTROLES ESTÁTICOS Controles Estáticos Manuales Controles estáticos manuales informales Estas actividades las realizan los propios autores de los objetos a comprobar. Es más efectivo si se hace intercambiando el objeto a examinar con otro compañero. instrucciones. En el desarrollo de software se suelen realizar dos tipos de auditorías del proceso: .Auditoría del proceso: El objetivo es evaluar el proceso de desarrollo o de gestión. como la verificación formal y la ejecución simbólica. Se pueden considerar tres tipos de auditorías: 1..

5. FELIPE OMAR ALIAGA CAVERO 33 . . ¿Cómo y dónde se van a utilizar los resultados de la auditoría? . Analizar los datos recogidos.. y se lleva a cabo mediante entrevistas y revisiones en las que se recopilan datos. se liza comparan las conclusiones obtenidas y se estudian las causas de las desviaciones significativas. Por lo general la auditoría se inicia con una reunión de apertura de la investigación..¿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. A continuación se realiza una evaluación en paralelo de los resultados por un grupo de evaluadores. Elaborar y presentar un informe de resultados. aborar ING. y sugerir posibles soluciones o mejoras. ¿Cuál es el producto que va a ser auditado? .Auditorías de gestión de proyecto: cuyo objetivo es evaluar la efectividad de las prácticas de gestión realizadas y la organización del proyecto. de entre los cuales resulta complicado seleccionar los datos relevantes. En esta etapa se elabora un Plan de Auditoría. Por lo general el equipo de auditores debe hacer frente a ecogidos. 3. una auditoría debería identificar situaciones problemáticas.CALIDAD DE SOFTWARE eficacia del equipo que trabaja en un proyecto así como la efectividad de los métodos y herramientas utilizados. para conseguir una certificación.¿Por qué se realiza la auditoría? Puede ser una auditoría de rutina o puede realizarse para resolver problemas concretos. Sugerir soluciones a los problemas encontrados y posibles mejoras. por lo que se suelen utilizar técnicas de análisis estadístico.. Planificación: Consiste en definir los objetivos de la auditoría y su alcance. ¿Cuándo se va a realizar? 2. tales como desviaciones del estado actual con respecto al estado deseado.. cantidades ingentes de datos.¿Para qué se realiza? para mejorar. 4. El procedimiento habitual para realizar una auditoría consta de los siguientes pasos: 1.¿Qué resultados se esperan de la auditoría? En principio. . 3. que debería dar respuesta a cuestione del tipo de las cuestiones siguientes: . Llevar a cabo la investigación.Auditoría del sistema de calidad: El objetivo es evaluar la completitud y efectividad del propio sistema de calidad establecido.

indirectamente. y comprobando en cada paso el cumplimiento de los criterios de una lista de comprobación. mientras que el objetivo de las auditorías es certificar conformidad e identificar desviaciones. y se realiza un análisis estructurado de los mismos. paso a paso. mientras que las auditorías se llevan a cabo en las fases finales. en la vida real hay otras muchas variantes intermedias. Las revisiones redundan en una mejora directa de la calidad del objeto que se examina y provocan. guiados por el autor del mismo. Otras diferencias esenciales entre inspecciones y walkthrough son las siguientes: ING.Las revisiones se llevan a cabo desde las primeras fases del desarrollo. hoy en día. una mejora de la calidad del proceso de desarrollo. para que con esta información puedan tomar decisiones adecuadas para dirigir con éxito el proyecto. Las diferencias más importantes entre las revisiones y las auditorías son las si siguientes: . 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. Se introducen al objeto los casos de prueba y se van registrando los resultados intermedios. 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. Aunque estos son los tipos ideales. Las revisiones son. Al mismo tiempo facilitan el control del coste y el tiempo. FELIPE OMAR ALIAGA CAVERO 34 . cliente u otro tipo de persona interesada. 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. de la misma forma que les llega información fiable acerca de los costes y la programación del información trabajo.El objetivo de las revisiones es detectar defectos. . . hay desde las revisiones sin disciplina alguna hasta cualquier tipo de mezcla entre inspecciones y walkthrough. que por la posición que ocupan ismas no pueden ser totalmente objetivas. al facilitar la comunicación entre los miembros del equipo de desarrollo.Walkthrough (visita guiada): En las que se demuestra la funcionalidad del objeto revisado funcionalidad mediante la simulación de su funcionamiento con casos de prueba y ejemplos. sino en otras personas técnicamente competentes y objetivas.CALIDAD DE SOFTWARE 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. Con las revisiones se consigue que el peso de la evaluación técnica no recaiga sobre las mismas personas involucradas en la producción del software. .Inspecciones: En las que los participantes van leyendo el documento.

Planificación: La preparación comienza con la selección de los participantes. . previa a la inspección propiamente dicha.La disponibilidad de todos los participantes . . Se usan distribuciones por tipo de los errores a buscar Inspección Walkthrough SI SI NO NO El moderador El propietario del producto revisado SI SI NO NO NO NO 6. El coordinador es responsable de la planificación de la inspección. que pueden ser desarrolladores. Hay un seguimiento para controlar que la corrección es SI correcta 7.Los criterios de finalización de la inspección . cuando se trata de examinar por primera vez un objeto. y en los walkthrough está guiado por la estructura del producto revisado. un secretario.CALIDAD DE SOFTWARE . mantener el foco de la revisión. Requiere entrenamiento formal del moderador 2. Se usan para asegurar la satisfacción de los criterios de salida establecidos entre diferentes etapas del desarrollo (revisiones de fase). La siguiente tabla resume algunas diferencias adicionales entre ellas: esume Propiedades 1. Se usan listas de comprobación 5.Los objetivos de la inspección .Los walkthrough están planteados como una medida de ayuda al desarrollador. objeto ING. acciones pendientes) y ayudar al coordinador en la prepa preparación del informe final. En los walkthrough el objetivo fundamental es incrementar el entendimiento. de preparar el informe final y de realizar el seguimiento y evaluación de las acciones pendientes.Las inspecciones se planifican y procesan de una manera mucho más formal que los walkthrough. planteados mientras que las inspecciones están planteadas como una medida de ayuda al gestor.El lugar y la fecha para la inspección . revisores externos. y otros revisores. de entre los productores del objeto que se revisa. Debe designarse un coordinador o moderador. FELIPE OMAR ALIAGA CAVERO 35 . comprender mejor el objeto.La agenda de la reunión enda 2. representantes de los usuarios. El secretario es responsable de anotar los elementos de interés (defectos y anomalías descubiertas. asegurar que se cubren todos los aspectos necesarios). para dar a los participantes en la revisión una idea del objeto que van a revisar. Hay unos roles definidos para los participantes 3.En las inspecciones el proceso está guiado por la lista de comprobación. Se puede mejorar la eficiencia de la revisión analizando los SI resultados Fases en una Inspección: 1. y posiblemente otros. mientras que en las inspecciones el objetivo es detectar las defectos. En la planificación es también necesario determinar: . un presentador. de moderar la reunión (mantener el orden. Orientación inicial: Es recomendable realizar una reunión de orientación. Quién guía la revisión 4.

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 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. . .No se cierra la inspección porque se encontraron defectos importantes. Hay que tener en cuenta que el objetivo de una inspección es descubrir defectos. .CALIDAD DE SOFTWARE 3. . Cada revisor debe completar la lista y anotar cualquier tipo de Cada pregunta o defecto detectado. 5.Cualquier otra solución intermedia Los defectos que se detecten durante este proceso se añaden a una lista de acciones pendientes. y será necesario realizar una nueva inspección. junto con una lista de comprobaciones o "checkiist" enumerando los posibles defectos que se deben intentar localizar. los participantes valoran los resultados de la inspección y se completa un informe.Por grupos de puntos dentro de la lista de comprobación.Se cerrará la inspección después de que los defectos encontrados se hayan eliminado en la fase de seguimiento. los revisores deben restringirse a los hechos y ser constructivos. revisando todo el producto para cada uno de ellos. revisando todos los puntos de la lista de comprobación para cada componente. Reunión de inspección: Durante la reunión. Es misión del moderador asegurarse de que esto se cumpl cumple.Quién lo ha revisado . se debe hacer llegar a cada revisor una copia de la documentación asociada al objeto que se va a revisar. Por otro lado.Qué se ha revisado . 4. Hay varias formas de guiar la reunión: . Al finalizar la reunión se pueden producir las siguientes situaciones: . el presentador o autor del objeto revisado va guiando al resto a través del mismo para comprobar cada uno de los punto de la lista de puntos comprobación. FELIPE OMAR ALIAGA CAVERO 36 . Documentos generados en una inspección Algunos de los informes o documentos que pueden generarse como resultado de una inspección son los siguientes: Informe resumen de la inspección: Conclusiones breves de la inspección (una página o dos) para la dirección: . 6.Cuál fue la conclusión ING. Preparación individual: Con suficiente tiempo antes de la realización de la inspección.Punto por punto de la lista de comprobación.Se cierra la inspección sin que se hayan encontrado defe defectos. Una lista de comprobaciones contiene una serie de preguntas. y se supone que al intentar dar respuesta a estas preguntas saldrán a la luz los problemas que puedan existir. revisando todo el producto para cada grupo. Al final de la reunión de inspección. El moderador se encarga de realizar la evaluación y enviar un informe a la dirección una vez finalizada.Componente a componente del producto. no corregirlos. . Seguimiento: Durante esta fase.

Necesita ser claro. si puede ser. Es un documento técnico y transitorio. pero no muy elaborado. para que sean notificados a la persona responsable. No debe llegar a la dirección. para no aburrirlos con tantos datos y para que no puedan usar esta información en perjuicio del proceso de inspección. Fases en un Walkthrough: ING. spección Informe final: Para informar a la dirección del cierre de la inspección. Informe del proceso de inspección: Cuando algo ha salido mal en el proceso de inspección en sí mismo. FELIPE OMAR ALIAGA CAVERO 37 . cómo corregirlo. Informe de asuntos relacionados: Para registrar problemas que salen a la roblemas luz durante la inspección pero no están relacionados directamente con el objeto revisado.CALIDAD DE SOFTWARE - - - Lista de acciones pendientes: Es un informe para los autores del producto revisado explicando qué es lo que está mal y.

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 Etapas 1. Revisiones técnicas y de gestión Por otro lado. ING. que consiste en ir pasando el tumo de uno a otro por todos los participantes en la revisión. a excepción del presentador. según el objeto que se revise. Preparación individual 3. y el hecho de ser algo público promueve una mejor preparación por parte de los participantes. Orientación 2. Reunión Walkthrough Objetivo Educación (individual) Educación (grupo) Discusión de alternativas de diseño Encontrar errores - 4. Planificación: Similar a la planificación de una inspección. FELIPE OMAR ALIAGA CAVERO 38 . aunque en sor este caso no se les entregará una lista de comprobación. Reunión Objetivo Educación (grupo) Educación (individual) Encontrar errores (grupo) Etapas 1. Se dice que una revisión es formal cuando: . la formalidad hace que este tipo de reuniones sean un tanto impersonales. 2. Evaluación Arreglar problemas - Asegurar que todos los problemas se han resuelto correctamente Formalidad en las revisiones Se puede diferenciar también entre las revisiones formales e informales. con la diferencia de que no es necesario asignar roles específicos a los participantes. Seguimiento 5. s 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 Round-robin. La ventaja de realizar revisiones formales es que los informes que se generan sirven ja como hitos para el proyecto.Todos los participantes son responsables de la calidad de la revisión. se suele diferenciar entre las revisiones con orientación técnica y las revisiones orientadas a la gestión (también conocidas como revisiones revisiones de proyecto).Es un evento público . 3. Por contra. que es quien organiza el walkthrough y guía la reunión.CALIDAD DE SOFTWARE El proceso para realizar un walkthrough es mucho más sencillo y consta de tan sólo tres fases: 1. Preparación individual: Cada revisor examina el objeto revisado. Preparación individual 3.Se informa por escrito de los resultados .

recursos utilizados y calidad del producto.Control de la progresión del proyecto .¿Resulta comprensible la especificación realizada? Revisión del diseño Se suele diferenciar entre la revisión del diseño preliminar o de alto nivel y la revisión del diseño detallado. 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 de requisitos son las siguientes: cificación ¿Se han especificado todos los recursos hardware necesarios? ¿Se han especificado las interfaces externas necesarias? ¿Existen contradicciones en la especificación de los requisitos? ¿Se han definido los criterios de aceptación para cada una de las funciones especificadas? . . escala de tiempos. se encuentra el proceso de diseño. por otro lado.Evaluación general del producto. con hitos bien definidos. así como descubrir errores o contradicciones (entre la especificación de requisitos y el diseño o en las interfaces entre módulos) Algunas de las preguntas que podrían encontrarse en una lista de comprobaciones para el nas diseño son las siguientes: ¿Hay uniformidad en el diseño? ¿Se han definido correctamente las interfaces entre módulos? ¿Se han definido correctamente las interfaces extemas? ¿Cubre el diseño todas las funciones incluidas en la especificación de requisitos? ¿Cumple el diseño todos los requisitos no funcionales? ING. El objetivo de estas revisiones es determinar y evaluar el estado en el que etallado. Revisión de la especificación de requisitos Este tipo de revisión es muy útil para facilitar el descubrimiento de los errores introducidos en muy la especificación de requisitos en fases tempranas del desarrollo.Evaluación de los riesgos asociados al proyecto. que permita evaluar la progresión del proyecto. El tipo de errores que se pueden encontrar en este objeto son: .Que exista un plan de desarrollo bien estructurado. Para que esto sea posible es necesario: .Requisitos incompletos o especificación incompleta (faltan requisitos). contradictorios.CALIDAD DE SOFTWARE Las revisiones técnicas más comunes son: Revisión Revisión Revisión Revisión Revisión de la especificación de requisitos del diseño del código de las pruebas del manual d usuario de Los principales objetivos que se buscan con las revisiones de proyecto. erróneos o imposibles de probar imposibles . son los siguientes: . .Que los resultados del proyecto se encuentren bien documentados y hayan sido ya examinados en una revisión técnica. . FELIPE OMAR ALIAGA CAVERO 39 .Requisitos irrelevantes para el problema que se trata de resolver.Requisitos poco claros. con relación al coste.

lo que exige de los programadores un esfuerzo para hacerlo legible.Revisión del diseño de la prueba . Revisiones de las pruebas Se pueden efectuar dos tipos de revisiones de las pruebas: . La mayor parte del análisis estático automático del código lo realizan los compiladores.¿Se ha aplicado la notación de diseño correctamente? . Controles Estáticos Automáticos Dentro de esta categoría tenemos el análisis estático automático y la verificación formal de programas. 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.¿Se han elegido los casos de prueba más adecuados para comprobar la consecución de dichos objetivos? Los objetivos de las inspecciones de las pruebas. de acuerdo con el procedimiento de prueba especificado. por su parte. Los estudios realizados demuestran que. que pueden detectar desde expresiones sintácticamente incorrectas hasta incompatibilidades sintácticamente de tipo y otros errores de tipo semántico. mediante las inspecciones de código. y uno de sus objetivos es determinar que el código se corresponde con el diseño detallado realizado.CALIDAD DE SOFTWARE . Verificación formal ING. son: vos .Comprobar que la prueba se ha ejecutado correctamente. .¿Resulta ambigua la documentación del diseño? . FELIPE OMAR ALIAGA CAVERO 40 .¿Es el diseño lo suficientemente detallado como para que sea posible impí ementarlo en el lenguaje de programación elegido? Revisión del código Las revisiones del código suelen tomar la forma de revisión por pares o inspección. Se deben comprobar aspectos como: .Inspección de la prueba 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. más de la inspecciones 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.¿Se han tenido en cuenta todos los objetivos a la hora de diseñar los casos de prueba? .Análisis de los resultados obtenidos con cada prueba.

Para ello. En otras actividades de control de calidad. ya que siempre es necesario un paso de diagnóstico hasta que se localiza la causa de los fallos. como una cadena de un como lenguaje formal. Por ello. se localizan directamente los defectos. los basados en la aproximación de Dijkstra [Dijkstra. Por lo general. esta técnica sólo se utiliza para sistemas críticos. Es también necesario que la especificación se haya escrito en algún lenguaje formal. y este es un punto en contra de las pruebas como técnica de control de calidad.CALIDAD DE SOFTWARE Consiste en demostrar matemáticamente la corrección de un programa con respecto a sus especificaciones. por el contrario. después del proceso de depuración será necesario repetir el proceso de prueba. se deben seleccionar especialmente aquellos casos de prueba que incidan en las secciones del programa más complejas. A continuación veremos cuáles son las actividades que es necesario realizar para probar un sistema software. Los métodos de verificación formal de programas más conocidos son los basados en la lógica de Hoare [Hoare. con una sintaxis y una semántica formal. Por eso es muy importante seleccionar bien las pruebas que se van a realizar. como pueden ser las revisiones. El objetivo del proceso de prueba no es. Lo único que hay es un conjunto de aproximaciones metodológicas que facilitan y hacen más eficiente el proceso de prueba. Por lo general. 1987]. por lo que nos ahorramos el proceso de diagnóstico. FELIPE OMAR ALIAGA CAVERO 41 . como pudiera parecer. 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. En un proyecto grande la prueba se puede llevar hasta el 50 o 60% del es esfuerzo dedicado al proyecto. en la tolerancia a fallos del diseño. para garantizar que el defecto quedó efectivamente corregido y que no se introdujeron nuevos defectos. se considera el programa como un objeto formal. se determina la forma de corregirlo. Hasta la fecha no se ha desarrollado ninguna teoría universalmente aceptada acerca de la prueba de software. Se llama DEPURACIÓN al proceso en el que se localiza el defecto que es la causa de un fallo. 1989] y la aproximación funcional de Milis [Milis. teniendo en cuenta que sólo las pruebas que revelan defectos son las que realmente merecen la pena. las Aunque la prueba es una parte importante del Control de Calidad. 1969]. debido al coste que conlleva. no sus síntomas. Por eso no siempre es posible realizar este tipo de verificación. y cuáles son los principales métodos de prueba que se pueden utilizar. Se llama PRUEBA del Software al proceso en el que se ejecuta un sistema con el objetivo de detectar fallos. es decir. demostrar que el software pudiera está libre de defectos. en los valores límite de las variables. se evalúa el efecto de la corrección y se lleva a cabo l la corrección. ING. El coste de detección de los defectos suele ser mucho mayor que el coste de corrección de los mismos. es importante darse cuenta de que no es la única. sino precisamente descubrir defectos.

y su objetivo es demostrar al usuario que el sistema satisface sus necesidades. La prueba de aceptación se realiza una vez que el sistema se ha implantado en su entorno real de funcionamiento. y se supone que todos módulos son correctos. y su objetivo es comprobar que el sistema satisface los requisitos del usuario. Compatibilidad de tipos entre los argumentos del procedimiento o función y los parámetros de l llamada. e integrar superiores ncrementalmente los niveles inferiores. ING. FELIPE OMAR ALIAGA CAVERO 42 . De big-bang: Consiste en integrar y probar todo al mismo tiempo. Se pueden utilizar tres posibles estrategias de integración: De arriba a abajo (top down): Consiste en empezar la integración y la prueba por (top-down): los módulos que están en los niveles superiores de abstracción. La prueba de integración se realiza a medida que los diferentes módulos del sistema se integran en el mismo. De abajo a arriba (bottom up): Consiste en empezar la integración y la prueba por (bottom-up): los módulos que están en los niveles inferiores de abstracción. bang: - - La prueba del sistema se realiza cuando se han integrado todos los módulos.CALIDAD DE SOFTWARE Tipos de pruebas El proceso de prueba conlleva la realización de un conjunto de tareas a lo largo del ciclo de vida del sistema. De acuerdo con el estándar IEEE 1 1012-1986 el conjunto mínimo de pruebas 1986 que se deben realizar son: La prueba modular consiste en la prueba de cada módulo aislado del resto del sistema. Ya se ha realizado la prueba modular. tanto los fun funcionales como los no funcionales. El objetivo fundamental de esta prueba es comprobar que las interfaces entre los distintos módulos son correctas. Corrección y completitud de las especificaciones de los módulos. e integrar incrementalmente los niveles superiores. Algunas de las comprobaciones que distintos es necesario realizar son: Corrección en la sintaxis en la invocación de procedimientos y funciones.

lo cual resulta imposible en la mayor parte de los casos por producirs producirse una explosión combinatoria. Por eso se utilizan diferentes criterios a la hora de restringir el conjunto de casos de prueba. sino en el conocimiento acerca de la funcionalidad deseada (descripción funcional).CALIDAD DE SOFTWARE A continuación vamos a ver los dos grupos en que se clasifican los métodos de prueba: .Métodos de caja blanca Métodos de caja negra En este tipo de métodos. Los métodos de selección del conjunto de casos de prueba más usuales son: Método de clases de equivalencia Consiste en dividir las posibles entradas al sistema en clases de equivalencia. por lo que sólo va a ser necesario seleccionar un elemento de cada clase de equi equivalencia. de tal las forma que todos los miembros de una misma clase de equivalencia prueben las mismas propiedades en el sistema. A la prueba de caja negra también se le llama prueba funcional o prueba orientada al diseño.Métodos de caja negra . Análisis de valores frontera o valores límite Consiste en seleccionar como casos de prueba aquellos valores de entrada que caen ING. FELIPE OMAR ALIAGA CAVERO 43 . 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. el objeto que se desea probar se ve como una caja negra. Una prueba de caja negra exhaustiva requeriría la rueba generación de un caso de prueba por cada combinación posible (válida o no válida) de los valores de entrada.

Una prueba de caja blanca exhaustiva requeriría la generación de un caso de prueba por cada posible camino.Cobertura de todas las combinaciones de condiciones . Los métodos de caja blanca se pueden clasificar. Como esto no es posible. Cuando el programa incluye estructuras iterativas. Los arcos dirigidos en el grafo representan el sentencias. flujo de control. o para cada columna de la tabla de decisión. Lo que se hace entonces es reducir la tabla de decisión y seleccionar sólo un caso de prueba para todas las causas que producen el mismo efecto.Cobertura de condiciones rtura . en dos grupo Los basados en grupos: métricas de cobertura y los basados en métricas de complejidad 1.Complejidad real (número de caminos ejecutados) Metodología de prueba Cada uno de los diferentes tipos de prueba implica la realización de un conjunto de ada actividades estándar. Para cada conjunto de datos de entrada el programa se ejecutará a través de un camino concreto dentro de este grafo.Cobertura de sentencias . Métodos basados en métricas de complejidad: Las métricas de complejidad más utilizadas en la generación de casos de prueba son las de MacCabe: .CALIDAD DE SOFTWARE en la frontera de las clases de equivalencia (justo a un lado. Grafos causa/ef causa/efecto y tablas de decisión Consiste en crear un grafo causa/efecto a partir de las especificaciones. ING. Métodos basados en métricas de cobertura: Todo programa se puede representar mediante un grafo de flujo de control.Complejidad ciclomática (arcos . y seleccionar suficientes casos de prueba como para asegurar la cobertura del grafo. por lo general. Métodos de caja blanca En este tipo de métodos.nodos + 2 * número de componentes conexos) . diagramas de flujo de datos y de control. A partir del grafo causa/efecto se construye una tabla de decisión que refleje las dependencias entre causas y efectos.Complejidad esencial (complejidad ciclomática . el número de posibles caminos en el grafo puede ser infinito. a su vez. justo al otro y justo en la frontera). código fuente). Adivinación de errores Consiste en tratar de imaginar cuáles son los errores que se pueden haber cometido con mayor probabilidad. A la prueba de caja blanca también se le llama prueba estructural.número de subgrafos propios de entrada y salida única) . y generar casos de prueba para comprobar dichos errores.Cobertura de caminos 2. 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. 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. Se llama causas a las características de los datos de entrada y efectos a las clases de salidas que puede proporcionar el programa. Las métricas más utilizadas son: .Cobertura de segmentos entre decisiones. . FELIPE OMAR ALIAGA CAVERO 44 . así como la producción de un conjunto de salidas estándar.Cobertura de decisiones de ramificación . donde cada nodo es una sentencia o una secuencia de sentencias. el objeto que se desea probar se ve como una caja blanca.

El método de prueba a utilizar. 6.Los objetos que hay que probar.Los recursos que se van a emplear. Diseño de la prueba. y registrar los incidentes o problemas encontrados durante la misma.qué criterios se van a utilizar para determinar si el objeto pasa o no pasa la prueba. Determinación de los casos de prueba.CALIDAD DE SOFTWARE Actividades Estándar de la Prueba Planificación de la prueba.las condiciones de terminación de cada uno de ellos. Planificación del procedimiento de prueba: Esta actividad consiste en fijar un conjunto de pasos para la ejecución de la prueba. según el procedimiento especificado en el paso anterior.El plan de tiempos. Especificación del procedimiento de prueba.qué objetos se van a probar. Informe de la prueba. 3.El objetivo del proceso de prueba. Ejecución de la prueba: Esta actividad consiste en ejecutar cada caso de prueba. Se especifica detalladamente: . . Documento de diseño de la prueba. Las .El reparto de las responsabilida responsabilidades. Planificación del procedimiento de prueba.la secuencia exacta de ejecución de los distintos casos de prueba. . .de qué forma se van a utilizar los métodos de prueba.Los productos a generar durante las pruebas . Análisis y evaluación de prueba. . Diseño de la prueba: Esta actividad consiste en dar instrucciones detalladas acerca de: . 5.cómo llevar a cabo la prueba para alcanzar los objetivos deseados. Análisis y evaluación de la prueba: Se examinan los resultados de la prueba y se decide si se han alcanzado los objetivos propuestos o se debe repetir la prueba. FELIPE OMAR ALIAGA CAVERO 45 . Para diseño cada caso de prueba habrá que especificar: . Determinación de los casos de prueba: Esta actividad consiste en especificar el conjunto de casos de prueba a utilizar en función del diseño realizado para la prueba. Informe de los casos de prueba. .qué entradas se les van a dar y .cuáles son las salidas esperadas. Salidas Estándar asociadas Plan de prueba. Planificación de la prueba: Esta actividad consiste en la creación de un plan de pruebas en el que se registra: . . . Especificación de los casos de prueba. Ejecución de la prueba.qué objetos se van a probar en c cada una de las pruebas y . 2. 1.los requisitos que hay que cumplir para la ejecución de cada caso y . -Las características que se van a probar y las que no. == FIN DE LA ASIGNATURA == ING. . 4.

Sign up to vote on this title
UsefulNot useful