No se necesitan probadores manuales o es hora de la automatización



No, por supuesto, se necesitará un freno de mano. Pero cada año habrá menos necesidad de ellos. El nivel salarial alcanzará rápidamente el techo, y de tareas monótonas vomitará. Si desea permanecer en el control de calidad y convertirse en un ingeniero de automatización (¿desarrollador?), Entonces el texto a continuación es para usted.

¿Quién soy?


Vamos a conocerte primero. Mi nombre es Alexander y llevo 15 años trabajando en pruebas. Comenzó con el desarrollo, entró en pruebas, era un freno de mano, ahora una herramienta de automatización. Probé aplicaciones de escritorio, UI, aplicaciones móviles, API, realicé pruebas de carga y muchas cosas interesantes relacionadas con el control de calidad. Te diré brevemente cómo desarrollar mi carrera en autoexamen, qué estudiaría y por dónde comenzar. Sí, me falta algo, pero mi consejo es un reflejo de mi experiencia, y no la verdad última.

¿Qué eran los probadores manuales antes?


Solía ​​ser mejor (es). Hace unos 15 años, la profesión se estaba convirtiendo. Las empresas llegaron a comprender la importancia de las pruebas y comenzaron a contratar evaluadores. El principal (¡no siempre!), En resumen, los requisitos para un probador son un programador liviano o un especialista que no se metió en los programadores, más el conocimiento de los conceptos básicos de las pruebas. Quizás la oración anterior lo confundirá, pero lo explicaré más adelante.

Los probadores se dividieron en freno de mano y automatización. Los productos de HP estaban disponibles para automatización, Selenium, se introdujeron lenguajes de script. Los frenos de mano se probaron con las manos, escribieron la documentación de la prueba.

Pasó el tiempo y el freno de mano se fusionó en una rama con la automatización. Además, en mi opinión, la automatización se ha vuelto dominante. Y ahora le diré cómo puede convertirse en AQE (ingeniero de calidad de automatización).

¿Qué necesitas saber para comenzar?


Teoría de pruebas. Esto es necesario. Tipos de pruebas, documentación de pruebas, conocer y poder aplicar técnicas de diseño de pruebas. Y también explore la pirámide de prueba. Tal vez no todo esté claro, pero con el tiempo se revelará en todo su esplendor.

En principio, el libro de Savin "Testing Dot Kom" y veinte horas en YouTube son adecuados para comenzar.



Se leen libros, se revisa YouTube, hay experiencia en pruebas manuales. Ahora intentemos avanzar hacia la automatización, es más interesante allí.

Mitos


"El trabajo de QA, como uno de los puntos de entrada relativamente fáciles para TI", "Las
pruebas automáticas se extinguirán pronto. Como regla, estos son subprogramadores "
" Somos evaluadores, no desarrolladores, no necesitamos saber / no se supone / no es necesario "

. Encontré las dos primeras declaraciones en Internet. Escuché el tercero en vivo. Si desea alcanzar un alto nivel en automatización, no esté de acuerdo con estos mitos. Será difícil, largo, pero interesante. Su conocimiento debe estar al nivel de los programadores. Y en la mayoría de los casos, y más, aún necesita saber y aplicar la teoría de las pruebas.
¿De dónde vienen esos mitos? Pienso desde el punto anterior: lo que solían ser los probadores manuales. Los probadores son programadores ligeros (NO).

Creo que puedo probarlo. ¿Conoces probadores / gerentes / desarrolladores? Pregúnteles cuántos autotest (fuertes) encontraron en un año? Creo que pocas unidades. Nuestra compañía escaneó 20 candidatos en un año y contrató a uno. Medio.

Puedes intentar conseguir una entrevista en Signora AQE. Ya no funcionará "Somos probadores, no desarrolladores, no necesitamos saberlo". Y los desarrolladores lo entrevistarán después de la teoría de prueba. Porque un sistema de automatización moderno y potente es un desarrollador completo.

Elegir un lenguaje de programación


