JavaRush /Blog Java /Random-ES /Cómo empezar con las pruebas automatizadas, parte 1

Cómo empezar con las pruebas automatizadas, parte 1

Publicado en el grupo Random-ES
Te invitamos a leer la adaptación rusa de un artículo de Tim Ebie, fundador de https://testdemy.teachable.com/ , una plataforma de control de calidad para pruebas de software en línea, creada para ayudar a quienes están iniciando su viaje en las pruebas automatizadas.
Cómo empezar con las pruebas automatizadas, parte 1 - 1
Estamos viendo un aumento en el interés y un crecimiento en la cantidad de aplicaciones web en el mercado. Con ellos vienen cada vez más trabajos que requieren programación, habilidades técnicas y diversas habilidades de automatización. Como resultado, los evaluadores manuales, para mantener la demanda, ven la necesidad de pasar de las pruebas manuales puras al control de calidad (QA) y están considerando pruebas automatizadas. Cambiar de pruebas manuales a automatizadas es una opción inteligente, ya que muchos puestos de control de calidad requieren una variedad de habilidades técnicas relacionadas con la escritura de código. Para aquellos a quienes no les gusta el cambio, éste puede resultar incómodo. Otros desarrolladores, por otro lado, ven este “tiempo de cambio” como una oportunidad para llevar sus carreras y habilidades al siguiente nivel y aumentar su relevancia. Cada vez que aumentan las exigencias, se amplían las posibilidades. Los desarrolladores con las habilidades adecuadas pueden subirse al tren y tener carreras excelentes y bien remuneradas. Si está buscando pasar de las pruebas manuales a la automatización, o incluso está considerando pasar de otro campo de desarrollo de software, tiene sentido seguir algunos pasos que lo ayudarán a tener éxito.

Paso 1: Evaluación del mercado

El “hábito número dos” del libro del Dr. Stephen A. Covey “Los 7 hábitos de las personas altamente efectivas” dice : “Comience con el fin en mente”. Creo que este principio es cierto cuando se trata de iniciarse en las pruebas automatizadas. Comience con una evaluación de mercado de las necesidades de quienes contratan ingenieros de automatización. Una vez que comprenda las necesidades técnicas de los empleadores, podrá adquirir las habilidades adecuadas. Un buen punto de partida es consultar las descripciones de puestos de trabajo en cualquier sitio (por ejemplo, Indeed.com , Dice , Monster , LinkedIn , etc.).
Cómo empezar con las pruebas automatizadas, partes 1 - 2
A continuación se muestran ejemplos de palabras de búsqueda que se pueden utilizar para generar una valoración de mercado:
  • Ingeniero de Automatización de Pruebas;
  • Desarrollador de Automatización;
  • pruebas/probador automatizado (pruebas automatizadas) (Pruebas de automatización/Probador de automatización);
  • Ingeniero de Automatización de Calidad ;
  • Ingeniero de Desarrollo de Software en Pruebas (SDET).
Para comprender cómo piensan los empleadores y qué esperan realmente de los candidatos, tenga en cuenta las siguientes preguntas mientras realiza la búsqueda:
  • ¿Qué habilidades y tecnologías específicas están mencionando?
  • ¿Ves un conjunto o “bloque” separado de habilidades o tecnologías para estas habilidades?
  • ¿Cuántos años de experiencia se requieren, si corresponde?
  • ¿Existen determinadas industrias que tienden a contratar más ingenieros de automatización que otras?
  • ¿Qué salario puedes esperar?
  • ¿Las herramientas o tecnologías que nos interesan son principalmente de acceso abierto o productos comerciales?
Ahora echemos un vistazo más de cerca a algunas descripciones de puestos para tener una idea de lo que busca el mercado. Tenga en cuenta que los trabajos en cuestión se encuentran en los Estados Unidos. Si no vive en los Estados Unidos, revise las herramientas de búsqueda de empleo en su país. Desarrollador de Automatización de Software I:
  • tiene un conocimiento claro de los lenguajes de programación orientados a objetos ;
  • familiarizado con Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Trabaja en estrecha colaboración con desarrolladores, analistas de negocios y otros evaluadores para identificar componentes de automatización de pruebas que se utilizarán para verificar los requisitos del software desarrollado.
Cómo empezar con las pruebas automatizadas, partes 1 - 3
Probador de control de calidad (pruebas automatizadas):
  • guarda pruebas automatizadas en los sistemas de control de versiones apropiados: TFS, GitHub , etc.;
  • sigue estándares de automatización predefinidos y estándares DevOps para la automatización, así como procesos continuos de integración e implementación;
  • Experiencia con herramientas ALM (TFS, Jira, HP QC) y herramientas de automatización de pruebas (preferiblemente Selenium WebDriver) .
