Atributos de Calidad del Software

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿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.

False (B)

¿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?

<p>Permitir la corrección de defectos con una cantidad limitada de trabajo</p> Signup and view all the answers

La __________ del software mide la eficiencia del proceso de desarrollo, considerando los recursos y el código necesarios.

<p>Productividad</p> Signup and view all the answers

Relaciona cada tipo de prueba con su descripción:

<p>Caja negra = Pruebas basadas en los requisitos y especificaciones, sin conocer la estructura interna. Caja blanca = Pruebas que requieren conocer la estructura interna y el código del software.</p> Signup and view all the answers

¿Cuál es la principal diferencia entre las pruebas de caja negra y caja blanca?

<p>Las pruebas de caja negra no requieren conocimiento del código. (D)</p> Signup and view all the answers

En el desarrollo de software, integrar la calidad solo al final del proyecto es suficiente para asegurar la excelencia.

<p>False (B)</p> Signup and view all the answers

¿Qué implica la 'Visibilidad' como atributo de calidad en un proceso de desarrollo de software?

<p>Que todos los pasos y el estado actual del proceso estén claramente documentados. (C)</p> Signup and view all the answers

Según el texto, ¿qué significa 'Aseguramiento de la calidad' (QA)?

<p>Actividades planificadas y sistemáticas para garantizar que un producto cumpla con los requisitos de calidad</p> Signup and view all the answers

El __________ de calidad (QC) verifica que un producto sea útil, seguro y cumpla sus funciones correctamente.

<p>Control</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor el enfoque del 'Control de Calidad' (QC)?

<p>Detectar problemas en los productos del trabajo. (C)</p> Signup and view all the answers

El aseguramiento de la calidad (QA) se centra principalmente en la validación del producto final.

<p>False (B)</p> Signup and view all the answers

¿Cuál es el objetivo principal de las auditorías de configuración?

<p>Asegurar que la documentación se ajusta a un estándar o requisito especificado. (A)</p> Signup and view all the answers

Según el texto, ¿qué implica el Proceso de Administración de Configuración?

<p>Controlar la evolución del producto y los cambios asociados</p> Signup and view all the answers

La __________ de configuración identifica los componentes del producto para administrarlos, registrando los motivos y quienes realizaron los cambios.

<p>Administración</p> Signup and view all the answers

¿Qué tipo de herramienta se utiliza para almacenar las diferentes versiones de los componentes en la administración de configuraciones?

<p>Herramientas de administración de configuraciones. (C)</p> Signup and view all the answers

El consejo de control de cambios (CCB) se centra únicamente en aspectos técnicos al evaluar peticiones de cambio.

<p>False (B)</p> Signup and view all the answers

¿Cuál es la finalidad de las auditorías de configuración funcional (FCA)?

<p>Verificar que el desarrollo de un elemento de configuración ha sido satisfactoriamente completado. (D)</p> Signup and view all the answers

Según lo expuesto, ¿qué es una 'entrega de software'?

<p>Una versión con una nueva funcionalidad que se distribuye a los clientes</p> Signup and view all the answers

Las herramientas de administración de versiones gestionan un __________ de elementos de configuración donde su contenido es inmutable.

<p>Repositorio</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor el propósito del 'testing'?

<p>Operar un sistema en determinadas condiciones para observar y registrar resultados. (B)</p> Signup and view all the answers

Las pruebas de software garantizan que el software no tenga fallos.

<p>False (B)</p> Signup and view all the answers

¿Cuál de los siguientes axiomas es clave en el proceso de testing?

<p>Parte ineludible del test es determinar cuál es el resultado esperado. (A)</p> Signup and view all the answers

En el proceso de prueba, ¿cuál es la diferencia entre un error y una falla?

<p>Un error es una acción humana; una falla es la manifestación del defecto en el código al usar el sistema</p> Signup and view all the answers

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.

<p>Ensayo</p> Signup and view all the answers

¿Cuál es el objetivo principal de las técnicas de prueba estática?

<p>Analizar el producto para deducir su correcta operación sin ejecutar el código. (D)</p> Signup and view all the answers

En las recorridas de código, el objetivo principal es corregir los errores encontrados durante la revisión.

<p>False (B)</p> Signup and view all the answers

¿En qué consiste el análisis formal como técnica de prueba?

<p>Probar que el programa cumple con una especificación formal. (D)</p> Signup and view all the answers

Según el texto, ¿cómo se define una 'clase de equivalencia' en las pruebas de software?

<p>Un subconjunto de la prueba, de un valor representativo de cada clase, que es equivalente a la prueba de cualquier otro valor</p> Signup and view all the answers

¿Cómo impacta la calidad del proceso de desarrollo de software en el producto final según el texto?

<p>Afecta directamente la calidad del software derivado, y su gestión y mejora minimizan los defectos en el software entregado. (A)</p> Signup and view all the answers

¿Cuál es la implicación de la 'Productividad' como atributo de calidad en el proceso de desarrollo de software?

<p>Se centra en la eficiencia del proceso, resultando en una entrega más rápida del producto, influenciada por la cantidad de recursos y la reutilización del código. (D)</p> Signup and view all the answers

¿Qué distingue a una 'Auditoría de Configuración Funcional (FCA)' de otros tipos de auditorías en la administración de configuración?

<p>Verifica que el desarrollo de un elemento de configuración se haya completado satisfactoriamente y cumpla con las características funcionales y de calidad especificadas. (D)</p> Signup and view all the answers

Considerando los 'Elementos de Configuración' en la administración de configuraciones, ¿cuál de las siguientes opciones describe mejor su propósito?

<p>Son documentos formales que controlan la configuración, incluyendo planes del proyecto, especificaciones, diseños, programas y conjuntos de datos de prueba. (A)</p> Signup and view all the answers

¿Cuál es el enfoque principal al crear una nueva versión de un sistema bajo un 'proceso de administración del cambio sencillo'?

<p>Los cambios que afectan solo componentes individuales se pasan directamente al desarrollador, quien decide si aceptarlos o no. (B)</p> Signup and view all the answers

¿Cuál es la diferencia clave entre 'versión de un software' y 'entrega de un software'?

<p>La versión es una instancia del software con diferencias, mientras que la entrega es una versión con nueva funcionalidad distribuida a los clientes. (A)</p> Signup and view all the answers

¿Qué implica que el contenido de un 'repositorio de elementos de configuración' sea 'inmutable' en la administración de versiones?

<p>Implica que una vez que un elemento es añadido al repositorio, su contenido no puede ser modificado. (C)</p> Signup and view all the answers

¿Cuál es el propósito principal de 'provocar fallas' como objetivo de las actividades de Verificación y Validación (V&V)?

<p>Detectar defectos de manera activa mediante la creación de condiciones que revelen errores. (A)</p> Signup and view all the answers

En el contexto de las pruebas de software, ¿qué significa que 'el test debe ser reproducible'?

<p>El test debe ser capaz de detectar el mismo error cada vez que se ejecuta bajo las mismas condiciones. (D)</p> Signup and view all the answers

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?

<p>Buscar nuevas técnicas de prueba y áreas del sistema menos exploradas. (D)</p> Signup and view all the answers

¿Cómo se diferencia una 'recorrida de código' de una 'inspección de código' en las técnicas de prueba estática?

<p>La recorrida simula la ejecución del código para descubrir faltas, mientras que la inspección usa una lista de faltas comunes para la revisión. (A)</p> Signup and view all the answers

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'?

<p>Sugiere que la especificación debe ser validada mediante pruebas, reconociendo que el análisis formal no garantiza una seguridad del 100%. (B)</p> Signup and view all the answers

En las pruebas de software, ¿cómo se relaciona el concepto de 'clase de equivalencia' con la 'partición de equivalencia'?