No es realmente importante A nivel mundial, los lenguajes de programación son similares entre sí y durante su carrera conocerá algunos. Si comprende los conceptos básicos, la transición a un nuevo idioma será rápida.
Comience explorando conceptos básicos: tipos de datos, clases, matrices, bucles, manipulación de cadenas, funciones, OOP. Después de ir a un idioma específico.

En 2020, para el desarrollo de las pruebas automáticas , examinaría estos idiomas (recuerdo que esto se basa en mi experiencia y no en una instrucción para la acción):

JavaScript es excelente para probar la interfaz de usuario. Se desarrolla rápidamente en las pruebas. Los frameworks JS están reemplazando activamente Selenium

Java, el lenguaje más popular para la automatización en Rusia. Históricamente, muchas vacantes.

Pitónidioma con la entrada más rápida. El lenguaje es "simple", fácil de leer y aprender.

Y uno debe entender que esto es mucho tiempo, uno debe ser paciente. Dependiendo de la intensidad del entrenamiento de 4 meses a un año.

Patrones de diseño


Los patrones de diseño describen formas típicas de resolver problemas comunes al diseñar programas.

Esto es lo que escuché recientemente:

“Necesitamos medios fuertes que rastrillen y comprendan nuestras pruebas. Ya los entendemos un poco ".

Cuando tienes un sitio web con 3-2 páginas, entonces todo es simple, rápido y hermoso. Pero, si tiene un proyecto donde las pruebas ui / api / mobile / e2e son al mismo tiempo, y todo esto se escribe sin patrones, en el 90% de los casos esto se convertirá en basura (lo siento).

Conocer el objeto de página es bueno, pero hay muchas más plantillas útiles en el mundo que pueden facilitar el desarrollo. Cuanto antes resuelva este problema, menos problemas habrá en el futuro (así es como encontrar un error en una etapa temprana, entonces será más barato solucionarlo).

Aquí hay un enlace para leer .

Si aún no puede abordar este tema, solicite la ayuda de sus desarrolladores. Por lo tanto, mejoramos el proyecto en varias iteraciones, resolviéndolo con el desarrollador.

También recomiendo leer el libro Head First. Patrones de diseño. Freeman Eric, Robson Elizabeth.

¿Qué sistema operativo elegir?


No importante. Ahora, esto es una cuestión de hábito, use lo que sea conveniente para usted. Si tuviera esa opción ahora, elegiría un sistema similar a UNIX. La experiencia con ella es apreciada en el mercado laboral, y hay menos problemas.

Marcos de prueba


Framework (eng, framework - structure, framework): un conjunto de decisiones sobre la arquitectura, la estructura y los métodos para combinar componentes del sistema que se pueden aplicar a muchas tareas similares.

Ahora nos estamos acercando a las pruebas. Hay grandes marcos para cada idioma. Para JS, es Cypress, Nightwatch, Puppeteer y otros. Java tiene Selenide, Python tiene el estándar pytest. Estúdialos cuando llegue el momento. La documentación sobre ellos es mar.

Llegará el momento y usted desarrollará su marco usted mismo, por supuesto, antes de eso, teniendo una buena comprensión del tema de los patrones.

Git y reseña


Git (pronunciado "git") es un sistema de control de versiones distribuido.
Su código debe almacenarse en algún lugar. Hay git para esto. Git es el estándar de facto.
Aquí el proceso de aprendizaje se puede construir así:
Instale git
Regístrese en github.com
Lea la documentación
Abra YouTube, encuentre lecciones y trabaje en ellas.

Para iniciar sesión, necesitará aprender una pequeña cantidad de comandos git:
clonar, agregar, empujar, jalar, esconder, confirmar, estado, rebase, pagar. En una semana lo aprenderás y lo dominarás. La práctica principal.

Revisar código es una herramienta poderosa para compartir conocimiento, encontrar errores y errores "estúpidos", y verificar su código. Al principio, revisarán con más frecuencia que usted, pero con el tiempo, comenzará a revisar a otros. Trate de percibir la revisión como ayuda y desarrollo personal. Todos tienen errores y errores tipográficos.