Ingeniero de Automatización de Aseguramiento de Calidad - QA ( Ingeniero de Automatización de Aseguramiento de Calidad ):
  • Experiencia con Selenium WebDriver ;
  • habilidades de programación en Python, Java o lenguajes similares;
  • Experiencia de pruebas móviles/ Appium .
Desarrollador de software de prueba:
  • actualizar y ampliar el entorno de prueba y las herramientas de prueba en C#, TypeScript, JavaScript ...;
  • Fuertes habilidades de programación en C# o Java y/o JavaScript junto con una comprensión clara de los conceptos de programación orientada a objetos ;
  • Experiencia con Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Cómo empezar con las pruebas automatizadas, partes 1 - 4
A continuación se presentan algunas conclusiones clave de estas descripciones de puestos. Roles híbridos/combinados: preste mucha atención a los títulos de los puestos y a cómo estas empresas ven las pruebas de software automatizadas. Esto se puede ver por los nombres de los roles que enumeran (Desarrollador de automatización de software, Desarrollador de software en pruebas, etc. ¿Nota un patrón? Estas empresas se refieren más o menos a los ingenieros de control de calidad como desarrolladores de software: para los evaluadores manuales, esto significa que es hora de aprenda a escribir código para convertir casos de prueba manuales en scripts de prueba automatizados. Para los desarrolladores que buscan pasar a las pruebas automatizadas, esto significa que deben aprender más sobre las metodologías de prueba de software, el ciclo de vida de las pruebas del software y aprender a crear casos de prueba automatizados para respaldar estos ciclos de vida. No se pierda este cambio crítico o se quedará atrás. Con el auge de las metodologías ágiles y los proyectos basados ​​en Agile, cada vez más organizaciones están mezclando el control de calidad y los desarrolladores en uno solo. Así que es hora de que se prepare para su nuevas responsabilidades. Las personas que tienen una formación básica en el mundo de las pruebas de software y al mismo tiempo tienen un buen conocimiento de las habilidades de un desarrollador de software valen su peso en oro. Tecnologías de código abierto/lenguajes de programación: tenga en cuenta las tecnologías y lenguajes de programación resaltados en negrita en las descripciones . Estas tecnologías y lenguajes están dirigidos a ellos, es necesario aprenderlos para tener demanda en el mercado. Elija una tecnología de alta demanda y comience a desarrollar su conjunto de habilidades practicándolas y participando en aplicaciones y proyectos prácticos del mundo real. Esto acelerará tu aprendizaje. Si no está seguro de con qué lenguaje de programación empezar , reduzcamos un poco el campo.

Paso 2: dominar un lenguaje de programación orientado a objetos (POO)

Seamos realistas: la mayoría de los evaluadores manuales tienen miedo de programar. La sola idea de meterse bajo el capó y ver cómo funcionan realmente los sistemas y aplicaciones asusta a muchos evaluadores manuales. Este miedo es principalmente la razón por la que se convirtieron en probadores manuales.
Cómo empezar con las pruebas automatizadas, parte 1 - 5
La programación es la base de las pruebas automatizadas. Si desea dedicarse a las pruebas de automatización, debe poder codificar, y cuanto mejor sea en programación, más éxito tendrá en las pruebas de automatización o en el desarrollo de la automatización. Por lo tanto, si desea seguir siendo competitivo en este mundo de desarrollo y tecnología en constante cambio, debe decidir vencer este miedo y convertirse en un desarrollador de pruebas automatizadas muy solicitado. Lo bueno es que con una mínima orientación de un colega más experimentado, aplicando perseverancia y perseverancia, practicando constantemente (como lo hacemos en JavaRush), definitivamente puedes mejorar tus habilidades de programación. La siguiente pregunta lógica es: ¿qué lenguaje de programación debo aprender? Según nuestra evaluación del mercado, sabemos que los empleadores quieren contratar personas "con un sólido conocimiento de los lenguajes de programación orientados a objetos". Y según nuestro análisis, podemos ver varios lenguajes de programación orientados a objetos a los que hacen referencia. Por ejemplo, Java, C#, JavaScript y Python. Puedes empezar con cualquiera de ellos. Si está comenzando a aprender un lenguaje de programación orientada a objetos, aquí hay algunos conceptos que debe dominar para familiarizarse mejor con las pruebas automatizadas:
  • programación orientada a objetos (clases, objetos, instancias, herencia, atributos, etc.);
  • Módulos, Bibliotecas estándar (en el idioma que elija);
  • estructuras de datos (diccionarios, listas, tuplas, etc.);
  • tipos de datos (cadenas, caracteres, números enteros, coma flotante, tipos lógicos o booleanos, NoneType, etc.);
  • variables;
  • manejo de errores/excepciones;
  • operadores aritméticos/orden de precedencia;
  • comparación, operadores booleanos lógicos;
  • procedimientos/funciones/métodos;
  • Flujo de control: declaraciones If, bucles for, bucles while, etc.
  • leer/escribir en archivos;
La programación es la base de las pruebas automatizadas. Aprende a programar y aprenderás a automatizar.

Paso 3: Dominar las herramientas de automatización

Sigo diciendo esto: cuanto mejor puedas programar, mejor podrás automatizar. Una vez que haya comenzado a aprender un lenguaje de programación, el siguiente paso es aprender a utilizar herramientas de automatización. Porque la mayoría de las empresas se inclinan por herramientas de automatización de código abierto (o software gratuito) en lugar de productos comerciales con licencia por razones de costos.
Cómo empezar con las pruebas automatizadas, parte 1 - 6
Una excelente herramienta que se puede encontrar en el dominio público es Selenium WebDriver. Selenium tiene varios enlaces de lenguaje (Python, Java, C#, Ruby, PHP, JavaScript, etc.), por lo que aprender uno de estos lenguajes de programación proporcionará una base excelente para construir una carrera sólida en automatización. Algunos conceptos clave que debe dominar para crear casos de prueba automatizados confiables, funcionales y eficientes:
  • patrones de diseño: modelo de objetos de página;
  • buscar elementos de la página web utilizando diferentes localizadores (Selector CSS, XPATH, ID, Nombre, etc.);
  • cambiar Windows/iFrames;
  • refactorización;
  • examen de la unidad;
  • pruebas en la nube/pruebas paralelas;
  • verificación de datos;
  • pruebas en diferentes navegadores web (Firefox, Internet Explorer, Chrome, Safari, Opera, etc.);
  • expectativas implícitas y explícitas;
  • cadenas de acciones
Si has elegido un lenguaje de programación orientado a objetos y te has basado en herramientas de automatización para evaluar el mercado, el siguiente paso lógico es… ¿Qué pensarías?…

Paso 4: practica, practica, practica

Hagas lo que hagas, nunca abandones. Aprender algo nuevo siempre es un desafío. Pero cada desafío se puede superar con suficiente práctica y dedicación. El tiempo que lleva aprender nuevas habilidades y tecnologías depende totalmente de usted y de cuánta práctica y dedicación pone para dominar esas habilidades.
Cómo empezar con las pruebas automatizadas, parte 1 - 7
Cualquier deportista profesional dirá que ha llegado a la cima de su camino gracias al trabajo y esfuerzo de su entrenamiento. Dicen que Michael Jordan jugó duro, pero entrenó aún más duro. Este enfoque debería ser adoptado por cualquiera que busque automatizar: practique, practique y practique sus nuevas habilidades hasta que se conviertan en algo natural. Ésta es la única manera de mejorar sus habilidades y tener una gran demanda como evaluador. Una de las buenas formas de formarse es aprender activamente un lenguaje de programación y herramientas de automatización al mismo tiempo, “jugando” con ellos. En otras palabras, escriba pequeños programas o scripts de prueba automatizados, descompóngalos, cámbielos y vea cómo funciona ahora. Aprenda de lo que ha hecho y vuelva a intentarlo. Practica jugando, haciendo y aprendiendo. Haga esto y su curva de aprendizaje aumentará.

Tiempo de empezar

Lo más importante en un nuevo negocio es empezar. Todas las veces que postergamos las cosas o no logramos comenzar, es porque no tenemos una hoja de ruta o un plan de acción que nos ayude a trazar nuestro rumbo.
Cómo empezar con las pruebas automatizadas, parte 1 - 8
Si bien intentar cambiar radicalmente la dirección de su carrera puede parecer desalentador, ser valorado y comercializable es esencial. Necesita desarrollar nuevas habilidades para mantenerse en la cima del siempre cambiante mundo del desarrollo de software y ser lo que los empleadores realmente buscan. Empiece poco a poco: evalúe los requisitos del mercado, aprenda herramientas de automatización y programación orientada a objetos y practique constantemente. Y estará preparado para nuevas oportunidades laborales antes de que se dé cuenta. Fuente: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION