sábado, enero 4

Ruby, una joya para automatizar

Puede ocurrir que la tarea de comenzar a automatizar pruebas resulte frustrante y muy probablemente sea debido a la complejidad del lenguaje que se esté utilizando si la automatización está orientada a realizar scripts mantenibles y reutilizables. Existe mucha información en internet sobre automatización y por lo general se encuentra basada en Java. Java es un lenguaje muy poderoso y ampliamente utilizado en todo el mundo por infinidad de aplicaciones, de eso no hay duda. Pero lo cierto es que para alguien que está comenzando a programar/automatizar no resulta muy amigable y sencillo.

Para empezar a automatizar sin tantas complicaciones sólo hay que elegir un lenguaje simple, que esté orientado a las personas en lugar de las máquinas. Que el lenguaje esté orientado a las personas en lugar de las máquinas significa que sea sencillo de aprender y memorizar. Que su sintaxis sea lo mas familiar posible a nuestra forma de comunicarnos. Vale aclarar que la mayoría se los lenguajes están en inglés por lo que la frase “a nuestra forma de comunicarnos” hace referencia a dicho idioma.

Pues bien, un lenguaje que cumple con esta característica es Ruby. Un lenguaje con una curva de aprendizaje sumamente pronunciada, con una sintaxis sencilla y elegante, sin complicaciones y con un dinamismo mas que importante.

Volviendo a Ruby, quiero comentar que existe muchísima documentación y una amplia comunidad detrás para ayudar.

Ya hemos mencionado en un post anterior como es el clásico “hola mundo” en Ruby y al ser tan fácil lo volvemos a escribir para que quede en esta entrada:

hola_mundo.rb es el nombre del archivo

puts “hola mundo”

Y lo que está en verde es todo el código que contiene. Sencillo verdad?

Por ejemplo, ahora veamos que se entiende con la siguiente porción de código:

10.times do
  puts “hola mundo”
end

Este es un simple ejemplo de lo fácil que es escribir y entender código en Ruby. Eso si, existen conceptos un poco mas complejos, no es todo así de sencillo aunque para comenzar a programar automatización no se requieren demasiados conocimientos sobre un lenguaje, obviamente cuanto mas se conozca mejor será, pero no es una limitación y eso se va adquiriendo sobre la marcha. Recordemos que cuando automatizamos no estamos haciendo una aplicación en sí sino mas bien programando instrucciones para simular el uso del browser por parte del usuario en el caso de pruebas funcionales y para eso no se necesitan grandes destrezas en programación.

Vamos con un ejemplo mas. Que parece que indica el siguiente código?

if titulo.include? “Bienvenido”
  puts “Mensaje de bienvenida OK”
end

Su traducción sería: 
si (if) titulo incluye (include?) la palabra “Bienvenido” imprimir (puts) “Mensaje de bienvenida OK”

Que también se puede escrbir de la siguiente manera:

puts “Mensaje de bienvenida OK” if titulo.include? “Bienvenido”

Quien en algún momento aprendió un lenguaje de programación es muy probable que haya notado que no hemos usado llaves, corchetes ni punto y coma (;). Si, Ruby no los necesita.

Como se puede ver el lenguaje es muy facil de entender y a medida que se va aprendiendo se va tornando hasta divertido.

Ruby tiene muchísimas herramientas orientadas a pruebas que son gratuitas (open source) como Cucumber, RSpec, Minitest entre otros y van surgiendo cada vez mas en el mercado asi como surgen experiencias y respuestas de solución a preguntas de problemas que otros ya tuvieron.

Podríamos decir que el que no tiene los skills técnicos para automatizar podría adquirilos facilmente.
Un tester que entiende como programar tiene un plus respecto de un desarrollador y ese plus lo obtuvo de su experiencia como tester!
Links

No hay comentarios.:

Publicar un comentario