Dentro de las posibles formas que tiene un tester para crecer profesionalmente, está la de aprender a programar, pero no para construir sistemas, sino para tener un mejor background, y para poder automatizar. Lo que se necesita aprender para poder comenzar a automatizar algo con Selenium por ejemplo, creo que es suficiente con algo simple como los fundamentos de la programación, manejarse con un entorno de desarrollo, poder programar métodos y lógica básica, que incluya condiciones (if-then-else) y bucles (for, while)… no mucho más que eso. Luego la práctica va haciendo que uno vaya progresando y aprendiendo más cosas a medida se necesitan. En este post te quiero compartir algunas opciones de cursos de programación para testers, y una posible estrategia de cómo aprender si no tenés ningún conocimiento ni experiencia al respecto.
Curso de programación para testers bien introductorio
https://www.coursera.org/learn/a-programar
Existe un curso hosteado en Coursera, preparado gracias a la colaboración entre Universidad ORT de Uruguay y la Universidad de Edimburgo. Apenas vi los primeros videos y me resultaron de muy buena calidad.
Como lenguaje de programación usan Scratch, que es un lenguaje visual desarrollado por el MIT, con lo cual está bien enfocado en que sea introductorio para entender los conceptos y la forma de pensar en programar.
Cursos introductorios de programación asociados a un lenguaje
Encontré varios cursos en Codecademy, Udacity, Udemy y Tutellus (el único exclusivo en español), donde hay de todo: cursos gratis, pagos, en distintos idiomas, básicos, avanzados. Acá comparto algunos según el lenguaje.
Cursos introductorios de Java
- https://www.codecademy.com/learn/learn-java
- https://www.udacity.com/course/intro-to-java-programming–cs046
- https://www.udacity.com/course/java-programming-basics–ud282
Cursos introductorios de Python
- https://www.codecademy.com/learn/python
- https://www.coursera.org/learn/python-programming-introduction (sin certificado es gratis, con certificado son 79 dólares)
- https://www.coursera.org/learn/python (sin certificado es gratis, con certificado son 79 dólares)
- https://www.udacity.com/course/programming-foundations-with-python–ud036
Cursos introductorios de Ruby
- https://www.codecademy.com/learn/ruby (gratis)
- https://www.udemy.com/comprehensive-ruby-programming-tutorial/ (no es gratis, pero es accesible)
- https://www.udemy.com/ruby-smartherd/ (no es gratis, pero es accesible)
- https://www.tutellus.com/tecnologia/desarrollo-web/aprende-a-programar-en-ruby-9104 (en español, muy accesible)
Consideré solo Java, Ruby y Python ya que son lenguajes muy populares para automatizar pruebas, pero podrían buscar en esas mismas plataformas cursos de otros lenguajes también.
Cerrando
Yo creo que una buena estrategia sería la siguiente:
- Comenzar con ¡A Programar! de ORT y Universidad de Edimburgo
- Luego, elegir un lenguaje, y en base a eso hacer alguno de los cursos gratuitos. Para esto podrías preguntar cuál es el más conveniente en tu empresa.
Una vez hecho esto, podrás elegir con mayor confianza qué curso te conviene seguir.
Como comentario aparte, me encantó el plan de estudio que sugieren en este post, dirigido para aprender a programar lo básico para automatización, y otros aspectos que también se necesitan, como HTML, entender cómo funciona un browser, etc.
A partir del 2017, Abstracta Academy y BIOS lanzan una carrera técnica de testing, en la cual primero se enseñan las básicas del testing, y luego las básicas de la programación, para que en el segundo año se pueda avanzar en automatización y performance, que son los dos perfiles más requeridos dentro del testing hoy en día.
Más información aquí: http://www.cursosbios.com/testing-tecnico/
¿Tenés algún otro curso de este estilo para recomendar?
En estos días Javier Garzas publicó algunas opciones para aprender a programar para los niños
http://www.javiergarzas.com/2018/02/varios-sistemas-para-ensenar-a-programar-a-ninos.html
Bien interesante!
Muy agradecido por tan excelente post
Excelente post, yo tengo cuenta en Udemy pero realmente no la uso. Voy a empezar a utilizarla.
Gracias.