Temario
La Carrera de Testing consta de 2 años de duración y 4 cursos. El primer curso (“Testing de Software”) está orientado a quienes no posean conocimientos previos en testing (tampoco se necesitan conocimientos previos de 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 curso 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 (de ahí su nombre) como para personas que cursaron el primer curso 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.
TESTING DE SOFTWARE
El curso está 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.
Se incluye un módulo enfocado en la búsqueda laboral para testers, dónde buscar y cómo presentarse, incluyendo modos de trabajo remoto e incluso desde tu casa.
A continuación se presentan los temas generales abordados:
- Aprox. 100 hs de clase total
- 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.
A continuación se presentan los temas generales abordados:
- Aprox. 100 hs de clase total
- Introducción a la programación orientada a objetos
- Programación de aplicaciones de consola en Java
- Introducción a programación de aplicaciones Web en Java
- Introducción a las Bases de Datos y lenguaje de consulta SQL
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). Además, se brindará el curso y certificación de GXtest, que es la herramienta especíca para GeneXus para automatizar a nivel de interfaz gráfica, siguiendo un enfoque avanzado dirigido por modelos.
A continuación se presentan los temas generales abordados:
- 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, de web services y automatizadas con Selenium sobre un sistema de ejemplo.
- Certificación en GXtest (incluye examen)
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.
A continuación se presentan los temas generales abordados:
- 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 carga con BlazeMeter
- Monitorización de sistemas
- Proyecto: Realizar la simulación de carga sobre un sistema real, incluyendo monitorización y sugerencias de mejora, identifi-cación de bottlenecks, etc.