Duración:5 Semanas
Tipo:Cursos
Modalidad:A distancia
El testing de software es un conjunto de actividades que se pueden planear anticipadamente y ejecutar como un proceso sistemático. Por esta razón se debe definir un modelo para el proceso de software (un conjunto de pasos en los que se pueden incluir técnicas específicas de diseño de casos de prueba y métodos de testing).
Una estrategia de testing debe contemplar tests de bajo nivel, necesarios para verificar que un pequeño fragmento de código fuente fue implementado correctamente, así como también tests de alto nivel para validar que la funcionalidad del sistema responde a los requerimientos del cliente.
Una estrategia debe proveer una guía para el ejecutor y un conjunto de hitos (milestones) para el gerente de proyecto. Debido a que los pasos de la estrategia de testing se ejecutan en un momento en que la presión de los tiempos (deadlines) comienza a aumentar, el progreso debe ser medible y los problemas deben descubrirse lo antes posible.
Objetivos generales
Que los participantes:
Comprendan la importancia del testing para reducir el riesgo de un proyecto de software.Se formen en los conceptos fundamentales del software testing.Aprendan a seleccionar las técnicas de testing más adecuadas para un proyecto en particular.Sean capaces de encontrar la mayor cantidad de errores con recursos limitados.
Objetivos específicos
Que los participantes:
- Logren un conocimiento de las actividades fundamentales para cada fase de testing, profesionalizándose en una función de Tester, Líder de Equipo o Test Manager
- Sepan cómo determinar los factores de éxito para un proyecto y cómo priorizarlos.
- Puedan realizar un análisis de riesgo basado en impacto, probabilidad y otros factores. Estén en condiciones de desarrollar un plan de testing y medir su efectividad.
- Se familiaricen con los diferentes tipos de cobertura de test.
- Estén en condiciones de diseñar casos de prueba efectivos.
- Puedan planificar y ejecutar pruebas de regresión rigurosas.
Destinatarios
- El curso está dirigido a aquellos interesados que deseen adquirir o ampliar conocimientos sobre metodología de software testing, ya sean estudiantes o profesionales de Sistemas. Si bien no se requiere conocimientos previos, es deseable estar familiarizado con las nociones básicas sobre proyectos de desarrollo de software y programación.
- Los roles que son beneficiados con este curso son los que participan en la ejecución y planificación de los proyectos: Desarrolladores, Diseñadores, Testers, Referentes y Expertos, Líderes en todos sus niveles, Gerentes de proyecto, y también los usuarios, clientes o validadores del producto o servicio generado por el proyecto, en cualquier categoría de la industria.
Unidad 1: Fundamentos de testing
- Introducción. Importancia del testing. Aspectos psicológicos y económicos. Objetivos y limitaciones. Prioridades. Regla del 80/20. Un enfoque estratégico. Prueba unitaria. Prueba de integración. Prueba de validación. Prueba de sistema. Debugging. Roles en un equipo de desarrollo de software y Roles en un equipo de Testing.
Unidad 2: Técnicas de testing y diseño de casos de prueba (Test Cases)
- Visión interna y externa del testing. Prueba de caja blanca: Basis Path Testing, Control Structure Testing. Prueba de caja negra. Testing especializado: arquitecturas cliente-servidor, sistemas de tiempo real, interfaces gráficas, documentos y ayuda.
Unidad 3: Testing de aplicaciones orientadas a objetos
- Testing de modelos de análisis y diseño orientados a objetos. Estrategias de testing orientadas a objetos: Prueba unitaria. Prueba de integración. Prueba de validación. Métodos de testing orientados a objetos. Métodos de testing aplicables a nivel de clase. Diseño de casos de prueba inter-clase.
Unidad 4: Testing de aplicaciones Web
- Fundamentos de testing en aplicaciones Web. Prueba de interfaz de usuario. Prueba a nivel componente. Prueba de navegación. Prueba de configuración. Prueba de seguridad. Prueba de performance. Clase Virtual.
Unidad 5: Otros Conceptos de Testing
- Automatización. Regresión. Smoke Tests. Alpha Testing. Beta Testing. Usabilidad. TDD o Test Driven Development. Herramientas para Testing. Test Plans. Test Scripts. Certificaciones para Testing.
- Conocimientos elementales de algoritmos o pseudocódigo.
- No es necesario saber programar en ningún lenguaje.