La forma del probador: dónde comenzar a aprender la automatización

Hace seis años, Roman Pechersky de Izhevsk tomó cursos para probadores funcionales y comenzó a trabajar como ingeniero de control de calidad. Unos meses más tarde, se encontró por primera vez con la automatización de pruebas y se dio cuenta de que quería desarrollarse en esta dirección.

Ahora Roman lidera un equipo de expertos en automatización, así como un centro de capacitación para pruebas automatizadas en Izhevsk EPAM. Contó cómo comenzó a estudiar la automatización, cómo se desarrolló, con qué problemas se enfrentó y qué trucos de vida usó.



Cómo conocí la automatización


La primera vez que me topé con la automatización fue cuando el líder técnico de nuestro proyecto sugirió que cubriera las autocomprobaciones con controles para que pudieran ejecutarse después de cualquier cambio y recibir rápidamente comentarios. En ese momento, no había trabajado en las pruebas durante un año, por lo que no me sentía muy cómodo. A pesar de esto, la tarea me pareció interesante, y decidí intentar completarla, aunque ni siquiera sabía por dónde empezar.

Alguien de los colegas del proyecto me habló del Selenium IDE, una herramienta para automatizar las acciones de un navegador Firefox. Recuerdo cómo escribí mi primera prueba automática usando el método Grabar y Reproducir: encendí la grabación, comencé a presionar botones, ingresé texto en la barra de búsqueda y hice clic en los enlaces. El resultado fue un conjunto de acciones guardadas que podía ejecutar e inmediatamente ver el resultado.

Luego vi tres conferencias del entrenador de automatización Mikhail Polyarush:

¿Qué es la automatización de pruebas?
Cómo escribir la primera prueba de selenio
Cómo escribir localizadores en Selenium WebDriver

Conocer el Selenium IDE y estas conferencias fue suficiente para resolver la tarea del proyecto y comenzar a dar los primeros pasos a un lado en la automatización.

Cómo estudié automatización


Pronto, comencé a aprender Java yo mismo, uno de los lenguajes más populares para probar la automatización, y tratar de escribir autoevaluaciones simples en Eclipse, por ejemplo, para probar el formulario de inicio de sesión de las aplicaciones.



Una vez, mi gerente y yo discutimos mi desarrollo futuro. Dije que planeaba avanzar hacia la automatización y solicité cursos sobre pruebas automatizadas para los empleados.

Los siguientes seis meses trabajé y estudié, por las tardes, fines de semana, días festivos. Todo se complicó por el hecho de que los primeros tres meses estuve en un viaje de negocios en un nuevo proyecto. Después del trabajo, regresé al hotel con la idea de que si no entregaba mi tarea a tiempo, acumularía deudas por las cuales podría ser expulsado. Para mí fue un estrés terrible, e incluso perdí algunas libras.

Esto es lo que me ayudó a superar las dificultades:

• Comprender por qué esto es necesario

A pesar de que el estudio fue difícil y, a veces, incluso aburrido, me di cuenta claramente de las oportunidades que me abriría. Por eso dediqué todo mi tiempo libre a la automatización. En lugar de caminar por la ciudad: automatización, en lugar de reuniones en un bar con colegas, automatización, en lugar de la serie nocturna, automatización.

• Apoyo a colegas

Siempre es agradable cuando alguien te anima, especialmente las personas que ya han venido por el mismo camino.

• Un sentido de competencia.

La sensación de que podría convertirme en el estudiante más rezagado del grupo también me animó a seguir adelante.

Cuando terminaron los cursos, comencé a trabajar en el proyecto, alternando las tareas de un probador funcional y un ingeniero de automatización. Unos meses más tarde se unió al nuevo proyecto, ya en el papel de líder de equipo. El equipo de control de calidad constaba de solo dos personas: yo y un probador funcional, a quienes les expliqué los conceptos básicos de la automatización.

Cómo comencé a enseñar automatización


Mi compañero de proyecto es la primera persona que comencé a enseñar automatización. Al principio, mi conocimiento no siempre fue suficiente para responder sus preguntas y ayudar a resolver problemas de diseño. Pero cuando no pude explicarle algo, me di cuenta de que yo mismo no había desarrollado lo suficiente en el tema y mejoré mi conocimiento. Generalmente buscaba respuestas en Stack Overflow o recurría a los desarrolladores para obtener ayuda.

Poco a poco, mi equipo creció a 10 de automatización. En ese momento, me alejé completamente de las pruebas manuales y participé en complejas autocomprobaciones de aplicaciones web en todo el sistema. Luego comenzó a ayudar al equipo con la creación de soluciones arquitectónicas para pruebas y se convirtió en el coordinador del proyecto.

Hace seis meses, mis colegas y yo organizamos nuestro propio centro de capacitación para autoevaluaciones en la oficina. Comenzaron a tomar estudiantes de los últimos cursos y personas que decidieron cambiar el alcance de la actividad para la capacitación.

Recientemente, yo mismo tomé un curso corto, en JavaScript, y me conecté a un nuevo proyecto. Nunca me he encontrado con JS antes. Me tomó alrededor de un mes comenzar a sentirme más o menos seguro de trabajar con el nuevo idioma.