<p>La clase de equivalencia es un subconjunto de datos de prueba representativo, y la partición de equivalencia es el proceso de dividir las condiciones de entrada en clases válidas e inválidas. (C)</p> Signup and view all the answers

¿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?

<p>Las técnicas dinámicas consideran el ambiente real de uso, mientras que las estáticas se basan en un modelo del producto. (D)</p> Signup and view all the answers

¿Cómo influye la 'historia de defectos' en la técnica de prueba 'Error Guessing'?

<p>Proporciona una guía sobre errores comunes en la organización para enfocar las pruebas de manera más efectiva. (A)</p> Signup and view all the answers

¿Cuál es la implicación práctica de que las pruebas de software 'no garantizan que el software no tenga fallos'?

<p>Es crucial seleccionar a las personas adecuadas para realizar las pruebas y comunicar los resultados a los desarrolladores, minimizando el riesgo de fallos. (C)</p> Signup and view all the answers

¿Qué rol juega el 'Autor' en una 'recorrida de código'?

<p>Presenta y explica el código, encargándose de simular su ejecución. (A)</p> Signup and view all the answers

¿Qué característica principal debe tener una 'lista de verificación eficiente (checklist)' según lo expuesto?

<p>Ser concisa y precisa, idealmente no más de una página. (D)</p> Signup and view all the answers

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?

<p>Excedente (A)</p> Signup and view all the answers

¿Qué implica que una organización 'establezca acuerdos' al evaluar la calidad de su producto?

<p>Definir ciertos parámetros de calidad que el producto debe cumplir antes de ser entregado. (A)</p> Signup and view all the answers

¿Por qué es importante 'poner el producto en producción y comprobar que no comprometa al resto de sistemas' al evaluar la calidad?

<p>Para asegurar que el producto se integre correctamente con la infraestructura existente y no cause conflictos. (D)</p> Signup and view all the answers

Según lo expuesto, ¿qué es un 'Modelo de calidad de software'?

<p>Un documento que recolecta buenas prácticas en la evaluación de calidad, permitiendo dirigir los procesos clave y medir los avances. (A)</p> Signup and view all the answers

¿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?

<p>Que los modelos de calidad no reflejen las necesidades reales del proyecto y no contribuyan a mejorar la calidad del software. (B)</p> Signup and view all the answers

¿Cuál es el propósito de las 'Métricas de calidad de software'?

<p>Estimar la calidad de un proyecto a desarrollar relacionando los atributos con las métricas para evaluar su adherencia en el proyecto. (D)</p> Signup and view all the answers

¿Qué norma describe el modelo de procesos del ciclo de vida del software y el método para evaluar su calidad y madurez?

<p>ISO/IEC 12207 (A)</p> Signup and view all the answers

Según lo expuesto, ¿cuál es uno de los beneficios clave de lograr la 'Certificación del Modelo de Madurez'?

<p>Diferenciarse de los competidores asegurando tiempos de entrega y reduciendo fallos en el producto. (A)</p> Signup and view all the answers

¿Cuál es la finalidad de la 'Evaluación del proceso' en los modelos de calidad personalizados basados en la norma ISO?

<p>Conocer la capacidad de los procesos de una organización y determinar la información que los caracteriza y el punto hasta el cual los procesos realizan su propósito. (B)</p> Signup and view all the answers

Dentro del 'Sistema de Gestión de Calidad', ¿cuál es la función del Modelo de la ISO 9001:2015?

<p>Guiar la implementación de un ciclo de mejora continua a través de 'Planificar, Hacer, Verificar y Actuar'. (C)</p> Signup and view all the answers

En el contexto de las 'Auditorías / Gestión de Calidad', ¿qué distingue a una 'Auditoría Interna (19011)'?

<p>Es un procedimiento documentado para planificar y realizar auditorías internas, verificando el cumplimiento y eficacia del sistema de calidad. (D)</p> Signup and view all the answers

