Resumen¶
1. Listado de temas¶
- Calidad
- Actividades sombrilla
- Administración de la calidad
- Características- Calidad de diseño
- Calidad de conformidad
 
- Técnicas de medición
- Pruebas
- Cómo organizar las pruebas de software
- ¿Cómo sé cuando ya está listo mi componente (módulo)?
- Planificación y mantenimiento de registros
- Andamiaje
- Diseño de casos de prueba
- Rastreabilidad
- Tipos de pruebas
- Comunicación
- Planificación
- Modelo
- Construcción
- Despliegue
- Revisiones
- Informales
- Formales
- Matriz de trazabilidad
- NIST (Instituto Nacional de Estándares y Tecnología)
- Verificación
- Validación
- Organización de las pruebas de software
- Integración- Técnicas de integración
- Incrementales
- Big Bang
 
- Estrategias de prueba- Para software convencional
- Unidad o unitarias
- Integración
- Ascendente
- Descendente
- Subgrupos
- Para Web Apps
- Contenido
- Navegación
- Interfaz
- Rendimiento
- Esfuerzo
- De sistema
- Pruebas de sistema
- Pruebas de recuperación
- Pruebas de seguridad
- Pruebas de esfuerzo
- Pruebas de rendimiento
- Pruebas de despliegue
- Pruebas de validación
- Alfa
- Beta
 
