Varias veces ya he recibido la misma consulta, ¿cuándo comenzar la automatización? ¿qué es lo recomendable?, etc, etc.
Quizás para los que ya nos encontramos en el tema resulte sencillo, o quizás no. Lo principal al querer comenzar a automatizar es definir el por qué.
¿Por qué se necesita automatizar? La principal respuesta es disminuir la carga de trabajo de testing manual. Sí, es cierto, es lo principal, más cuando se necesita realizar regresiones. Además de estas están la necesidad de automatizar la carga de datos o llevar a un estado una aplicación.
Por mi experiencia creo que una vez resuelta esa pregunta existencial, ya se puede empezar a resolver el resto de las preguntas que empiezan a comenzar. ¿Cómo empezar...?
Si el proyecto es nuevo, se puede planificar la automatización desde el comienzo del mismo, en Agile, la iteración 0. También hay que resolver ¿qué se quiere automatizar?, al responder esta pregunta podemos definir que herramientas son apropiadas para la tarea que vamos a realizar.
Definida la herramienta, ya podemos comenzar a realizar la automatización, pero ¿en qué momento? Bueno, si se tienen mockups no funcionales, se puede llegar a realizar casos de prueba automatizados sin necesidad que sean 100% funcionales, y luego al tener un entregable se puede ejecutar el caso en la funcionalidad que se esta automatizando.
En caso de que no se tengan mockups pareciera que se pierde tiempo valioso en esto, ya que mientras no exista aplicación no existen casos, ¿cómo podemos avanzar?
En esta situación, podemos utilizar BDD, nos permite realizar los casos de prueba definiendo cada uno en base a las user stories o caso de uso existentes, esto permite mejorar los tiempos de testing. En el momento de tener la aplicación se puede definir el resto del caso, permitiendo la automatización completa.
Ahora, quedo pendiente un tema, ¿qué pasa si la aplicación ya existe? Lo que se puede realizar en estos casos, para no perder demasiado tiempo, es identificar la funcionalidad que tenga mayor importancia a nivel de negocio. Si lo que hay que automatizar es muy grande, si se utiliza BDD se puede identificar sencillamente los casos puntuales, además de poderle brindar al usuario final una mayor visibilidad. En caso de que lo que se necesite automatizar sea sencillo, puede utilizarse Test/Unit o similar.
Siempre se van a encontrar distintos casos donde habrá que sentarse a analizar la situación y revisar un cuestionario. Principalmente cuando comenzamos un proyecto de cero.
Ahora... ¿cómo se estima todo esto? Esto lo dejo pendiente para la próxima entrada del blog.
Quizás para los que ya nos encontramos en el tema resulte sencillo, o quizás no. Lo principal al querer comenzar a automatizar es definir el por qué.
¿Por qué se necesita automatizar? La principal respuesta es disminuir la carga de trabajo de testing manual. Sí, es cierto, es lo principal, más cuando se necesita realizar regresiones. Además de estas están la necesidad de automatizar la carga de datos o llevar a un estado una aplicación.
Por mi experiencia creo que una vez resuelta esa pregunta existencial, ya se puede empezar a resolver el resto de las preguntas que empiezan a comenzar. ¿Cómo empezar...?
Si el proyecto es nuevo, se puede planificar la automatización desde el comienzo del mismo, en Agile, la iteración 0. También hay que resolver ¿qué se quiere automatizar?, al responder esta pregunta podemos definir que herramientas son apropiadas para la tarea que vamos a realizar.
Definida la herramienta, ya podemos comenzar a realizar la automatización, pero ¿en qué momento? Bueno, si se tienen mockups no funcionales, se puede llegar a realizar casos de prueba automatizados sin necesidad que sean 100% funcionales, y luego al tener un entregable se puede ejecutar el caso en la funcionalidad que se esta automatizando.
En caso de que no se tengan mockups pareciera que se pierde tiempo valioso en esto, ya que mientras no exista aplicación no existen casos, ¿cómo podemos avanzar?
En esta situación, podemos utilizar BDD, nos permite realizar los casos de prueba definiendo cada uno en base a las user stories o caso de uso existentes, esto permite mejorar los tiempos de testing. En el momento de tener la aplicación se puede definir el resto del caso, permitiendo la automatización completa.
Ahora, quedo pendiente un tema, ¿qué pasa si la aplicación ya existe? Lo que se puede realizar en estos casos, para no perder demasiado tiempo, es identificar la funcionalidad que tenga mayor importancia a nivel de negocio. Si lo que hay que automatizar es muy grande, si se utiliza BDD se puede identificar sencillamente los casos puntuales, además de poderle brindar al usuario final una mayor visibilidad. En caso de que lo que se necesite automatizar sea sencillo, puede utilizarse Test/Unit o similar.
Siempre se van a encontrar distintos casos donde habrá que sentarse a analizar la situación y revisar un cuestionario. Principalmente cuando comenzamos un proyecto de cero.
Ahora... ¿cómo se estima todo esto? Esto lo dejo pendiente para la próxima entrada del blog.
Comments (0)
Publicar un comentario