¿Qué son los 'Criterios de Auditoría' en el contexto de las auditorías de calidad?

<p>El conjunto de políticas, procedimientos o requisitos utilizados como referencia para la auditoría. (D)</p> Signup and view all the answers

Al utilizar la técnica de '5 porqués', ¿cuál es el objetivo principal?

<p>Llegar a las causas principales / raíz de un problema mediante la repetición de la pregunta '¿por qué?' (A)</p> Signup and view all the answers

¿Cómo se aplica la técnica de 'Pareto' en la mejora de procesos?

<p>Se centra en reducir las causas raíz antes de la resolución de un problema, concentrándose en el 20% de las causas que producen el 80% de los problemas. (A)</p> Signup and view all the answers

¿Cuál es el propósito de la técnica '5W2H' en la planificación de acciones futuras?

<p>Organizar y responder a 7 preguntas clave (Why, Who, Where, What, When, How, How much) para planificar las acciones. (D)</p> Signup and view all the answers

Según lo expuesto, ¿qué es el 'CMMI (integración de modelos de madurez de capacidades)'?

<p>Un modelo para la mejora y evaluación de procesos de una organización que integra las disciplinas de software y sistemas. (A)</p> Signup and view all the answers

¿Cuál es la función de las 'Normas ISO/IEC 25000'?

<p>Proporcionar una guía para el uso de estándares internacionales en la evaluación de la calidad de productos de software (SQuaRE). (A)</p> Signup and view all the answers

Flashcards

¿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

Aquel que cumple las expectativas del cliente y posee una buena combinación de atributos.

Planificación de la calidad

Adaptar el marco de procedimientos y estándares a un proyecto de software específico.

Control de calidad

Definir y fomentar procesos que garanticen el seguimiento de los procedimientos y estándares.

Signup and view all the flashcards

Calidad del proceso de desarrollo

Afecta directamente la calidad de los productos derivados.

Signup and view all the flashcards

Correctitud

El producto se comporta de acuerdo a la especificación de funciones que debería proveer.

Signup and view all the flashcards

Confiabilidad

El usuario puede depender de él; opera como se esperaba en un tiempo especificado.

Signup and view all the flashcards

Robustez

Se comporta razonablemente, aún en circunstancias no anticipadas.

Signup and view all the flashcards

Performance

Usa los recursos (tiempo y memoria) eficientemente.

Signup and view all the flashcards

Amigabilidad

El usuario lo encuentra fácil de usar.

Signup and view all the flashcards

Verificabilidad

Sus propiedades pueden ser fácilmente verificadas.

Signup and view all the flashcards

Mantenibilidad

Modificaciones hechas a un producto de software tras la entrega inicial.

Signup and view all the flashcards

Mantenibilidad Evolutiva

Los productos de software se modifican para proveer nuevas funciones o cambiar las existentes.

Signup and view all the flashcards

Portabilidad

El software es portable si puede correr en distintos ambientes.

Signup and view all the flashcards

Interoperabilidad

Habilidad de un sistema para coexistir y cooperar con otros sistemas, estandarizando interfaces.

Signup and view all the flashcards

Integridad

Controla los accesos no autorizados a datos o software.

Signup and view all the flashcards

Productividad (en el proceso)

Mide la eficiencia del proceso.

Signup and view all the flashcards

Oportunidad (en el proceso)

La habilidad de entregar un producto a tiempo; con metas definidas.

Signup and view all the flashcards

Visibilidad (en el proceso)

Un proceso es visible si todos sus pasos son documentados y accesibles.

Signup and view all the flashcards

Caja negra

Conoces la función específica para la que se diseño el producto.

Signup and view all the flashcards

Caja blanca

Conoces el funcionamiento interno del producto.

Signup and view all the flashcards

Regla cardinal de la calidad

Organización basada en los clientes, comprender la necesidad del cliente externo e interno y trabajar en superarla.

Signup and view all the flashcards

Aseguramiento de Calidad (QA)

