Temario
La Carrera de Especialista en Testing Técnico consta de 2 años de duración y 4 módulos.
El primer módulo “Testing de Software” está orientado a quienes no posean conocimientos previos en testing o programación, por lo que su objetivo es introducir los conceptos fundamentales de testing que serán luego utilizados a lo largo de toda la Carrera.
El segundo módulo del Primer Año “Programación para Testers” no requiere conocimientos previos de programación, por lo que resulta atractivo tanto para personas que se desempeñan como Testers, como para personas que cursaron el primer módulo de la Carrera. El enfoque de este curso es enseñar técnicas de programación y tecnologías que permitan a un Tester ir más allá de testings de caja negra y que permitan luego, en el Segundo Año de la Carrera, profundizar en los aspectos de automatización y pruebas de performance.
1° Año / Testing Técnico
Testing de Software
En este módulo, orientado a los conceptos fundamentales del Testing de Software, para entender cómo ejecutar pruebas funcionales que ayuden a mejorar la calidad de las aplicaciones. Para esto se estudia cómo es el desarrollo de software y el rol del tester en el proceso; el ciclo de vida de incidentes, como categorizarlos y priorizarlos; todo lo que debe tener en cuenta un tester al trabajar con sistemas web y mobile; cómo reportar y dar seguimiento a “bugs”; cómo interpretar y ejecutar casos de prueba y el manejo de herramientas para gestión de incidentes.
En esta introducción al mundo del testing se plantean las principales diferencias entre el proceso de construcción de software tradicional y ágil, viendo técnicas de testing planificado y testing exploratorio.
• Introducción al mundo del testing y el desarrollo de software
• Ejecución y diseño de casos de prueba
• Gestión de incidentes
• Búsqueda laboral para testers.
Programación para Testers
El principal objetivo del curso es capacitar al alumno en la programación en el lenguaje Java. Es un curso orientado a la capacitación en programación abordando los temas más relevantes para llevar a cabo la programación de scripts, automatización de pruebas y capacitará al alumno para que pueda llevar a cabo tanto tareas de análisis como en automatización de pruebas y generación de datos de prueba para los tests.
Al finalizar el curso se contará con conocimiento del funcionamiento de las aplicaciones web y de escritorio, los conceptos básicos de programación de aplicaciones Web, el funcionamiento de un servidor de aplicaciones y la interacción necesaria entre los componentes de cualquier aplicación Web moderna.
Complementando los conceptos de programación abordados en el curso, se brindará al alumno una introducción a SQL y manejadores de bases de datos que son un recurso esencial para cualquier programador o tester.
• Introducción a la programación orientada a objetos.
• Programación de aplicaciones de consola en Java.
• Introducción a las Bases de Datos y lenguaje de consulta SQL
2° Año / Especialista en Testing Técnico
Automatización de Testing
El curso está orientado a lograr que el testing funcional sea más eficiente aprovechando el conocimiento adquirido en programación para lograr la automatización de pruebas. Es así que se verá la forma más eficiente de lograr esto, automatizando a distintos niveles según la pirámide de Cohn: pruebas unitarias, pruebas a nivel de API y a nivel de interfaz gráfica, en particular para sistemas Web utilizando Selenium (la plataforma open source más popular).
• Introducción a la automatización de pruebas
• Automatización con Junit
• Automatización con Selenium
• Automatización de Web Services
• Proyecto: Armar ambiente de integración continua donde se ejecuten pruebas unitarias automatizadas con Selenium sobre un sistema de ejemplo.
Testing de Performance
La segunda parte del curso está orientado a la parte más técnica del testing: pruebas de performance. En este tipo de pruebas se trabaja en mejorar los tiempos de respuesta y el uso de recursos de los sistemas. Se utilizan diversas herramientas que permiten realizar análisis, sugerir optimizaciones, orquestar accesos concurrentes simulando usuarios reales, monitorear sistemas, etc.
• Introducción a las pruebas de performance
• Pruebas de performance del lado del cliente web
• Pruebas de performance del lado del cliente mobile (Monkop)
• Pruebas de carga con JMeter
• Pruebas de servicios
• Monitorización de sistemas
• Proyecto: Realizar la simulación de carga sobre un sistema real, incluyendo monitorización y sugerencias de mejora, identificación de bottlenecks, etc.