Leer

¿Qué más aprender?


Integración continua CI / CD / Despliegue continuo.

Los objetivos principales de CI / CD son minimizar los errores, acelerar el ensamblaje y mejorar la calidad del producto final:



Read

Docker es una plataforma diseñada para desarrollar, implementar y ejecutar aplicaciones en contenedores.

Read

HTTP es un protocolo para intercambiar datos en una red. Es posible que pueda escribir pruebas de IU sin conocer HTTP, pero no hay API para probar. Y la localización del problema será más rápida con este conocimiento.

Leer

xpath : un lenguaje para consultar elementos de un documento XML.

Enlace a la hoja de trucos

SQL es un lenguaje informático estándar para administrar bases de datos relacionales y procesar datos. SQL se utiliza para consultar, insertar, actualizar y modificar datos.

Leer

Esta lista continúa, pero me detendré aquí.

¿Dónde obtener conocimiento?


Youtube
Foros temáticos
Libros
Cursos sobre programación
Cursos sobre automatización de pruebas Dividí

especialmente cursos sobre programación y cursos sobre automatización de pruebas. Mejor comenzar con el primero. En los segundos cursos se le enseñará automatización y hacer la vista gorda a la "corrección" del desarrollo. Es mejor sentar las bases y luego pasar a la automatización.

¿Vale la pena ahorrar en la matrícula? ¿Puedo tomar un libro / leer un artículo / mirar YouTube y no elegir cursos pagos? No. Si es posible, por supuesto. Hay mentores en los cursos, esto acelerará enormemente el aprendizaje. Hay muchas tareas inventadas para ti que deberían impulsar habilidades. Lo único es acercarse sabiamente a la elección de los maestros. Leer comentarios

PD: Revisé todo: libros, YouTube, artículos, cursos. Y los cursos fueron lo mejor para mí, fue un salto en el desarrollo. Quizás tendrás una forma diferente.

Referencias


foro de pruebas automáticas (casi todo está allí) automatizado-testing.info
js para probar t.me/js_for_testing
QA - t.me/qa_automation herramienta de automatización
Serious t.me/serious_tester tester
Si aún no lo ha hecho, agréguelo a los marcadores, esto es una necesidad . stackoverflow.com

¿Por qué escribí esto?


Recientemente, estuve en una reunión donde uno de los oradores habló sobre su experiencia en el uso de la automatización de pruebas. Y su compañía llegó a la conclusión de que es más fácil encontrar desarrolladores y hacer AQE a partir de ellos que es difícil buscar probadores automáticos que no brinden los beneficios que se esperaban de ellos a larga distancia. Y las razones fueron que las pruebas automáticas no tenían suficiente conocimiento en desarrollo (patrones, conocimiento de bibliotecas). De alguna manera, estoy de acuerdo con ellos. Estoy seguro de que alguien pensará que describí los requisitos para un super tester o para un desarrollador en pruebas (Software Developer In Test). Con el desarrollo de scrum, cuando algo como un desarrollador / analista / probador desaparece, nos convertimos en ingenieros y miembros iguales de un equipo cuyo objetivo es lanzar un producto / hacer una función para un sprint.En estas condiciones, los requisitos para las pruebas automáticas crecerán y los especialistas en forma de T serán apreciados en el mercado (artículo en vc.ru ). Estas personas no solo pueden localizar claramente el problema, sino también solucionarlo (por ejemplo, en el frente). Y este es el futuro.

el fin


Como escribí anteriormente, el proceso de aprendizaje no será fácil. Para ingresar a la profesión, AQE necesitará gastar + - un año. Se han escrito muchos artículos sobre cómo desarrollar la capacitación, pero señalaré dos puntos:

  1. Sepa cómo relajarse y tomar descansos.
  2. Práctica. Elija sitios, proyectos. Escriba pruebas en ellos, pruebe la API. Mantenga su código en github, llame a amigos, colegas para su revisión.

Buena suerte

All Articles