- Caso de prueba
- Gestión de la configuración de software
2. Descripciones¶
Calidad¶
La calidad en el contexto del desarrollo de software se refiere a la medida en que un sistema, componente o proceso cumple con los requisitos y expectativas establecidos. Incluye aspectos como la funcionalidad, confiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad.
Actividades sombrilla¶
Son actividades generales que se realizan en el ciclo de vida del desarrollo de software y que contribuyen a la calidad del producto. Incluyen planificación, gestión de riesgos, control de calidad, evaluación de productos, auditorías y mejoras continuas.
Administración de la calidad¶
Es un conjunto de acciones sistemáticas que aseguran que el producto de software cumple con los estándares de calidad establecidos. Implica definir métricas, realizar auditorías y aplicar prácticas de mejora continua.
Características¶
Las características de la calidad se pueden desglosar en:
- Calidad de diseño: Se refiere a la calidad del diseño inicial del software, asegurando que cumpla con las especificaciones y necesidades del usuario.
- Calidad de conformidad: Evalúa si el producto final cumple con los requisitos de diseño y especificaciones previamente definidos.
Técnicas de medición¶
Son métodos utilizados para cuantificar la calidad del software, que pueden incluir métricas de defectos, tiempo de respuesta, tasa de fallos, cobertura de pruebas y satisfacción del cliente.
Pruebas¶
Las pruebas son actividades esenciales en el desarrollo de software que buscan identificar errores y asegurar que el producto cumple con los requisitos establecidos.
Cómo organizar las pruebas de software¶
Implica establecer un plan de pruebas que defina los tipos de pruebas a realizar, los recursos necesarios, los criterios de aceptación y un calendario. Es crucial tener una estructura clara para asegurar la eficacia del proceso de pruebas.
¿Cómo sé cuándo ya está listo mi componente (módulo)?¶
Determinar si un componente está listo implica realizar una serie de pruebas y validaciones, cumpliendo con criterios de aceptación definidos, y asegurando que no haya errores críticos.
Planificación y mantenimiento de registros¶
La planificación implica definir un enfoque y recursos para las pruebas, mientras que el mantenimiento de registros se refiere a documentar los resultados de las pruebas y cualquier cambio realizado, para facilitar la trazabilidad y la gestión del conocimiento.
Andamiaje¶
El andamiaje en pruebas se refiere a crear una estructura de soporte que facilite la realización de pruebas, incluyendo herramientas y entornos de prueba que imiten condiciones del mundo real.
Diseño de casos de prueba¶
Este proceso implica crear escenarios de prueba que reflejen el comportamiento esperado del software, asegurando que cubran todas las funcionalidades y requisitos.
Rastreabilidad¶
La rastreabilidad en pruebas asegura que cada requisito del software esté vinculado a pruebas específicas, permitiendo verificar que se han cubierto todos los aspectos necesarios.
Tipos de pruebas¶
Los diferentes tipos de pruebas pueden clasificarse en:
- Comunicación: Verifica que los distintos módulos del software se comuniquen correctamente.
- Planificación: Asegura que todas las fases del proyecto estén correctamente planificadas.
- Modelo: Evalúa que el modelo del software se ajuste a las expectativas de diseño.
- Construcción: Implica pruebas realizadas durante la fase de construcción para detectar errores.
- Despliegue: Verifica que el software se despliegue correctamente en el entorno de producción.
Revisiones¶
Las revisiones son evaluaciones críticas de los artefactos del proyecto.
Informales¶
Son revisiones sin un formato estructurado, donde se realiza una evaluación rápida y no oficial de documentos o código.
Formales¶
Involucran un proceso estructurado y documentado, con criterios definidos y a menudo incluyen la participación de varias partes interesadas.
Matriz de trazabilidad¶
Es una herramienta que relaciona los requisitos del software con sus respectivas pruebas, asegurando que cada requisito ha sido verificado adecuadamente.
NIST¶
El Instituto Nacional de Estándares y Tecnología es una agencia que proporciona directrices y estándares que ayudan a las organizaciones a mejorar la calidad y seguridad del software.
Verificación¶
La verificación es el proceso de evaluar si el producto cumple con los requisitos y especificaciones establecidas, asegurando que se está construyendo correctamente.
Validación¶
La validación se refiere a comprobar si el producto final cumple con las expectativas y necesidades del usuario, asegurando que el software es el correcto.
Organización de las pruebas de software¶
Consiste en estructurar y coordinar las actividades de prueba, asegurando que se realicen de manera eficiente y eficaz, maximizando la cobertura y minimizando riesgos.
Integración¶
La integración implica combinar diferentes módulos de software y probar su interacción para asegurar que funcionan correctamente en conjunto.
Técnicas de integración¶
Las técnicas más comunes incluyen:
- Incrementales: Integración de módulos de manera gradual, permitiendo detectar errores en etapas tempranas.
- Big Bang: Integración de todos los módulos al final del ciclo de desarrollo, lo que puede complicar la detección de errores.
Estrategias de prueba¶
Diferentes enfoques para asegurar la calidad del software en función de su tipo.
Para software convencional¶
- Unidad o unitarias: Pruebas de componentes individuales.
Integración¶
- Ascendente: Se prueba desde los componentes más bajos a los más altos.
- Descendente: Se prueba desde el nivel más alto a los más bajos.
Subgrupos¶
Enfocan pruebas en grupos de componentes relacionados.
Para Web Apps¶
Incluye pruebas de contenido, navegación, interfaz, rendimiento y esfuerzo, garantizando que todas las partes de la aplicación funcionen de manera fluida.
De sistema¶
Comprende diversas pruebas, como:
- Pruebas de sistema: Validan que todo el sistema funcione como se espera.
- Pruebas de recuperación: Evalúan la capacidad del sistema para recuperarse de fallos.
- Pruebas de seguridad: Aseguran que el sistema esté protegido contra vulnerabilidades.
- Pruebas de esfuerzo: Evalúan el comportamiento del sistema bajo carga intensa.
- Pruebas de rendimiento: Miden la velocidad y eficiencia del sistema.
- Pruebas de despliegue: Aseguran que el software se implemente correctamente.
Pruebas de validación¶
Confirman que el software cumple con los requisitos del usuario.
Alfa¶
Pruebas realizadas por el equipo de desarrollo en un entorno controlado.
Beta¶
Pruebas realizadas por usuarios finales en un entorno real para obtener retroalimentación antes del lanzamiento oficial.
Caso de prueba¶
Un caso de prueba es un conjunto de condiciones bajo las cuales un evaluador determina si un sistema o parte del sistema funciona como se esperaba.
Gestión de la configuración de software¶
Es el proceso de identificar, organizar y controlar cambios en el software, asegurando que el producto final sea coherente y cumpla con los estándares de calidad.