JavaRush /Blog Java /Random-FR /Comment démarrer avec les tests automatisés, partie 1

Comment démarrer avec les tests automatisés, partie 1

Publié dans le groupe Random-FR
Nous vous invitons à lire l'adaptation russe d'un article de Tim Ebie, fondateur de https://testdemy.teachable.com/ , une plateforme d'assurance qualité pour les tests de logiciels en ligne, créée pour aider ceux qui se lancent dans les tests automatisés.
Comment démarrer avec les tests automatisés, parties 1 - 1
Nous constatons un regain d’intérêt et une croissance du nombre d’applications Web sur le marché. Avec eux viennent de plus en plus d’emplois qui nécessitent de la programmation, des compétences techniques et diverses compétences en automatisation. En conséquence, les testeurs manuels, afin de rester en demande, voient la nécessité de passer des tests manuels purs à l'assurance qualité (AQ) et envisagent des tests automatisés. Passer des tests manuels aux tests automatisés est un choix judicieux, car de nombreux postes d'assurance qualité nécessitent un éventail de compétences techniques liées à l'écriture de code. Pour ceux qui n’aiment pas le changement, ce changement peut être inconfortable. D’autres développeurs, en revanche, voient cette « période de changement » comme une opportunité de faire passer leur carrière et leurs compétences au niveau supérieur et d’accroître leur pertinence. Chaque fois que les exigences augmentent, les possibilités s’élargissent. Les développeurs possédant les compétences appropriées peuvent monter dans le train et avoir des carrières intéressantes et bien rémunérées. Si vous envisagez de passer des tests manuels à l'automatisation, ou même si vous envisagez de quitter un autre domaine de développement logiciel, il est logique de prendre quelques mesures pour vous aider à réussir.

Étape 1 : Évaluation du marché

« L'habitude numéro deux » du livre du Dr Stephen A. Covey « 7 habitudes des personnes hautement efficaces » dit : « Commencez avec la fin en tête. » . Je pense que ce principe est vrai lorsqu'il s'agit de débuter dans les tests automatisés. Commencez par une évaluation du marché des besoins de ceux qui embauchent des ingénieurs en automatisation. Une fois que vous aurez compris les besoins techniques des employeurs, vous pourrez acquérir les compétences appropriées. Un bon point de départ est de consulter les descriptions de poste sur n'importe quel site (par exemple Indeed.com , Dice , Monster , LinkedIn , etc.).
Comment démarrer avec les tests automatisés, parties 1 à 2
Voici des exemples de mots de recherche qui peuvent être utilisés pour générer une valorisation boursière :
  • Ingénieur en automatisation des tests ;
  • Développeur d'automatisation ;
  • tests/testeurs automatisés (tests automatisés) (Tests d'automatisation/Testeur d'automatisation);
  • Ingénieur en automatisation AQ ;
  • Ingénieur Développement Logiciel en Test (SDET).
Pour comprendre comment les employeurs pensent et ce qu'ils attendent réellement des candidats, gardez les questions suivantes à l'esprit lors de votre recherche :
  • Quelles compétences et technologies spécifiques mentionnent-ils ?
  • Voyez-vous un ensemble distinct ou un « bloc » de compétences ou de technologies pour ces compétences ?
  • Combien d'années d'expérience sont requises, le cas échéant ?
  • Existe-t-il certains secteurs qui ont tendance à embaucher plus d’ingénieurs en automatisation que d’autres ?
  • A quel salaire peut-on s'attendre ?
  • Les outils ou technologies qui nous intéressent sont-ils principalement des produits en libre accès ou commerciaux ?
Examinons maintenant de plus près quelques descriptions de poste pour avoir une idée de ce que recherche le marché. N’oubliez pas que les emplois en question sont situés aux États-Unis. Si vous ne vivez pas aux États-Unis, veuillez consulter les outils de recherche d'emploi de votre pays. Développeur d'automatisation logicielle I :
  • a une compréhension claire des langages de programmation orientés objet ;
  • familier avec Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime ;
  • Travailler en étroite collaboration avec les développeurs, les analystes commerciaux et autres testeurs pour identifier les composants d'automatisation des tests qui seront utilisés pour vérifier les exigences du logiciel développé.
Comment démarrer avec les tests automatisés, parties 1 à 3
Testeur QA (tests automatisés) :
  • enregistre les tests automatisés dans les systèmes de contrôle de version appropriés - TFS, GitHub , etc. ;
  • suit les normes d'automatisation prédéfinies et les normes DevOps pour l'automatisation, ainsi que les processus d'intégration et de déploiement continus ;
  • Expérience avec les outils ALM (TFS, Jira, HP QC) et les outils d'automatisation des tests (de préférence Selenium WebDriver) .
Ingénieur en automatisation assurance qualité - QA ( Ingénieur en automatisation assurance qualité ) :
  • Expérience avec Selenium WebDriver ;
  • compétences en programmation en Python, Java ou langages similaires ;
  • expérience de test mobile / Appium .
Développeur de logiciels de tests :
  • mettre à jour et étendre l'environnement de test et les outils de test en C#, TypeScript, JavaScript ... ;
  • Solides compétences en programmation en C# ou Java et/ou JavaScript ainsi qu'une compréhension claire des concepts de programmation orientée objet ;
  • Expérience avec Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Comment démarrer avec les tests automatisés, parties 1 à 4
Voici quelques points clés à retenir de ces descriptions de poste. Rôles hybrides/mixtes : portez une attention particulière aux titres de poste et à la façon dont ces entreprises perçoivent les tests logiciels automatisés. Cela peut être vu par les noms des rôles qu'ils répertorient (développeur d'automatisation de logiciels, développeur de logiciels en test, etc. Remarquez une tendance ? Ces entreprises se réfèrent plus ou moins aux ingénieurs d'assurance qualité en tant que développeurs de logiciels : pour les testeurs manuels, cela signifie qu'il est temps de Apprenez à écrire du code pour transformer les cas de test manuels en scripts de test automatisés. Pour les développeurs souhaitant passer aux tests automatisés, cela signifie que vous devez en savoir plus sur les méthodologies de test de logiciels, le cycle de vie des tests et les logiciels, et apprendre à créer des cas de test automatisés pour prendre en charge. ces cycles de vie.Ne manquez pas ce changement critique ou vous prendrez du retard.Avec l'essor des méthodologies Agile et des projets basés sur Agile, de plus en plus d'organisations mélangent l'assurance qualité et les développeurs en un seul. Il est donc temps pour vous de préparer votre de nouvelles responsabilités.Les personnes qui ont une formation de base dans le monde des tests de logiciels et qui ont en même temps une bonne compréhension des compétences d'un développeur de logiciels valent leur pesant d'or. Technologies Open Source/Langages de programmation : Veuillez noter les technologies et langages de programmation mis en évidence en gras dans les descriptions . Ces technologies et langages sont ciblés, il faut les apprendre pour être demandé sur le marché. Choisissez une technologie très demandée et commencez à développer vos compétences en les mettant en pratique et en participant à des applications et des projets pratiques du monde réel. Cela accélérera votre apprentissage. Si vous ne savez pas par quel langage de programmation commencer , réduisons un peu le champ.

Étape 2 : Maîtriser un langage de programmation orienté objet (POO)

Soyons réalistes : la plupart des testeurs manuels ont peur de la programmation. L’idée même de se mettre sous le capot et de voir comment fonctionnent réellement les systèmes et les applications effraie de nombreux testeurs manuels. Cette peur est principalement la raison pour laquelle ils sont devenus des testeurs manuels.
Comment démarrer avec les tests automatisés, parties 1 à 5
La programmation est la base des tests automatisés. Si vous souhaitez vous lancer dans les tests d'automatisation, vous devez être capable de coder, et plus vous maîtrisez la programmation, plus vous réussirez dans les tests d'automatisation ou le développement d'automatisation. Par conséquent, si vous souhaitez rester compétitif dans ce monde de développement et de technologie en constante évolution, vous devez résoudre cette peur et devenir un développeur de tests automatisés très demandé. La bonne nouvelle est qu'avec un minimum de conseils d'un collègue plus expérimenté, en faisant preuve de persévérance et de persévérance, en pratiquant constamment (comme nous le faisons chez JavaRush), vous pouvez certainement améliorer vos compétences en programmation. La prochaine question logique est : quel langage de programmation dois-je apprendre ? Sur la base de notre évaluation du marché, nous savons que les employeurs souhaitent embaucher des personnes « possédant une solide compréhension des langages de programmation orientés objet ». Et d'après notre analyse, nous pouvons voir plusieurs langages de programmation orientés objet auxquels ils font référence. Par exemple, Java, C#, JavaScript et Python. Vous pouvez commencer par n’importe lequel d’entre eux. Si vous commencez à apprendre un langage POO, voici quelques concepts à maîtriser pour mieux maîtriser les tests automatisés :
  • programmation orientée objet (classes, objets, instances, héritage, attribut, etc.) ;
  • Modules, bibliothèques standards (dans la langue de votre choix) ;
  • structures de données (dictionnaires, listes, tuples, etc.) ;
  • types de données (chaînes, caractères, entiers, virgule flottante, types logiques ou booléens, NoneType, etc.) ;
  • variables ;
  • gestion des erreurs/exceptions ;
  • opérateurs arithmétiques/ordre de priorité ;
  • comparaison, opérateurs booléens logiques ;
  • procédures/fonctions/méthodes ;
  • flux de contrôle : instructions If, boucles for, boucles while, etc.
  • lire/écrire dans des fichiers ;