Resumiendo mi experiencia, puedo dar algunos consejos a los principiantes que están dando sus primeros pasos en la automatización.

• Comience con la práctica: cree su propio autotest

Mucha gente piensa que antes de escribir autotests, primero debe comprender la teoría de las pruebas y aprender Java u otro lenguaje de programación. Por lo general, el entusiasmo de esas personas no dura mucho, porque es un proceso largo y complicado.

Creo que necesitas comenzar con cosas simples. Cree una prueba automática simple usted mismo. Para hacerlo más interesante, intente resolver alguna tarea de la vida. Por ejemplo, escriba una secuencia de comandos que automatice la transferencia de lecturas de medidores de agua al sitio de una empresa de servicios de agua. Hoy, esto se puede hacer con Katalon Studio , que reemplazó a Selenium IDE. Dichas tareas generan interés en el estudio de la automatización. Entonces será posible proceder al estudio de la teoría y los detalles de la automatización, y también comenzar a dominar el lenguaje de programación junto con Selenium WebDriver .

• Priorizar

Suponga que comprende que quiere desarrollarse como ingeniero de automatización de pruebas y está listo para pasar el tiempo estudiando. Si planea sumergirse por completo en el entrenamiento y no alargarlo durante muchos meses, debe dejar su trabajo actual o pedirle a su jefe unas largas vacaciones.

Puedes seguir mi ejemplo e intentar combinar estudio con trabajo. Por lo tanto, ahorra su salario, pero durante varios meses se olvida por completo de la existencia del tiempo libre.

• Comienza por tu cuenta o toma cursos

Los cursos son una buena opción para aquellos que no tienen idea de por dónde empezar, o que desean organizar sus conocimientos. Los cursos en línea se pueden encontrar en Otus , Stepik , GeekBrains , Lynda , JavaRush . Si hablamos de capacitación fuera de línea, varias empresas de TI de su ciudad pueden organizarla: el centro de capacitación EPAM , por ejemplo, opera en seis ciudades rusas.

Por lo general, el programa de cualquier curso de automatización se divide en tres módulos:

1. Introducción a la teoría de la automatización;
2. Aprender los conceptos básicos de un lenguaje de programación (por ejemplo, Java);
3. Escribir tus propias pruebas automáticas.

Esto, en mi opinión, es un algoritmo universal para estudiar la automatización de pruebas. También puede tomarlo como base, si tiene antecedentes técnicos y decide comprender de manera independiente los conceptos básicos de la automatización.

Este es el conjunto mínimo de conocimientos que debe dominar para comenzar a trabajar en proyectos reales:

• Comprender los conceptos básicos de las pruebas: casos de prueba, defectos, etc.
• Comprender qué se puede automatizar y qué no;
• Conocimiento de los conceptos básicos de un lenguaje de programación (Java, JavaScript, Python, C #);
• Capacidad para trabajar con Selenium WebDriver ;
• Capacidad para escribir localizadores de elementos ;
• Conocimiento de los marcos de una o dos unidades.



• Estar lo más interesado posible

Los principiantes en automatización a menudo se asustan por los errores en el código. Ejecutan el código, ven cómo algo sale mal y caen en un estupor. ¿Qué hacer en tal situación? Intente encontrar una solución en Internet, por ejemplo, en el mismo Stack Overflow . Otra opción es pedir ayuda a colegas más experimentados. También una vez estuvieron en su lugar y cometieron los mismos errores. Al discutir una tarea con ingenieros de automatización experimentados, expande sus horizontes profesionales.

• No te quedes quieto

Para mantenerse en forma, debe estar constantemente a la vanguardia. Introduzca nuevos marcos y bibliotecas, comprenda la integración continua, profundice su conocimiento del lenguaje de programación o domine uno nuevo, lea artículos temáticos y blogs:

Un artículo sobre quién es una herramienta de automatización tan buena
Notas del automatizador (mejores prácticas para probar la automatización)
Automatizadores comunitarios
Portal sobre pruebas y calidad de software
QA-community Comaqa.by

En los cinco años y medio que he estado trabajando con la automatización, nunca me he arrepentido de haber elegido esta dirección. Me gustaba realizar tareas de prueba manuales, pero me di cuenta de que tarde o temprano llegaría al techo. El límite para el gerente llega cuando prueba diferentes tipos de aplicaciones (web, de escritorio, móviles) de manera tan profesional que el trabajo deja de presentar nuevos desafíos y se convierte en una rutina. Para no quedarse quieto y seguir desarrollándose, necesita adquirir nuevas habilidades. Puede automatizar las pruebas funcionales o de carga, puede pasar a las pruebas de seguridad o, por ejemplo, ordenar las bases de datos. También puede mirar en la dirección de DevOps, análisis de negocios o gestión de proyectos .

Yo, como probador manual, no pude alcanzar mi techo, la automatización me fascinó antes. Al mismo tiempo, los antecedentes del manual me ayudan mucho en mi trabajo todos estos años. No solo implemento casos de prueba, sino que también escribo scripts para ellos. Así que entiendo lo que estoy probando, qué tipo de funcionalidad estoy cubriendo y qué tipo de resultado estoy esperando.

Source: https://habr.com/ru/post/es421899/


All Articles