Conjunto de actividades planificadas y sistemáticas implementadas en el proceso de desarrollo de software.

Signup and view all the flashcards

Control de Calidad (QC)

Modo de verificar que un producto sea útil, seguro y cumpla todas sus funciones de forma correcta.

Signup and view all the flashcards

Proceso de software

Conjunto de herramientas, métodos, y prácticas que usamos para producir un producto de software.

Signup and view all the flashcards

Testing

Proceso de operar un sistema en determinadas condiciones, observando y registrando los resultados.

Signup and view all the flashcards

Identificación de defectos

Determinar qué defecto o defectos causaron la falla.

Signup and view all the flashcards

Corrección de defectos

Proceso de cambiar el sistema para remover los defectos.

Signup and view all the flashcards

Auditorías de configuración funcional (FCA)

Las auditorías que se llevan a cabo para verificar que el desarrollo de un elemento de configuración ha sido satisfactoriamente completado.

Signup and view all the flashcards

Auditorías de configuración física (PCA)

Las auditorías que se llevan a cabo para verificar que un elemento de configuración, tal como fue construido, es conforme con la documentación técnica que lo define y describe.

Signup and view all the flashcards

¿Cuál es el objetivo principal de las empresas?

El objetivo principal es adaptarse a las necesidades del cliente.

Signup and view all the flashcards

¿Quién se ve afectado por los defectos en el software?

Usuarios y gerentes de software se ven afectados por la existencia de defectos.

Signup and view all the flashcards

¿Qué implica la planificación de la calidad?

Adaptar el marco a un proyecto específico.

Signup and view all the flashcards

¿En qué consiste el coste de calidad?

Tener en cuenta todos los costos en busca de la obtención de calidad.

Signup and view all the flashcards

¿Qué deben hacer los clientes respecto a la calidad?

Deben describir qué combinación de atributos desean del software.

Signup and view all the flashcards

¿Qué deben hacer los desarrolladores para obtener calidad?

Comprometerse a hacer desarrollos con calidad y revisarlos.

Signup and view all the flashcards

¿Que deben hacer los desarrolladores para gestionar la calidad?

Medir la calidad para cuantificar errores y crear registros.

Signup and view all the flashcards

¿Qué determina la calidad de un producto?

Si el proceso y la materia prima tienen calidad.

Signup and view all the flashcards

¿Qué tipo de pruebas se deben tener?

Pruebas funcionales y no funcionales gestionadas de forma planificada y organizada.

Signup and view all the flashcards

¿Quiénes producen la calidad?

Profesionales motivados y orgullosos de su trabajo.

Signup and view all the flashcards

¿En qué debe insistir el gestor de calidad?

Deben insistir en utilizar estándares de proceso.

Signup and view all the flashcards

¿Cuál es el objetivo del control de calidad (QC)?

Detectar problemas en los productos de trabajo.

Signup and view all the flashcards

¿Cuál es el objetivo del aseguramiento de calidad (QA)?

Asegurar la adherencia a los procesos, estándares y planes.

Signup and view all the flashcards

¿Cuál es la actividad principal en el control de calidad (QC)?

Revisar productos de trabajo.

Signup and view all the flashcards

¿Cuál es la actividad principal en el aseguramiento de calidad (QA)?

Guía y monitoreo de los procesos utilizados.

Signup and view all the flashcards

¿Qué pregunta se hace en la validación?

¿Estoy construyendo el producto correcto?

Signup and view all the flashcards

¿Qué pregunta se hace en la verificación?

¿Estoy construyendo correctamente el producto?

Signup and view all the flashcards

¿Quiénes deben quedar satisfechos con el software?

Clientes, sponsors, usuarios y desarrolladores.

Signup and view all the flashcards

¿Cuáles son los objetivos que tiene QA?

Mejorar la calidad del software y asegurar el cumplimiento de estándares.

Signup and view all the flashcards

¿Qué debe hacer QA ante una desviación?

Elevar cualquier desviación en el producto, proceso o estándares.

Signup and view all the flashcards

¿Cuáles son las funciones de QA?

Controlar la adherencia a los estándares y evaluar el nivel de calidad.

Signup and view all the flashcards

¿Cuál es el rol de QA?

Garantizar que el proceso definido formalmente está implementado y en uso.

Signup and view all the flashcards

¿Cuál es la responsabilidad de QA?

Asegurar la correctitud de los planes del proyecto.

Signup and view all the flashcards

¿Qué son las checklists (listas de verificación)?

Ayudan a asegurar que las tareas estén completas.

Signup and view all the flashcards

¿Qué es un modelo de calidad de software?

Documento que recolecta buenas prácticas en la evaluación de calidad.

Signup and view all the flashcards

¿Qué son las métricas de calidad de software?

Conjunto de medidas utilizadas para estimar la calidad de un proyecto.

Signup and view all the flashcards

¿Qué es la Certificación del Modelo de Madurez?

Herramienta que contribuye a mejorar la calidad del desarrollo del software.

Signup and view all the flashcards

¿Qué son las Normas ISO/IEC 25000?

Una guía para el uso de la nueva serie de estándares internacionales.

Signup and view all the flashcards

¿Qué es la Administración de Configuración?

Disciplina que controla la evolución del producto del software.

Signup and view all the flashcards

¿Qué son los procedimientos de administración de configuraciones?

Definen cómo registrar y procesar los cambios propuestos.

Signup and view all the flashcards

¿Qué son las herramientas de administración de configuraciones?

Se utilizan para almacenar las versiones de los componentes del sistema.

Signup and view all the flashcards

¿Quiénes son los gestores de la configuración?

Responsables de llevar los registros de las diferencias entre las versiones del software.

Signup and view all the flashcards

¿Qué hace el equipo de administración de configuraciones?

Tiene la responsabilidad de construir el sistema completo y gestionar las pruebas del sistema.

Signup and view all the flashcards

¿Que confirman las auditorías de configuración?

Auditar Configuración / Revisión de Configuración

Signup and view all the flashcards

¿Qué es Gestión de versiones y entrega?

Se diseñan procedimientos para asegurar que las diversas versiones / entregas de un software se puedan recuperar cuando se requieran.

Signup and view all the flashcards

¿Qué es Entrega de un software?

Una versión con una nueva funcionalidad que se distribuye a los clientes.

Signup and view all the flashcards

¿Qué son las Recorridas?

es una reunión de no más de dos horas donde un número reducido de personas simula la ejecución de código para descubrir faltas

Signup and view all the flashcards

¿Qué son las Inspecciones?

se examina el código (no solo aplicables al código) buscando faltas comunes, usando una lista de faltas comunes (check-list)

Signup and view all the flashcards

¿Qué es Prueba de software?

método que identifica las fallas en el producto antes de ser liberada

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

  1. El software siempre se testea.
  2. Un buen caso de testeo es el que muestra que el programa no anda
  3. Detener el testeo es difícil
  4. Uno no puede autotestearse
  5. Parte ineludible del test: Determinar el resultado esperado
  6. Debe ser reproducible
  7. Casos para condiciones válidas e inválidas
  8. Inspeccionar todos los resultados
  9. Crece la probabilidad de hallar pocos errores al avanzar el testeo
  10. Programador-> Testeo de caja blanca
  11. Usuario -> Testeo de caja negra
  12. El testeo es parte del desarrollo
  13. 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:

  1. Descubrir defectos (para corregirlos)
  • Provocar fallas (una forma de detectar defectos).
  • Revisar los productos (otra forma de detectar defectos)
  1. 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:

  1. Comparar los resultados esperados contra los obtenidos
  2. 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

  1. 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
  1. 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
  1. 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

  1. Identificar las clases de equivalencia: Dividir cada clase en válida o inválida
  2. 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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser