Automatisation des tests: Java ou Python?

Bonjour à tous! En mars, OTUS lance deux cours d'automatisation des tests à la fois: «Python QA Engineer» et «Java QA Engineer» . On nous demande souvent lequel de ces cours choisir, nous avons décidé de répondre à cette question en traduisant un article de SafeBear.




L'une des questions les plus fréquentes est:
quel cours dois-je suivre: sur l'automatisation des tests en Python ou l'automatisation des tests en Java? Et pourquoi avons-nous des cours dans les deux langues?

La première et la plus importante chose à dire: peu importe la langue que vous automatisez.

L'application que vous souhaitez tester peut être écrite en Java, Python, C #, Assembly, Scala ou tout autre langage de programmation disponible. Les frameworks de test automatisé Python automatiseront les tests manuels pas pire que les frameworks Java. En ce qui concerne l'automatisation GUI, le framework sur lequel vous testez ne fait aucune différence.

Le cours qui vous convient dépend de votre situation. Bien sûr, si vous voulez devenir un expert en automatisation, vous voudrez probablement suivre les deux cours, car les cadres varient toujours considérablement. Chacun d'eux fait face à ses tâches, comme vous le verrez ci-dessous, et parfois, le choix d'un cadre se résume à des préférences personnelles.

J'ai essayé de distinguer les avantages et les inconvénients de ces deux cadres, dans l'espoir que cela facilitera votre processus décisionnel. Si après cela, la décision ne sera rendue que plus difficile, alors pardonnez-moi.

Python est parfait


avantages


Automatise votre monde, pas seulement vos tests. Il est difficile de se lancer sur la voie d'un testeur sans connaître Python. S'il existe un tel langage que vous devez connaître pour pouvoir TOUT automatiser, alors c'est certainement Python. Vous pouvez automatiser le déploiement de l'environnement, l'utiliser pour scanner des ports ou effectuer des tests de sécurité, pour CI c'est indispensable. Python deviendra votre ami, vers qui vous vous tournerez encore et encore pour obtenir de l'aide.

Court et simple . Comparé à la syntaxe Java chargée, il est ridiculement facile à utiliser et à lire. C'est aussi un fait bien connu qu'il y a 10 lignes en Java par ligne en Python.

Car tu as déjà tout fait. Beaucoup d'autres personnes utilisent Python pour la même raison que vous, nous pouvons en conclure que quelqu'un a déjà écrit le code dont vous avez besoin, et vous pouvez simplement l'importer.

Formation et support. Sur Internet, vous pouvez trouver un tas de formations et de matériel utile. En général, les gens sont arrivés à la conclusion que les matériaux Python sont plus compréhensibles que tout autre langage.

Moins


Douleur avec l'IDE . Python Il est si simple et polyvalent que l'EDI ne peut pas comprendre ce que vous faites lorsque vous commencez à créer des objets et à les passer d'une méthode à l'autre. C'est une fonctionnalité désagréable qui peut jouer un rôle si vous voulez vraiment utiliser l'IDE pour créer votre framework.

Support bureautique . Parfois, il vaut mieux avoir un soutien local. Si personne dans votre équipe ne connaît Python, il n'y aura personne pour obtenir une aide urgente pour résoudre les problèmes émergents.

Java est ce dont vous avez besoin!


avantages


Grands IDE . C'est un plaisir d'écrire en Java dans un environnement tel que l' IDEI IntelliJ . L'IDE fait la plupart du travail pour vous, même en prenant la peine d'une syntaxe complexe. Les fonctions de complétion de code feront beaucoup de travail pour vous, jusqu'à ce qu'il vous semble que vous n'ayez tapé que quelques caractères sur le clavier.

PageFactory . PageFactory en Java simplifie le code pour l'automatisation Selenium et vous permet d'écrire des tests faciles à comprendre.

Assistance à domicile. La plupart des testeurs travaillent avec des développeurs Java. Si vous êtes coincé avec quelque chose, après quelques tables, vous serez toujours quelqu'un qui vous donnera un coup de main. Cela aide beaucoup sur la courbe d'apprentissage et vous donne les avantages des connaissances et de l'expérience de vos collègues. N'ayez pas le temps de regarder autour de vous, vous devenez un professionnel.

Moins


Abracadabra . Il n'est pas facile de lire le code Java par rapport au Python anglais ordinaire. Java a également une courbe d'apprentissage très abrupte et la documentation n'est pas toujours utile. Cependant, l'aide sur de nombreux problèmes peut être trouvée en ligne (par exemple, sur Stack Overflow ).

Douleur avec pointeur nul . Lorsque Java vous donne un message d'erreur et affiche une trace de pile, il n'est pas toujours facile de comprendre quel est le problème, et parfois ces informations sont inutiles. IntelliJ aide là où il le peut, mais des messages d'erreur incompréhensibles peuvent transformer le débogage en un bouleversement complet.

Limité à l'automatisation des tests. Vous n'utiliserez jamais Java dans d'autres domaines de test. Pas dans CI, les tests de performances, la sécurité, la disponibilité ou ailleurs. Vous êtes simplement coincé dans l'automatisation du test de l'interface graphique de votre application et c'est tout.

C'est tout. Nous espérons que maintenant il est devenu un peu plus facile pour vous de décider quel cours choisir, mais pour consolider votre choix, nous vous invitons à des leçons gratuites sur les cours:

Python QA Engineer
Java QA Engineer

All Articles