La programmation est la base des tests automatisés. Apprenez à programmer et vous apprendrez à automatiser.

Étape 3 : Maîtriser les outils d'automatisation

Je n’arrête pas de dire ceci : mieux vous savez programmer, mieux vous pouvez automatiser. Une fois que vous avez commencé à apprendre un langage de programmation, l'étape suivante consiste à apprendre à utiliser les outils d'automatisation. Parce que la plupart des entreprises se tournent vers les outils d'automatisation open source (ou logiciels gratuits) plutôt que vers les produits sous licence commerciale pour des raisons de coût.
Comment démarrer avec les tests automatisés, parties 1 à 6
Un excellent outil disponible dans le domaine public est Selenium WebDriver. Selenium a plusieurs liaisons de langage (Python, Java, C#, Ruby, PHP, JavaScript, etc.), donc l'apprentissage de l'un de ces langages de programmation constituera une excellente base pour bâtir une solide carrière dans l'automatisation. Quelques concepts clés que vous devez maîtriser pour créer des cas de tests automatisés fiables, fonctionnels et efficaces :
  • modèles de conception : modèle d'objet de page ;
  • rechercher des éléments de page Web à l'aide de différents localisateurs (Sélecteur CSS, XPATH, ID, Nom, etc.) ;
  • basculer Windows/iFrames ;
  • refactorisation ;
  • tests unitaires ;
  • tests cloud/tests parallèles ;
  • vérification des données ;
  • tests sur différents navigateurs web (Firefox, Internet Explorer, Chrome, Safari, Opera, etc.) ;
  • attentes implicites et explicites ;
  • chaînes d'actions
Si vous avez choisi un langage de programmation orienté objet et que vous vous êtes appuyé sur des outils d'automatisation pour évaluer le marché, la prochaine étape logique est... Qu'en pensez-vous ?...

Étape 4 : Pratiquez, pratiquez, pratiquez

Quoi que vous fassiez, n’abandonnez jamais. Apprendre quelque chose de nouveau est toujours un défi. Mais chaque défi peut être surmonté avec suffisamment de pratique et de dévouement. Le temps qu'il faudra pour acquérir de nouvelles compétences et technologies dépend entièrement de vous et de la quantité de pratique et de dévouement que vous consacrez à la maîtrise de ces compétences.
Comment démarrer avec les tests automatisés, parties 1 à 7
Tout athlète professionnel dira qu’il a atteint le sommet de son parcours grâce au travail et aux efforts de son entraînement. On dit que Michael Jordan a joué dur, mais s'est entraîné encore plus dur. Cette approche devrait être adoptée par toute personne cherchant à automatiser - pratiquez, pratiquez, mettez en pratique vos nouvelles compétences jusqu'à ce qu'elles deviennent une seconde nature. C'est le seul moyen d'améliorer vos compétences et d'être recherché en tant que testeur. L’un des bons moyens de se former est d’apprendre activement en même temps un langage de programmation et des outils d’automatisation, en « jouant » avec eux. En d’autres termes, écrivez de petits programmes ou des scripts de tests automatisés, cassez-les, modifiez-les et voyez comment cela fonctionne maintenant. Apprenez de ce que vous avez fait et réessayez. Entraînez-vous en jouant, en faisant et en apprenant. Faites cela et votre courbe d’apprentissage augmentera.

Il est temps de commencer

La chose la plus importante dans une nouvelle entreprise est de démarrer. Toutes les fois où nous tergiversons ou ne parvenons pas à démarrer, c'est parce que nous n'avons pas de feuille de route ou de plan d'action pour nous aider à tracer notre voie.
Comment démarrer avec les tests automatisés, parties 1 à 8
Même si tenter de changer radicalement l’orientation de votre carrière peut sembler intimidant, il est essentiel d’être valorisé et commercialisable. Vous devez développer de nouvelles compétences pour rester à la pointe du monde en constante évolution du développement de logiciels et être ce que recherchent réellement les employeurs. Commencez petit : évaluez les exigences du marché, apprenez les outils de programmation et d'automatisation orientés objet et entraînez-vous constamment. Et vous serez préparé à de nouvelles opportunités d'emploi avant même de vous en rendre compte. Source : https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION