Prueba de automatización: Java o Python?

¡Hola a todos! En marzo, OTUS lanza dos cursos de automatización de pruebas a la vez: "Python QA Engineer" y "Java QA Engineer" . A menudo se nos pregunta cuál de estos cursos elegir, decidimos responder esta pregunta traduciendo un artículo de SafeBear.




Una de las preguntas más populares es:
¿Qué curso debería tomar: sobre automatización de pruebas en Python o automatización de pruebas en Java? ¿Y por qué tenemos cursos en ambos idiomas?

Lo primero y más importante que decir: no importa el idioma que esté automatizando.

La aplicación que desea probar se puede escribir en Java, Python, C #, Assembly, Scala o cualquier otro lenguaje de programación disponible. Los marcos de prueba automatizados en Python automatizarán las pruebas manuales no peor que los marcos de Java. Cuando se trata de la automatización de la GUI, no importa en qué marco está probando.

El curso adecuado para usted depende de su situación. Por supuesto, si desea convertirse en un experto en automatización, lo más probable es que desee tomar ambos cursos, ya que los marcos aún varían mucho. Cada uno de ellos hace frente a sus tareas, como verá a continuación, y a veces, elegir un marco se reduce a las preferencias personales.

Traté de distinguir los pros y los contras de estos dos marcos, con la esperanza de que esto facilitará su proceso de toma de decisiones. Si después de eso la decisión será más difícil, perdóname.

Python es perfecto


pros


Automatiza tu mundo, no solo tus pruebas. Es difícil embarcarse en el camino de un probador sin conocer Python. Si hay un lenguaje que necesita saber para poder automatizar TODO, entonces definitivamente es Python. Puede automatizar la implementación del entorno, usarlo para escanear puertos o realizar pruebas de seguridad, para CI es indispensable. Python se convertirá en tu amigo, a quien pedirás ayuda una y otra vez.

Corto y sencillo . En comparación con la sintaxis Java cargada, es ridículamente fácil de usar y leer. También es un hecho bien conocido que hay 10 líneas en Java por línea en Python.

Porque ya has hecho todo. Muchas otras personas usan Python por la misma razón que usted, a partir de esto podemos concluir que alguien ya escribió el código que necesita, y simplemente puede importarlo.

Entrenamiento y apoyo. En Internet puede encontrar un montón de capacitación y materiales útiles. En general, la gente ha llegado a la conclusión de que los materiales de Python son más comprensibles que cualquier otro lenguaje.

Menos


Dolor con el IDE . Python fue creado para ser simple, universal y para permitir secuencias de comandos directamente desde el intérprete, por lo que no se lleva bien con el IDE y Java. Es tan simple y versátil que el IDE no puede entender lo que está haciendo cuando comienza a crear objetos y pasarlos entre métodos. Esta es una característica desagradable que puede desempeñar un papel si realmente desea utilizar el IDE para crear su marco.

Soporte de oficina . A veces es mejor tener apoyo local. Si nadie en su equipo conoce Python, entonces no habrá nadie para obtener ayuda urgente para resolver problemas emergentes.

¡Java es lo que necesitas!


pros


Grandes IDEs . Es un placer escribir en Java en un entorno como el IntelliJ IDE . El IDE hace la mayor parte del trabajo por usted, incluso asumiendo el dolor de la sintaxis compleja. Las funciones de finalización de código harán mucho trabajo por usted, hasta que le parezca que ha escrito solo un par de caracteres en el teclado.

PageFactory . PageFactory en Java simplifica el código para la automatización de Selenium y le permite escribir pruebas fáciles de entender.

Ayuda a domicilio. La mayoría de los probadores trabajan con desarrolladores de Java. Si te quedas atascado con algo, después de un par de mesas siempre serás alguien que te ayudará. Esto ayuda mucho en la curva de aprendizaje y le brinda los beneficios del conocimiento y la experiencia de sus colegas. No tenga tiempo para mirar alrededor, ya que se convierte en un profesional.

Menos


Abracadabra . No es fácil leer código Java en comparación con Python en inglés. Java también tiene una curva de aprendizaje muy empinada, y la documentación no siempre es útil. Sin embargo, puede encontrar ayuda en línea sobre muchos temas (por ejemplo, en Stack Overflow ).

Dolor con puntero nulo . Cuando Java le da un mensaje de error y muestra un seguimiento de la pila, no siempre es fácil entender cuál es el problema, y ​​a veces esta información es inútil. IntelliJ ayuda donde puede, pero los mensajes de error incomprensibles pueden convertir la depuración en un completo malestar.

Limitado a la automatización de prueba. Nunca usará Java en otras áreas de prueba. No en CI, pruebas de rendimiento, seguridad, disponibilidad ni en ningún otro lugar. Simplemente te quedas atascado en la automatización de probar la interfaz gráfica de tu aplicación y eso es todo.

Eso es todo. Esperamos que ahora sea un poco más fácil para usted decidir qué curso elegir, pero para consolidar su elección, lo invitamos a lecciones gratuitas en los cursos:

Python QA Engineer
Java QA Engineer

All Articles