Podcast
Questions and Answers
¿Cuál es el principal objetivo de las empresas respecto a la calidad del software?
¿Cuál es el principal objetivo de las empresas respecto a la calidad del software?
- Adaptarse a las necesidades del cliente. (correct)
- Implementar las últimas tecnologías.
- Minimizar el costo de desarrollo.
- Maximizar la cantidad de funcionalidades.
Según la IEEE, un software de calidad es aquel que supera las expectativas del cliente, aunque tenga una mala combinación de atributos.
Según la IEEE, un software de calidad es aquel que supera las expectativas del cliente, aunque tenga una mala combinación de atributos.
False (B)
¿Cuál de los siguientes NO es un atributo de un producto de software de alta calidad?
¿Cuál de los siguientes NO es un atributo de un producto de software de alta calidad?
- Cero defectos
- Alta performance
- Bajo costo de mantenimiento (correct)
- Mucha funcionalidad
¿Qué implica la 'Mantenibilidad Reparabilidad' en un producto de software?
¿Qué implica la 'Mantenibilidad Reparabilidad' en un producto de software?
La __________ del software mide la eficiencia del proceso de desarrollo, considerando los recursos y el código necesarios.
La __________ del software mide la eficiencia del proceso de desarrollo, considerando los recursos y el código necesarios.
Relaciona cada tipo de prueba con su descripción:
Relaciona cada tipo de prueba con su descripción:
¿Cuál es la principal diferencia entre las pruebas de caja negra y caja blanca?
¿Cuál es la principal diferencia entre las pruebas de caja negra y caja blanca?
En el desarrollo de software, integrar la calidad solo al final del proyecto es suficiente para asegurar la excelencia.
En el desarrollo de software, integrar la calidad solo al final del proyecto es suficiente para asegurar la excelencia.
¿Qué implica la 'Visibilidad' como atributo de calidad en un proceso de desarrollo de software?
¿Qué implica la 'Visibilidad' como atributo de calidad en un proceso de desarrollo de software?
Según el texto, ¿qué significa 'Aseguramiento de la calidad' (QA)?
Según el texto, ¿qué significa 'Aseguramiento de la calidad' (QA)?
El __________ de calidad (QC) verifica que un producto sea útil, seguro y cumpla sus funciones correctamente.
El __________ de calidad (QC) verifica que un producto sea útil, seguro y cumpla sus funciones correctamente.
¿Cuál de las siguientes opciones describe mejor el enfoque del 'Control de Calidad' (QC)?
¿Cuál de las siguientes opciones describe mejor el enfoque del 'Control de Calidad' (QC)?
El aseguramiento de la calidad (QA) se centra principalmente en la validación del producto final.
El aseguramiento de la calidad (QA) se centra principalmente en la validación del producto final.
¿Cuál es el objetivo principal de las auditorías de configuración?
¿Cuál es el objetivo principal de las auditorías de configuración?
Según el texto, ¿qué implica el Proceso de Administración de Configuración?
Según el texto, ¿qué implica el Proceso de Administración de Configuración?
La __________ de configuración identifica los componentes del producto para administrarlos, registrando los motivos y quienes realizaron los cambios.
La __________ de configuración identifica los componentes del producto para administrarlos, registrando los motivos y quienes realizaron los cambios.
¿Qué tipo de herramienta se utiliza para almacenar las diferentes versiones de los componentes en la administración de configuraciones?
¿Qué tipo de herramienta se utiliza para almacenar las diferentes versiones de los componentes en la administración de configuraciones?
El consejo de control de cambios (CCB) se centra únicamente en aspectos técnicos al evaluar peticiones de cambio.
El consejo de control de cambios (CCB) se centra únicamente en aspectos técnicos al evaluar peticiones de cambio.
¿Cuál es la finalidad de las auditorías de configuración funcional (FCA)?
¿Cuál es la finalidad de las auditorías de configuración funcional (FCA)?
Según lo expuesto, ¿qué es una 'entrega de software'?
Según lo expuesto, ¿qué es una 'entrega de software'?
Las herramientas de administración de versiones gestionan un __________ de elementos de configuración donde su contenido es inmutable.
Las herramientas de administración de versiones gestionan un __________ de elementos de configuración donde su contenido es inmutable.
¿Cuál de las siguientes opciones describe mejor el propósito del 'testing'?
¿Cuál de las siguientes opciones describe mejor el propósito del 'testing'?
Las pruebas de software garantizan que el software no tenga fallos.
Las pruebas de software garantizan que el software no tenga fallos.
¿Cuál de los siguientes axiomas es clave en el proceso de testing?
¿Cuál de los siguientes axiomas es clave en el proceso de testing?
En el proceso de prueba, ¿cuál es la diferencia entre un error y una falla?
En el proceso de prueba, ¿cuál es la diferencia entre un error y una falla?
En el diseño de pruebas, el __________ de la prueba consume tiempo y dinero; se debe buscar la mayor cantidad de defectos en el menor tiempo posible.
En el diseño de pruebas, el __________ de la prueba consume tiempo y dinero; se debe buscar la mayor cantidad de defectos en el menor tiempo posible.
¿Cuál es el objetivo principal de las técnicas de prueba estática?
¿Cuál es el objetivo principal de las técnicas de prueba estática?
En las recorridas de código, el objetivo principal es corregir los errores encontrados durante la revisión.
En las recorridas de código, el objetivo principal es corregir los errores encontrados durante la revisión.
¿En qué consiste el análisis formal como técnica de prueba?
¿En qué consiste el análisis formal como técnica de prueba?
Según el texto, ¿cómo se define una 'clase de equivalencia' en las pruebas de software?
Según el texto, ¿cómo se define una 'clase de equivalencia' en las pruebas de software?
¿Cómo impacta la calidad del proceso de desarrollo de software en el producto final según el texto?
¿Cómo impacta la calidad del proceso de desarrollo de software en el producto final según el texto?
¿Cuál es la implicación de la 'Productividad' como atributo de calidad en el proceso de desarrollo de software?
¿Cuál es la implicación de la 'Productividad' como atributo de calidad en el proceso de desarrollo de software?
¿Qué distingue a una 'Auditoría de Configuración Funcional (FCA)' de otros tipos de auditorías en la administración de configuración?
¿Qué distingue a una 'Auditoría de Configuración Funcional (FCA)' de otros tipos de auditorías en la administración de configuración?
Considerando los 'Elementos de Configuración' en la administración de configuraciones, ¿cuál de las siguientes opciones describe mejor su propósito?
Considerando los 'Elementos de Configuración' en la administración de configuraciones, ¿cuál de las siguientes opciones describe mejor su propósito?
¿Cuál es el enfoque principal al crear una nueva versión de un sistema bajo un 'proceso de administración del cambio sencillo'?
¿Cuál es el enfoque principal al crear una nueva versión de un sistema bajo un 'proceso de administración del cambio sencillo'?
¿Cuál es la diferencia clave entre 'versión de un software' y 'entrega de un software'?
¿Cuál es la diferencia clave entre 'versión de un software' y 'entrega de un software'?
¿Qué implica que el contenido de un 'repositorio de elementos de configuración' sea 'inmutable' en la administración de versiones?
¿Qué implica que el contenido de un 'repositorio de elementos de configuración' sea 'inmutable' en la administración de versiones?
¿Cuál es el propósito principal de 'provocar fallas' como objetivo de las actividades de Verificación y Validación (V&V)?
¿Cuál es el propósito principal de 'provocar fallas' como objetivo de las actividades de Verificación y Validación (V&V)?
En el contexto de las pruebas de software, ¿qué significa que 'el test debe ser reproducible'?
En el contexto de las pruebas de software, ¿qué significa que 'el test debe ser reproducible'?
Dado el axioma del testing que indica que 'a medida que avanza el testeo crece la probabilidad de no encontrar errores', ¿cómo deberían los testers adaptar su estrategia?
Dado el axioma del testing que indica que 'a medida que avanza el testeo crece la probabilidad de no encontrar errores', ¿cómo deberían los testers adaptar su estrategia?
¿Cómo se diferencia una 'recorrida de código' de una 'inspección de código' en las técnicas de prueba estática?
¿Cómo se diferencia una 'recorrida de código' de una 'inspección de código' en las técnicas de prueba estática?
En el 'análisis formal' como técnica de prueba, ¿qué implicación tiene la objeción de que 'la especificación puede ser incorrecta'?
En el 'análisis formal' como técnica de prueba, ¿qué implicación tiene la objeción de que 'la especificación puede ser incorrecta'?
En las pruebas de software, ¿cómo se relaciona el concepto de 'clase de equivalencia' con la 'partición de equivalencia'?
En las pruebas de software, ¿cómo se relaciona el concepto de 'clase de equivalencia' con la 'partición de equivalencia'?
¿Cuál es la principal diferencia entre las técnicas de prueba estática y dinámica en relación con el ambiente donde se usa el software?
¿Cuál es la principal diferencia entre las técnicas de prueba estática y dinámica en relación con el ambiente donde se usa el software?
¿Cómo influye la 'historia de defectos' en la técnica de prueba 'Error Guessing'?
¿Cómo influye la 'historia de defectos' en la técnica de prueba 'Error Guessing'?
¿Cuál es la implicación práctica de que las pruebas de software 'no garantizan que el software no tenga fallos'?
¿Cuál es la implicación práctica de que las pruebas de software 'no garantizan que el software no tenga fallos'?
¿Qué rol juega el 'Autor' en una 'recorrida de código'?
¿Qué rol juega el 'Autor' en una 'recorrida de código'?
¿Qué característica principal debe tener una 'lista de verificación eficiente (checklist)' según lo expuesto?
¿Qué característica principal debe tener una 'lista de verificación eficiente (checklist)' según lo expuesto?
Si se está evaluando un punto del checklist y se determina que 'se ha incluido en el producto un elemento o componente innecesario', ¿a qué clase de error corresponde?
Si se está evaluando un punto del checklist y se determina que 'se ha incluido en el producto un elemento o componente innecesario', ¿a qué clase de error corresponde?
¿Qué implica que una organización 'establezca acuerdos' al evaluar la calidad de su producto?
¿Qué implica que una organización 'establezca acuerdos' al evaluar la calidad de su producto?
¿Por qué es importante 'poner el producto en producción y comprobar que no comprometa al resto de sistemas' al evaluar la calidad?
¿Por qué es importante 'poner el producto en producción y comprobar que no comprometa al resto de sistemas' al evaluar la calidad?
Según lo expuesto, ¿qué es un 'Modelo de calidad de software'?
Según lo expuesto, ¿qué es un 'Modelo de calidad de software'?
¿Qué implica la ausencia de 'asociación de modelos de calidad y el proceso de desarrollo del software' como desafío para el desarrollo de modelos de calidad estándar?
¿Qué implica la ausencia de 'asociación de modelos de calidad y el proceso de desarrollo del software' como desafío para el desarrollo de modelos de calidad estándar?
¿Cuál es el propósito de las 'Métricas de calidad de software'?
¿Cuál es el propósito de las 'Métricas de calidad de software'?
¿Qué norma describe el modelo de procesos del ciclo de vida del software y el método para evaluar su calidad y madurez?
¿Qué norma describe el modelo de procesos del ciclo de vida del software y el método para evaluar su calidad y madurez?
Según lo expuesto, ¿cuál es uno de los beneficios clave de lograr la 'Certificación del Modelo de Madurez'?
Según lo expuesto, ¿cuál es uno de los beneficios clave de lograr la 'Certificación del Modelo de Madurez'?
¿Cuál es la finalidad de la 'Evaluación del proceso' en los modelos de calidad personalizados basados en la norma ISO?
¿Cuál es la finalidad de la 'Evaluación del proceso' en los modelos de calidad personalizados basados en la norma ISO?
Dentro del 'Sistema de Gestión de Calidad', ¿cuál es la función del Modelo de la ISO 9001:2015?
Dentro del 'Sistema de Gestión de Calidad', ¿cuál es la función del Modelo de la ISO 9001:2015?
En el contexto de las 'Auditorías / Gestión de Calidad', ¿qué distingue a una 'Auditoría Interna (19011)'?
En el contexto de las 'Auditorías / Gestión de Calidad', ¿qué distingue a una 'Auditoría Interna (19011)'?
¿Qué son los 'Criterios de Auditoría' en el contexto de las auditorías de calidad?
¿Qué son los 'Criterios de Auditoría' en el contexto de las auditorías de calidad?
Al utilizar la técnica de '5 porqués', ¿cuál es el objetivo principal?
Al utilizar la técnica de '5 porqués', ¿cuál es el objetivo principal?
¿Cómo se aplica la técnica de 'Pareto' en la mejora de procesos?
¿Cómo se aplica la técnica de 'Pareto' en la mejora de procesos?
¿Cuál es el propósito de la técnica '5W2H' en la planificación de acciones futuras?
¿Cuál es el propósito de la técnica '5W2H' en la planificación de acciones futuras?
Según lo expuesto, ¿qué es el 'CMMI (integración de modelos de madurez de capacidades)'?
Según lo expuesto, ¿qué es el 'CMMI (integración de modelos de madurez de capacidades)'?
¿Cuál es la función de las 'Normas ISO/IEC 25000'?
¿Cuál es la función de las 'Normas ISO/IEC 25000'?
Flashcards
¿Qué es Calidad en Ingeniería de Software?
¿Qué es Calidad en Ingeniería de Software?
Es una característica o atributo mensurable de algo en ingeniería de software.
Calidad según la IEEE
Calidad según la IEEE
Aquel que cumple las expectativas del cliente y posee una buena combinación de atributos.
Planificación de la calidad
Planificación de la calidad
Adaptar el marco de procedimientos y estándares a un proyecto de software específico.
Control de calidad
Control de calidad
Signup and view all the flashcards
Calidad del proceso de desarrollo
Calidad del proceso de desarrollo
Signup and view all the flashcards
Correctitud
Correctitud
Signup and view all the flashcards
Confiabilidad
Confiabilidad
Signup and view all the flashcards
Robustez
Robustez
Signup and view all the flashcards
Performance
Performance
Signup and view all the flashcards
Amigabilidad
Amigabilidad
Signup and view all the flashcards
Verificabilidad
Verificabilidad
Signup and view all the flashcards
Mantenibilidad
Mantenibilidad
Signup and view all the flashcards
Mantenibilidad Evolutiva
Mantenibilidad Evolutiva
Signup and view all the flashcards
Portabilidad
Portabilidad
Signup and view all the flashcards
Interoperabilidad
Interoperabilidad
Signup and view all the flashcards
Integridad
Integridad
Signup and view all the flashcards
Productividad (en el proceso)
Productividad (en el proceso)
Signup and view all the flashcards
Oportunidad (en el proceso)
Oportunidad (en el proceso)
Signup and view all the flashcards
Visibilidad (en el proceso)
Visibilidad (en el proceso)
Signup and view all the flashcards
Caja negra
Caja negra
Signup and view all the flashcards
Caja blanca
Caja blanca
Signup and view all the flashcards
Regla cardinal de la calidad
Regla cardinal de la calidad
Signup and view all the flashcards
Aseguramiento de Calidad (QA)
Aseguramiento de Calidad (QA)
Signup and view all the flashcards
Control de Calidad (QC)
Control de Calidad (QC)
Signup and view all the flashcards
Proceso de software
Proceso de software
Signup and view all the flashcards
Testing
Testing
Signup and view all the flashcards
Identificación de defectos
Identificación de defectos
Signup and view all the flashcards
Corrección de defectos
Corrección de defectos
Signup and view all the flashcards
Auditorías de configuración funcional (FCA)
Auditorías de configuración funcional (FCA)
Signup and view all the flashcards
Auditorías de configuración física (PCA)
Auditorías de configuración física (PCA)
Signup and view all the flashcards
¿Cuál es el objetivo principal de las empresas?
¿Cuál es el objetivo principal de las empresas?
Signup and view all the flashcards
¿Quién se ve afectado por los defectos en el software?
¿Quién se ve afectado por los defectos en el software?
Signup and view all the flashcards
¿Qué implica la planificación de la calidad?
¿Qué implica la planificación de la calidad?
Signup and view all the flashcards
¿En qué consiste el coste de calidad?
¿En qué consiste el coste de calidad?
Signup and view all the flashcards
¿Qué deben hacer los clientes respecto a la calidad?
¿Qué deben hacer los clientes respecto a la calidad?
Signup and view all the flashcards
¿Qué deben hacer los desarrolladores para obtener calidad?
¿Qué deben hacer los desarrolladores para obtener calidad?
Signup and view all the flashcards
¿Que deben hacer los desarrolladores para gestionar la calidad?
¿Que deben hacer los desarrolladores para gestionar la calidad?
Signup and view all the flashcards
¿Qué determina la calidad de un producto?
¿Qué determina la calidad de un producto?
Signup and view all the flashcards
¿Qué tipo de pruebas se deben tener?
¿Qué tipo de pruebas se deben tener?
Signup and view all the flashcards
¿Quiénes producen la calidad?
¿Quiénes producen la calidad?
Signup and view all the flashcards
¿En qué debe insistir el gestor de calidad?
¿En qué debe insistir el gestor de calidad?
Signup and view all the flashcards
¿Cuál es el objetivo del control de calidad (QC)?
¿Cuál es el objetivo del control de calidad (QC)?
Signup and view all the flashcards
¿Cuál es el objetivo del aseguramiento de calidad (QA)?
¿Cuál es el objetivo del aseguramiento de calidad (QA)?
Signup and view all the flashcards
¿Cuál es la actividad principal en el control de calidad (QC)?
¿Cuál es la actividad principal en el control de calidad (QC)?
Signup and view all the flashcards
¿Cuál es la actividad principal en el aseguramiento de calidad (QA)?
¿Cuál es la actividad principal en el aseguramiento de calidad (QA)?
Signup and view all the flashcards
¿Qué pregunta se hace en la validación?
¿Qué pregunta se hace en la validación?
Signup and view all the flashcards
¿Qué pregunta se hace en la verificación?
¿Qué pregunta se hace en la verificación?
Signup and view all the flashcards
¿Quiénes deben quedar satisfechos con el software?
¿Quiénes deben quedar satisfechos con el software?
Signup and view all the flashcards
¿Cuáles son los objetivos que tiene QA?
¿Cuáles son los objetivos que tiene QA?
Signup and view all the flashcards
¿Qué debe hacer QA ante una desviación?
¿Qué debe hacer QA ante una desviación?
Signup and view all the flashcards
¿Cuáles son las funciones de QA?
¿Cuáles son las funciones de QA?
Signup and view all the flashcards
¿Cuál es el rol de QA?
¿Cuál es el rol de QA?
Signup and view all the flashcards
¿Cuál es la responsabilidad de QA?
¿Cuál es la responsabilidad de QA?
Signup and view all the flashcards
¿Qué son las checklists (listas de verificación)?
¿Qué son las checklists (listas de verificación)?
Signup and view all the flashcards
¿Qué es un modelo de calidad de software?
¿Qué es un modelo de calidad de software?
Signup and view all the flashcards
¿Qué son las métricas de calidad de software?
¿Qué son las métricas de calidad de software?
Signup and view all the flashcards
¿Qué es la Certificación del Modelo de Madurez?
¿Qué es la Certificación del Modelo de Madurez?
Signup and view all the flashcards
¿Qué son las Normas ISO/IEC 25000?
¿Qué son las Normas ISO/IEC 25000?
Signup and view all the flashcards
¿Qué es la Administración de Configuración?
¿Qué es la Administración de Configuración?
Signup and view all the flashcards
¿Qué son los procedimientos de administración de configuraciones?
¿Qué son los procedimientos de administración de configuraciones?
Signup and view all the flashcards
¿Qué son las herramientas de administración de configuraciones?
¿Qué son las herramientas de administración de configuraciones?
Signup and view all the flashcards
¿Quiénes son los gestores de la configuración?
¿Quiénes son los gestores de la configuración?
Signup and view all the flashcards
¿Qué hace el equipo de administración de configuraciones?
¿Qué hace el equipo de administración de configuraciones?
Signup and view all the flashcards
¿Que confirman las auditorías de configuración?
¿Que confirman las auditorías de configuración?
Signup and view all the flashcards
¿Qué es Gestión de versiones y entrega?
¿Qué es Gestión de versiones y entrega?
Signup and view all the flashcards
¿Qué es Entrega de un software?
¿Qué es Entrega de un software?
Signup and view all the flashcards
¿Qué son las Recorridas?
¿Qué son las Recorridas?
Signup and view all the flashcards
¿Qué son las Inspecciones?
¿Qué son las Inspecciones?
Signup and view all the flashcards
¿Qué es Prueba de software?
¿Qué es Prueba de software?
Signup and view all the flashcards
Study Notes
Módulo 1: Atributos de Calidad del Software
- El principal objetivo para las empresas es lograr calidad, adaptándose a las necesidades del cliente
- Calidad en Ingeniería de Software es una característica o atributo que se puede medir
- Para la IEEE, un software de calidad cumple las expectativas del cliente y combina bien los atributos
- Para los usuarios, cero defectos es alta calidad por el impacto en su trabajo
- Para los gerentes, cero defectos es alta calidad por la posibilidad de recibir críticas
- Para los usuarios, mucha funcionalidad es alta calidad si se benefician de opciones implementadas
- Para los vendedores, mucha funcionalidad es alta calidad por el argumento de venta
- Para los usuarios, alto rendimiento es alta calidad si su trabajo está ligado al tiempo de respuesta
- Para los vendedores, alto rendimiento es alta calidad si las ventas asocian el tiempo de respuesta
- El bajo costo de desarrollo es alta calidad para los clientes que compran el software
- Para los PMs, el bajo coste de desarrollo es alta calidad para la construcción con presupuestos limitados
- La rapidez de la construccion es una alta calidad para los usuarios cuando esperan un nuevo producto
- La rapidez de la construccion es una alta calidad para los vendedores cuando quieren capturar el mercado primero
- Para los usuarios, la facilidad de uso es alta calidad cuando están aprendiendo cómo usar el producto
¿Qué es un Producto de Software con Calidad?
- Cero defectos es alta calidad
- Mucha funcionalidad es alta calidad
- Alto rendimiento es alta calidad
- Bajo coste de desarrollo es alta calidad
- Rapidez en la construcción es alta calidad
- Facilidad de uso es alta calidad
Problemas Asociados a la Calidad del Software
- La especificación de calidad se enfoca en las características del producto que el consumidor desea
- Hay dificultad para especificar características de calidad de forma no ambigua
- No es posible especificar un software de manera concreta; a pesar de que un producto cumpla con la especificación, los usuarios pueden no considerarlo de alta calidad si no cumple sus expectativas
- La solución es diseñar procesos de calidad que no dependan de una especificación perfecta
- La gestión de la calidad es lo más importante en la práctica
Actividades Principales en la Administración de Calidad de un Proyecto
- Garantía de la calidad: establecer un marco de procedimientos y estándares para un software de alta calidad
- Planificación de la calidad: adaptar el marco a un proyecto de software específico
- Control de calidad: definir y fomentar procesos para garantizar que se sigan los procedimientos y estándares
- Coste de calidad: considerar todos los costos en la búsqueda de la calidad
- Cuanto más cerca se está de finalizar el desarrollo del software, más costosa es su solución
Principios de Calidad del Software
- Se debe describir cuál es la calidad esperada y qué combinación de atributos se desean del software
- Los desarrolladores deben gestionar la calidad, comprometiéndose a desarrollos de calidad y revisando el funcionamiento y desarrollo de los productos
- Los desarrolladores deben medir la calidad para cuantificar errores y crear registros
- La calidad del producto se determina por el proceso usado para desarrollarlo, con alta probabilidad de calidad si el proceso y la materia prima son de alta calidad
- Las pruebas solo solucionan una fracción de los defectos, requiriéndose pruebas funcionales y no funcionales gestionadas de forma planificada y organizada
Calidad del Producto y del Proceso
- La calidad del proceso de desarrollo del software afecta directamente/tiene una influencia significativa en la calidad de los productos derivados
- La gestión y mejora de la calidad del proceso debe minimizar los defectos en el software entregado
Gestión de Calidad del Proceso
- Definir estándares que el proceso debe seguir
- Supervisar el proceso de desarrollo para asegurar que se sigan los estándares
- Elaborar informes del proceso para el gestor del proyecto y el comprador del software
- Los gestores de calidad deben utilizar estándares de proceso dependiendo del tipo de software para asegurar que el proceso de calidad ayude al desarrollo del producto
Factores / Atributos de Calidad del Software
- Factores/Atributos que afectan a la calidad del producto de software
- Correctitud/Funcionalmente Correcto: el producto se comporta según la especificación
- Confiabilidad/Confiable: el usuario puede depender de que el software opere como se espera en un tiempo especificado
- Robustez: Se comporta razonablemente, aun en circunstancias imprevistas
- Performance/Rendimiento: Usa los recursos económicamente y eficientemente
- Amigabilidad/Amigable: El usuario considera fácil de usar
- Verificabilidad/Verificable: Sus propiedades se pueden verificar fácilmente
- Mantenibilidad: modificaciones hechas después de la entrega inicial para corregir errores o mejorar el producto
- Mantenibilidad Reparabilidad: un software es reparable si permite corregir defectos con poco trabajo
- Mantenibilidad evolutiva/Evolutividad: productos de software modificados para nuevas funciones o cambios
- Portabilidad: Es portable si corre en distintos ambientes
- Interoperabilidad: Habilidad de un sistema para coexistir con otros, estandarización de interfaces
- Integridad: Controla accesos no autorizados a datos o software
Atributos de Calidad del Proceso
- Productividad: Mide la eficiencia, con una entrega rápida por la cantidad de recursos y código necesarios
- La reusabilidad del software influye en la productividad
- Oportunidad: Es la habilidad para entregar a tiempo, con metas definidas y buena estimación
- Visibilidad: Un proceso visible debe tener todos sus pasos y el estado actual documentados y accesibles
Pruebas de Caja Negra y Caja Blanca
- Dos maneras de probar un producto construido
- Caja negra: Prueba funciones específicas demostrando que operan plenamente; se aplica a la interfaz y examina aspectos funcionales sin revisar la estructura interna
- Caja blanca/cristal: Asegura que todas las piezas encajen probando rutas lógicas y colaboración entre componentes; en forma de prueba de ruta básica y es más costosa
Reglas de Calidad
- Tener una relación mutuamente beneficiosa con el proveedor
- Tomar decisiones basadas en hechos
- Que el crecimiento no rompa la calidad
- Participación del personal con compromiso y difusión de las mejores prácticas
- Ser proactivo y un rol modelo a seguir al cometer errores
- Enfoque a los procesos
- Nunca dar la calidad por hecho, tiene que ser lo primero
- Organizaciones se basan en los clientes, comprendiendo la necesidasd y trabajando para superarla
Unidad 2. Calidad del Software
- Ser proactivo y modelo a seguir al cometer errores
- Enfoque a los procesos
- Nunca dar la calidad por hecho, tiene que ser lo primero
Aseguramiento de la Calidad != Control de Calidad
- Aseguramiento de la calidad : Actividades planificadas y sistemáticas para asegurar que un producto cumple con los requisitos de calidad
- Control de la calidad: Verificar que un producto sea útil, seguro y cumpla sus funciones correctamente
- QC busca detectar problemas en los productos de trabajo y revisarlos, la meta es producir software usable
- QA busca asegurar la adherencia a los procesos y estándares y por eso guía y monitorea los procesos utilizados y monitorea las revisiones
Proceso de Software
- Conjunto de herramientas, métodos y prácticas usados para producir un producto de software
Testing
- Operar un sistema/componente bajo ciertas condiciones, observar y registrar resultados para después evaluarlos
Activos/Elementos del Proceso de Software
- Proceso (el qué): actividades para un propósito
- Procedimientos (el cómo): pasos específicos y criterios para cumplir las actividades
- Estándares: sabiduría de la comunidad de ingeniería
- Plantillas: bosquejo del producto de trabajo
- Producto de trabajo: resultados tangibles de un proceso
- Política: Compromiso adoptado por la organización
- Actividad: acciones tomadas para crear/producir
- Rol: persona, grupo o sistema que ejecuta actividades
- Calidad del producto del software
Quiénes Quedan Satisfechos
- Clientes, patrocinadores, usuarios, desarrolladores
Problemas Asociados a la Calidad
- Falta de comprensión del rol de la calidad
- Falta de confianza en el valor de la calidad
- Creer que Aseguramiento de Calidad (QA) es testing
- Falta de respeto hacia QA
- Existencia de estándares inútiles
- Soporte inadecuado desde la gerencia
Calidad del Producto desde la Visión de QA
- Objetivos de QA:
- Mejorar la calidad monitoreando productos de software y el proceso de desarrollo
- Asegurar el apego a los estándares y procesos
Las Funciones de QA
- Elevar a la gerencia cualquier desviación para que se tomen medidas
- Asistir a los equipos de proyectos en la elaboración de planes/procedimientos
- Dar seguimiento a las no conformidades elevadas
Responsabilidades de QA
- Las responsabilidades de aseguramiento de la calidad (QA) se cumplen durante todas las fases del ciclo de vida
- Asegurar la correctitud de los planes del proyecto y su seguimiento
- Asistir al equipo en la elaboración de productos de calidad
- Asegurar que los procesos sean usados y útiles
Planificación de QA (Plan de QA)
- La planificación de la calidad define la calidad de un software deseado y define lo que es software de "alta calidad"
- El plan de QA es un mapa para institucionalizar la garantía de calidad
- Checklists: ayudan a asegurar que se cubran las características de calidad
- Concisos y precisos, no más de una página
- Completo, identifica todos los puntos esenciales
- Genérico, se puede aplicar a diferentes productos
- Consistente, puntos expresados de la misma forma
Lista de verificación Estandarizada
- Al evaluar elementos de una checklist, se debe considerar la severidad, el efecto en otros productos, su clase (omisión, excedente, incorrecto) y la prioridad
- La severidad debe ser mayor menor
- El efecto sobre otros productos (si vertical - no horizontal)
- La clase puede ser omisión, excedente o incorrecto
- La prioridad es alta, media o baja
Evaluación de la Calidad del Software
- La calidad del producto: se evalúa la calidad del software para garantizar que cumpla con la calidad adecuada; se usan métricas validadas y aceptadas para verificar los atributos
Evaluaciones para asegurar la calidad
- Interna y externa: Un producto se ve desde adentro (si cumple con lo planificado) o desde afuera (si cumple con las expectativas del cliente)
- Calidad en uso: Perspectiva del usuario en un contexto específico
- Calidad a nivel de proceso: Programar calidad durante el ciclo de desarrollo
- Calidad a nivel de producto: Especificar y evaluar cumplimiento
Importancia de evaluar el producto para las organizaciones:
- Diferenciarse de la competencia asegurando tiempos de entrega
- Establecer acuerdos definiendo ciertos parámetros de calidad antes de la entrega
- Detectar defectos y eliminarlos antes del lanzamiento
- Evaluar y controlar el rendimiento
- Asegurar la seguridad
Beneficios de Evaluar la Calidad del Producto para los Organismos de Desarrollo
- Controlar la calidad del producto
- Mejorar las características del producto
- Asegurar a los clientes el nivel de calidad
- Comparar con productos de la competencia
- Posicionar el producto en el mercado
- Aumentar las ventas del producto
Beneficios de Evaluar la Calidad del Producto para los Organismos que Adquieren Software
- Conocer la calidad del producto que compran
- Comparar alternativas
- Establecer acuerdos de nivel de servicio
- Conseguir independencia del proveedor
- Minimizar fallos en producción
- Reducir costos finales de comparar
Métricas y Normas de Calidad
- Un modelo de calidad del software es un documento que recolecta buenas prácticas para evaluar la calidad
- La organización debe definir un proceso para mantener y evaluar la calidad
Problemas que Acarrean Desafíos al Desarrollar Modelos de Calidad Estándar
- Ausencia de asociación entre modelos de calidad y proceso
- Modelos de calidad no evolutivos ni mantenibles
- Modelos de calidad generales
- Negligencia del control de riesgo
- Falta de participación de interesados
- Subjetividad en la evaluación
- La ausencia de directrices o documentos necesarios
Métricas de Calidad del Software
- Son un conjunto de medidas para estimar la calidad de un proyecto a desarrollar
- Los atributos se conectan con las métricas ya que quieren evaluar su adherencia en el proyecto
Unidad 3. Proceso de Certificación
- La certificación del modelo de madurez es una herramienta para mejorar la calidad en el desarrollo
- Está basado en las normas ISO/IEC 12207 e ISO/IEC 33000
- El modelo además se alinea e integra fácilmente a ISO 27001 e ISO 25000
Modelos de Certificación ISO
- ISO 12207: Guía del ciclo de vida del desarrollo de software
- ISO 25000: Calidad del producto de software: Permite conocer la calidad y poder comprar y/o desarrollar
Resultados al Superar el Proceso de Auditoría
- Certificado del modelo de madurez de la ingeniería del software
- La licencia de uso de la marca madurez del software
Beneficios al certificar Software:
- Diferenciarse de los competidores (asegura tiempos y reduce fallos)
- Establecer acuerdos (Define ciertos parámetros de calidad antes de la entrega)
- Detectar defectos y eliminarlos antes de la entrega
- Evaluar y controlar el rendimiento
- Garantizar niveles de seguridad necesarios
Modelos de Calidad Personalizados basados en la norma ISO
- Los modelos evalúan procesos de desarrollo y establecen una evaluación que asegure repetibilidad y consistencia
- Evaluación del Proceso -> Conocer la capacidad de los procesos organizacionales y determinar la info que los caracteriza
ISO 14598: Evaluación del Proceso del Software
- 9126-1 Modelo de calidad
- 9126-2 Métricas externas
- 9126-3 Métricas internas
- 9123-4 Métricas de calidad en uso
- 14598-1 Visión General
- 14598-2 Planeamiento y gestión
- 14598-3 Proceso para desarrolladores
- 14598-4 Proceso para compradores
- 14598-5 Proceso para evaluadores
- 14598-6 Documentación de los módulos de evaluación
- Estándar ISO/IEC 15504 -> proceso de evaluación
- Planificar, hacer, verificar y actuar
- Auditoría interna (19011) -> Busca verificar el sistema de calidad, su eficacia en la implementación y el mantenimiento
Criterios a seguir en auditorías
- Criterios de Auditoría: Conjunto de políticas, procedimientos o requisitos usados como referencia.
- Evidencia de Auditoría: Registros, declaraciones o información pertinente que sea verificable
- Hallazgos: Resultados de la evaluación de la evidencia
- Programa de Auditoría: Conjunto de auditorías planificadas por un tiempo determinado
- Plan: de auditoría Descripción de las actividades en el sitio y los preparativos previos
Herramientas Para la Gestión de Calidad (Identificar el problema, encontrar las causas principales, elegir la mejor solución e implementar y medir resultados)
- Brainstorming: Ideas
- Diagrama causa y efecto/Ishikawa: Encontrar las causas principales del problema, se aplica la técnica de los 5 "porqués"
- Pareto: Identifica la causa principal de un problema y reduce las causas raiz, concentrandose en el 20% que produce el 80% de los problemas
- 5W2H: Planifica acciones futuras con el objetivo responder 7 preguntas: (Why, Who, Where, What, When, How, How much)
- Plan-Do-Check-Act (PDCA): resolucion sistematica para la mejora continua
Técnicas y Metodología sobre la Madurez del Proceso
- Modelo CMMI (Integración de Modelos de Madurez de Capacidades): Integra las disciplinas de software y sistema para mejora de procesos y tiene dos tipos de representación (continuos y staged)
- SCAMPI (Standard CMMI APPRAISAL Method for Process Improvement) : Busca la mejora interna, selección del suministrador y la monitorización de este
Costos de la calidad: Certificación ISO 25000
- Normas ISO/IEC 25000 proporciona una guía para usar los requerimientos y evaluación de calidad del producto (SQuaRE)
Módulo 4: Administración de Configuración
- Disciplina que controla la evolución del producto de software, identifica componentes y reporta/verifica cambios
- La administración de la configuración provee estabilidad al producto, definiendo los procedimientos
- Las herramientas de administración sirven para almacenar las versiones de los componentes
- Los gestores de configuración llevan el registro diferencias entre las distintas versiones
- El equipo de administración construye el sistema y gestiona las pruebas donde los fallos son devueltos al equipo de desarrollo.
Proceso de Administración de Configuración
- Disciplina de 5 partes que se genera un plan para describir qué, quién, cómo, dónde y cuándo se realizarán las tareas, alineadas al proyecto específico
- Plan de Administración: (Definición de ítems de configuración gestionados y su esquema formal
- Roles y responsabilidades de la Administración
- Políticas de la administración
- Descripción de las herramientas y el proceso a seguir
- Definición de las bases para registrar la información
Control de Configuración
- Se realiza una convención para identificar la línea base (Versión) en los niveles de revisión
- Se trabaja aproando mejoras necesarias, todo puesto bajo la custodia del equipo de administración
- El Consejo de Control de Cambios (CCB) aprueba o rechaza las peticiones con la opción de remitir informes de error
- En los procedimientos de administracion, se analizan costos, aprueban cambios y se registran los componentes a cambiar
- Las peticiones de cambio pueden ser via web enviando un informe de error desde alli, un equipo verificará el error y transformará la peticion
Estado de la Configuración
- Se registran y siguen los problemas y solicitudes de cambios
- Se crea una base de datos que registra todas la configuración
Tipos de Auditorías
- Auditorías de configuración funcional (FCA: Verifica que el elemento de configuración ha sido completado cumpliendo los atributos de calidad y su documentación operativa es satisfactoria
- Auditorías de configuración física (PCA: certifica que el elemento fue constituido conforme a la documentación que lo describe)
- Auditorías de gestión de la configuración: Confirma que los registros y elementos son completos, consistentes y precisos
Elementos de Configuración (Documentos Formales)
- Planes del proyecto
- Especificaciones
- Diseños
- Programas
- Conjuntos de datos (Los nombres de los documentos deben ser únicos)
Sistema de Administración de las Versiones (Utilizado para almacenar y gestionar los documentos formales)
- Cuando se crea una nueva versión del sistema se usa un proceso de administración del cambio que puede ser sencillo o complejo
- Los cambios individuales no necesitan ser evaluados
- Los cambios que afectan los módulos del sistema sí lo hacen
Gestión de Versiones
- Es el proceso de identificar y mantener registros de versiones de software
- Se diseñan para que puedan ser recuperados y distribuidos al cliente
Entrega del Software
-
incluye además del código ejecutable, el archivo de config, los datos necesarios, los programas de instalación, documentación y el embalaje publicitario)
Las Entregas Deben Estar Documentadas
-
se debe registrar las versiones específicas de los componentes de código fuente usados
-
La Revisión del Componente debe guardar registro de sus modificaciones
-
El Nivel de Promoción define el estado del componente en un momento dado
-
Siempre existen más versiones que entregas ya que algunas son para interno o pruebas
Administración de Versiones
- Gestiona cantidad de información asegurando que los cambios sean registrados y controlados
- Las herramientas de administración controlan un repositorio donde sus contenidos son inmutables
Módulo 5. Fundamentos del Testing
- El testing es proceso de operar un componente/sistema bajo determinadas condiciones
- Verifica si cumple ("¿Construyendo correctamente el producto?")
- Valida el programa ("¿Estoy construyendo el producto correcto?")
Fundamentos de las Pruebas de Software
- La prueba de software intenta identificar las fallas antes de ser liberada
- Defectos en el código
- Diferencia potencial entre lo que el código debe hacer y lo que realmente hace
El Testing NO ASEGURA que el Software no tenga Fallos, pero Sí Minimiza el Riesgo
- Para realizarlo hay que seleccionar a las personas adecuadas y comunicar sus resultados a los desarrolladores
- Para ello, tener en cuenta las formas de comunicar de los probadores
Axiomas del Testing
- El software siempre se testea.
- Un buen caso de testeo es el que muestra que el programa no anda
- Detener el testeo es difícil
- Uno no puede autotestearse
- Parte ineludible del test: Determinar el resultado esperado
- Debe ser reproducible
- Casos para condiciones válidas e inválidas
- Inspeccionar todos los resultados
- Crece la probabilidad de hallar pocos errores al avanzar el testeo
- Programador-> Testeo de caja blanca
- Usuario -> Testeo de caja negra
- El testeo es parte del desarrollo
- Nunca modificar un programa antes de testearlo
Los Errores se Hacen Evidente Como Defectos/Fallas
- ocurren al ejecutar los casos de prueba y se identifica el defecto que lo causa
Los Objetivos de V&V (Verificación y Validación) son:
- Descubrir defectos (para corregirlos)
- Provocar fallas (una forma de detectar defectos).
- Revisar los productos (otra forma de detectar defectos)
- Evaluar la calidad, dando idea de esta
Para Identificar y Corregir Defectos:
- Identificación de defectos proceso de determinar qué defecto causó la falla
- Corrección: Proceso de cambiar el sistema para remover los defectos
Para Identificar Defectos:
- Comparar los resultados esperados contra los obtenidos
- Revisar el código ya sea solo o en grupo
Proceso de Prueba
- Las pruebas deben realizarse buscando un resultado esperado y sus resultados deben revisarse al detalle
- El error es una acción humana, el defecto una manifestación de ese error en el código y la falla la manifestación del defecto al usar el sistema
Módulo 6. Diseño de casos de test
- El ensayo consume tiempo y dinero -> Encontrar la mayor cantidad de defectos en la menor duración posible
Definiciones
- Diseño de la prueba: Hacer el mejor ensayo posible consumiendo el mínimo tiempo y dinero
- Condiciones: Las situaciones que el sistema debe responder, que quieren probarse
- Casos: Lotes de datos necesarios para que se dé una condición de prueba
- Programa correcto: Combinación de datos de entrada válida y su salida es correcta Nota: La prueba exhaustiva es imposible
Estrategia de Pruebas
- Criterios de selección: Una condición para seleccionar un conjunto de casos de prueba
- Técnicas de prueba estática: Estáticas (analítica). Se analiza el producto para confirmar su correcta operación
- Análisis de código fuente, análisis automatizado de código fuente, análisis formal
Tipos de pruebas a realizar
- Análisis de Código Fuente
- Es una actividad en grupo para revisar el código y buscar problemas y las estrategias son:
- Revisión de escritorio
- Recorrida/Inspección: Unifica el estilo de programación
- Es una reunión de no más de dos horas, los roles son:
- Autor: Presenta, explica y se encarga de la ejecucion
- Modera: Organiza la discusion
- Secretario: Escribe el reporte
- Análisis Automatizado
- Es una herramienta que recorre el código fuente y detecta posibles anomalías
- Es un análisis sintáctico de instrucciones y flujos
- Análisis Formal
- Especifica y prueba si el programa cumple con los requisitos, sin embargo
- requiere demasiado matemática y puede ser incorrecto
- exige un componente a verificar
Técnicas de Prueba Dinámicas
- Sirven para experimentar sobre el comportamiento previsible de un producto y puede ser de caja blanca o negra
Caja Blanca
- Abarcar requerimientos/especificaciones y sus componentes usando una prueba estructural que prueba lo que el software hace desde la estructura interna (se precisa del código fuente)
Caja Negra
- Abarcar requerimientos/especificaciones
- Se entra a una caja negra y se ve la salida que genera (No se precisa del código fuente)
Clase de Equivalencia ("Pruebas por Partición de Equivalencia", "Pruebas basadas en Subdominios")
- Definición: Subconjunto de valores representativos de cada clase. Cada clase tiene la misma validez
Dos pasos para realizar la partición de equivalencia
- Identificar las clases de equivalencia: Dividir cada clase en válida o inválida
- Definir los casos de prueba
Análisis de Condiciones de Borde
- Los resultados que exploran los bordes dan mejores resultados que los que no lo hacen, seleccionando elementos donde se miren las condiciones de entrada y salida
- Se debe hacer para rangos, máximos/mínimos/valores cercanos, sets de datos/vacios/primeros registros/últimos
Guía Para Análisis de Frontera
- Se deben establecer casos de prueba válidos para límites/conjuntos
Conjetura de Errores, Prueba Basada en Sospecha
- Sospechar de errores por lo que se listan errores posibles o situaciones similares anteriores y se crean casos de prueba basados en esos
- El programador puede dar información relevante
- Esta técnica puede surgir de partes complejas del programa o circunstancias del desarrollo
Error Guessing
- Se basa en la intuición o experiencia de errores comunes, con la información histórica de defectos como ayuda
Pairwise
- Busca "clases de equivalencia" al establecer combinaciones equivalentes que luego testea
Comparación de las técnicas estática y dinámica
- Técnicas estáticas (análisis):
- Efectivas para encontrar defectos en etapas tempranas
- Conclusiones de validez general
- Sujeto a razonamiento, espeficicaciones etc
- No consideran el hardware o el software de base Dinámicas (pruebas)
- Sirven para verificar y validar
- Consideran el entorno, funcionalidad
- Atadas al contexto de la ejecución
- Detectan un error por prueba
Complejidad Ciclomática
- Métrica del Software que da cuantificación de la complejidad lógica. Se usa en: Cantidad de caminos independientes Camino independiente: agrega sentencias o condiciones
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.