Eligiendo un framework de automatización

A la hora de armar un proyecto de automatización tendremos que elegir un framework que nos solucione la problemática del armado, organización, ejecución y reportes de los tests.

Según el lenguaje que usemos son las opciones que tendremos, pero también la elección del framework dependerá de la metodología de trabajo.

Por ejemplo si deseamos implementar BDD como modelo de desarrollo tendremos framework como :

  • Cucumber (Ruby, Java y otros lenguajes más)
  • Rspec (Ruby)
  • Capybara (Ruby)
  • Behat (PHP)
  • Jasmine (Javascript)
  • Concordion (Java)
  • Jbehave (Java)

En general todos los frameworks de automatización para BDD son similares, teniendo como objetivo el entendimiento de los casos de prueba por parte de todo el equipo (desarrolladores, testers, analistas funcionales, etc). A la hora de automatizar en estos frameworks tenemos que tener en cuenta que debemos desarrollar en 3 capas bien definidas y no debemos entreverarlas. La primer capa tiene definidos los casos de prueba en texto plano, que luego será lo que se ejecute. La segunda capa tendrá definidos los «steps» o pasos los cuales serán utilizados por los tests. Es importante que esta capa no tenga lógica ni elementos definidos, debe únicamente llamar a los métodos que resuelven ese step. La última capa está compuesta por los pageobjects y clases que tendrán lógica. Lo importante es que los steps y los casos de prueba queden legibles. Si llenamos los steps de if’s no cumpliremos con esa meta.

Si no deseamos trabajar con BDD y deseamos únicamente crear un proyecto de automatización para correr las pruebas por ejemplo en integración continua, disponemos de frameworks como :

  • Testng (Java)
  • Junit (Java)
  • Minitest (Ruby)
  • TestUnit (Ruby)
  • Testy (Ruby)
  • PhpUnit (PHP)
  • Simpletest (PHP)
  • Nightwatch.js (Javascript)
  • NUnit (C#)
  • Golem (Python)

Esto es por nombrar a los más conocidos, pero seguro que hay muchos más que también nos ayudarán.

Puntos a tener en cuenta a la hora de elegir un framework más allá del lenguaje y la metodología de trabajo son los de ver la simpleza para crear casos de prueba, el mantenimiento y la ejecución de los casos. Muchos de estos frameworks disponen de reportes que se generan automáticamente, pero si eliges uno que no tiene (o prefieres no usarlo) siempre podemos buscar librerías como Allure, extent, etc. que nos ofrecen reportes geniales.

Es recomendable leer la documentación del framework que usaremos con el objetivo de entender claramente el orden del proyecto y poder explotarlo al máximo para sacarle todo el potencial.

Ustedes qué framework usan?

Deja un comentario

Web construida con WordPress.com.

Subir ↑