1. Calidad del Software
1.1. Cumplimiento y expectativas del usuario frente al producto
1.1.1. Normas
1.1.1.1. Adecuación funcional
1.1.1.1.1. Completitud funcional
1.1.1.2. Eficiencia de desempeño
1.1.1.2.1. Comportamiento temporal
1.1.1.3. Compatibilidad
1.1.1.3.1. Coexistencia
1.1.1.4. Usabilidad
1.1.1.4.1. Accesibilidad
1.1.1.5. Fiabilidad
1.1.1.5.1. Tolerancia a fallos
1.1.1.6. Seguridad
1.1.1.6.1. Integridad
1.1.1.7. Mantenibilidad
1.1.1.7.1. Reusabilidad
1.1.1.8. Portabilidad
1.1.1.8.1. Adaptabilidad
2. Ciclo de Vida del Software
2.1. Etapas y actividades para desarrollar el producto software deseado
2.1.1. Levantamiento de Requerimientos
2.1.2. Análisis y diseño
2.1.3. Desarrollo
2.1.4. Pruebas
2.1.5. Implementación
2.1.6. Implantación
2.1.7. Mantenimiento
3. Qué es Validación y verificación del Software?
3.1. Validación
3.1.1. Cumplimiento de las expectativas del usuario con el programa
3.2. Verificación
3.2.1. Cumplimiento con los requerimientos especificados (Funcionales, no funcionales)
4. Proceso general del Testing
4.1. Testing de Componentes
4.1.1. Testing de unidad
4.1.2. Testing de Modulos
4.2. Testing de Integración
4.2.1. Testing de Subsistemas
4.2.2. Testing de sistemas
4.3. Testing de Usuario
4.3.1. Testing de Aceptación
5. Matriz de Riesgos
5.1. Permite determinar objetivamente cuáles son los riesgos relevantes que se pueden presentar
6. Plan de Riesgos
6.1. Procesos, tratamientos, acciones para lograr disminuir o desaparecer por completo un riesgo
7. Ingeniería de Requerimientos
7.1. Basado en un conjunto de actividades en el proceso de desarrollo de un sistema
7.1.1. Metodologías
7.1.1.1. IREB
7.1.1.1.1. Habilidades y técnicas que debe tener en cuenta un ingeniero de requerimientos para el levantamiento y documentación de la especificación de los mismos.
7.1.1.2. IEEE 830-1998
7.1.1.2.1. Se centra en el detalle que debe llevar la documentación relacionada a la especificación de software.
7.1.1.3. DORCU
7.1.1.3.1. Documentación de Requerimientos Centrada en el Usuario
8. Norma ISO 9126
8.1. Calidad Interna
8.2. Enfoque Calidad del Producto
8.3. Características de Calidad
8.4. Calidad Externa
8.5. Mejoras del Producto
9. Pruebas
9.1. Determina que se cumpla requisitos especificados para demostrar que son aptas para el propósito y para detectas defectos
9.1.1. Objetivo
9.1.1.1. Aportar calidad al producto que se está desarrollando
9.1.2. Por qué son importantes?
9.1.2.1. Evaluar Riesgos
9.1.2.2. Validar presencia de errores
9.1.2.3. Verificar cumplimiento de requisitos
9.1.2.4. Evaluar el producto
9.1.2.5. Analizar y escanear
10. Causa de falencias del Software
10.1. Error
10.1.1. Acción humana
10.2. Defecto
10.2.1. Error de implementación
10.3. Fallo
10.3.1. Resultados no deseados
11. Tipos de Técnicas
11.1. Técnicas de Caja Negra
11.1.1. Ejecución del Software
11.1.2. No validación del Software
11.1.3. Análisis Funcional y no funcional
11.2. Técnicas de Caja Blanca
11.2.1. Validación estructura del código
11.2.2. Lógica Interna
11.2.3. Garantizar todos los caminos
11.2.4. Verificación interna y procedimental
12. Clasificación de Pruebas
12.1. Pruebas de Integración
12.1.1. Verificar el correcto acoplamiento entre los distintos componentes
12.1.1.1. Técnica Top Dowm
12.1.1.1.1. Analiza desde lo general a lo especifico
12.1.1.2. Técnica Bottom up
12.1.1.2.1. Analiza de lo especifico a lo general
12.2. Pruebas Funcionales
12.2.1. Centrada en todo lo que hace el sistema
12.2.1.1. Validación por interfaz
12.2.1.2. Asegurar cumplimiento
12.2.1.3. Técnicas de caja negra
12.3. Pruebas No Funcionales
12.3.1. Comportamiento externo del Software
12.3.1.1. Pruebas de Carga
12.3.1.1.1. Medición del comportamiento del sistema
12.3.1.2. Pruebas de Rendimiento
12.3.1.2.1. Medir velocidad procesamiento y el tiempo de respuesta del sistema
12.3.1.3. Pruebas de Volumen
12.3.1.3.1. Capacidad del sistema para procesar datos
12.3.1.4. Pruebas de esfuerzo
12.3.1.4.1. Sobrecarga en el sistema para analizar la capacidad de recuperación
12.3.1.5. Pruebas de Seguridad
12.3.1.5.1. Validar accesos no autorizados o divulgación de la información
12.3.1.6. Pruebas de estabilidad
12.3.1.6.1. Medición de la respuesta del sistema a los errores de funcionamiento
12.3.1.7. Pruebas de Usabilidad
12.3.1.7.1. Efectividad, eficiencia y satisfacción
12.3.1.8. Pruebas de Compatibilidad
12.3.1.8.1. Funcionamiento del sistema en varios sistemas operativos
12.4. Pruebas Estructurales
12.4.1. Técnicas de caja blanca
12.4.2. Validación interna del software
12.4.3. Comprobación de bucles
12.5. Pruebas Dinámicas
12.5.1. Técnicas de caja Negra
12.5.2. Técnicas de caja blanca
12.6. Pruebas de Pareto
12.6.1. El 80% de fallos de un software es generado por un 20% del código, mientras que el otro 80% genera un 20% de fallos