Automatización en Selenium
Recibí la siguiente búsqueda bajo el título
Analista Qa con Automatizacion (Selenium) en Capital Federal – Nombre de la Empresa
Tarea a Realizar para la posición de Automatización
1- Diseño y ejecución de casos de prueba sobre requerimientos de media y alta complejidad
2- Diseño de Plan de pruebas
3- Determinar prioridad y criticidad de los requerimientos y los issues asociados en cada iteración del ciclo de desarrollo
Conocimientos vinculados con Automatización
1- Conocimientos de diferentes tipos de Testing (smoke test, test funcional, test de regresión, test de performance)
2- Conocimientos de herramientas de Issues traking y flujos de trabajo de los Issues (creación, seguimiento, resolución y verificación)
3- Manejo intermedio de SQL Server (DML)
4- Conocimientos de herramientas de automatización orientadas a sitios web (deseable Selenium)
5- Habilidad de adaptarse a cambios de requerimientos durante una iteración y re-planificación de los mismos
Experiencia:
1- 3 años de experiencia comprobable en Testing de aplicaciones Web
2- Experiencia en Metodologías Agiles (SCRUM)
3- Experiencia en planificación y estimación de proyectos
Analizando
Es de suponer que la búsqueda se refiere a Selenium WebDriver.
Respecto de las Tareas para la posición de Automatización
Tarea 1
Deberá saber, antes de diseñar y ejecutar, cómo seleccionar los casos de prueba candidatos para automatizar.
Tener el dato de cuan complejo es el requerimiento, ayuda a la selección preliminar, ya que nos permitirá para la primera pasada, reconocer si son o nó viables de ser automatizados.
Tarea 2
Diseñar un plan de pruebas para un proyecto de automatización, es distinto a una planificación de un proyecto de testing manual ya que hay variables y contextos diferentes por manejar. Hay proyectos en los que hay que hacer una prueba de concepto antes de ir por más como para verificar que se puedan reconocer todos los objetos componentes.
Tarea 3
Habrá que tener muy en claro la diferencia que hay entre los conceptos de prioridad, criticidad y complejidad (antes tratada) porque deben ser tratados de diferente manera frente a los issues (problemas) que se hayan detectado.
Hasta aquí, se interpreta que el postulante debe tener experiencia en el tratamiento de requerimientos para poder interpretar las variables antes mencionadas y así diseñar un plan de pruebas alineado con el plan de desarrollo. Ahora bien, para diseñar el plan deberá haber reconocido qué escenarios de prueba serán candidatos para automatizar y cuáles nó. Una vez definido este punto, deberá pasar al diseño de los casos y prepararse para la ejecución. De más esta decir que el diseño de los casos no guarda relación con los que uno escribe en proyectos tradicionales (waterfall) ya que por lo leído, se trataría de proyectos ágiles (de ahí a tener conocimiento en scrum – ver punto 2.Experiencia). Para la parte del enunciado de los issues, se entiende que las iteraciones han comenzado y que deberá clasificar los issues para su posterior tratamiento.
Hago un comentario aquí para tenerlo presente: Estimar y planificar el esfuerzo del testing automatizado es una práctica distinta a la del testing manual, ya que intervienen variables y conceptos distintos.
Hasta aquí podemos entender que la persona que se postule deberá tener los conocimientos básicos del testing manual.
Curso Online Intensivo de Testing Manual
Fechas del próximo ciclo
Octubre: 12, 14, 16, 19, 21, 23, 26, 28, 30
NOTA: de no llegar a cubrir el cupo mínimo, se reprogramarán las fechas
Respecto de los Conocimientos
Conocimiento 1
Aquí no se aclara que se pretenda automatizar estos tipos de prueba, aunque se incluye el test de performance donde el conocimiento técnico no lo tiene cualquier Tester, puesto que se realiza con determinadas herramientas y bajo una cierta metodología de trabajo. Cada uno de estos tipos de prueba están vinculados a todo lo que se haya analizado anteriormente, recordando que nada es estático y definitivo. Ahora bien, dentro del plan de prueba debería incluirse la ejecución del tipo de prueba que se haya definido implantar, con todo lo que eso conlleva, considerando las variables antes citadas.
Conocimiento 2
Considerando el skill que están esperando que tenga el postulante, para este conocimiento también es esperable que cuente con la experiencia en el uso de varios tipos de herramientas (aranceladas y open source) que permitan gestionar cada una de las principales etapas y sub etapas. No se entiende muy bien porqué únicamente se menciona a las herramientas de Issues traking, ¿cómo se pretenderá gestionar la registración y mantenimiento de los proyectos, releases, requerimientos, casos de pruebas, y otros aspectos inherentes?
Conocimiento 3
El manejo intermedio de SQL Server (DML) implicaría:
-inserción de datos : INSERT
-modificación de datos: UPDATE
-borrado de filas: DELETE
-Restricciones
Aquí puede haber una cierta complejidad si se pretende automatizar algunos aspectos relacionados con el manejo de base de datos.
Conocimiento 4
Aquí la precondición para poder automatizar las pruebas sobre aplicaciones web con Selenium WebDriver es el conocimiento de scripting en algún lenguaje (Ruby, Java, otros).