A-t-on encore besoin d'ingénieurs en assurance qualité ?

There’s no denying that the world is in constant flux. Thanks to the web, automation, and the data processing abilities of modern computers, the border between humans and machines has become fuzzy. How does it affect IT and QA testing in particular? And finally, which QA skills make great QA testers well, great?
L'ensemble idéal de compétences en matière d'AQ
Comme nous devenons plus dépendants de l'IA et de l'automatisation, le rôle des testeurs d'AQ a également changé. Existe-t-il même un testeur d'assurance qualité idéal ? Probablement pas. Cependant, voici les compétences en matière d'assurance qualité que partagent généralement les grands testeurs :
- Database skills – the ability to check or extract data from databases without anyone’s help
- Compétences en matière de codage - comprendre le code source et rechercher plus efficacement les cas marginaux
- The ability to write automation tests using Geb or RestAssured which allow the tester to assess the user interface as well as the API
- La possibilité de consulter les journaux, ou même d'utiliser SSH pour se connecter à un serveur, analyser les changements de code et trouver la raison pour laquelle l'erreur se produit. Cela ne veut pas dire que les testeurs doivent pouvoir analyser des problèmes de transaction ou des problèmes de condition de course. Néanmoins, être capable de trouver un point d'exclamation manquant dans l'énoncé if est certainement un avantage
- La capacité de procéder à une analyse commerciale des besoins ou même d'en assumer la responsabilité
Les singes ont-ils des compétences en matière d'assurance qualité ?
J'ai entendu des avis mitigés sur le rôle des testeurs manuels. Certaines personnes pensent que ce rôle pourrait facilement être rempli par des singes entraînés. D'autres pensent que le poste exige un ensemble de compétences spécifiques.
Où se trouve la vérité ?
Comme d'habitude, comme pour toutes les choses liées aux technologies de l'information, au milieu.
Certaines personnes pensent que les tests peuvent être effectués par les utilisateurs moyens de l'application. Ils pensent qu'engager 20 testeurs juniors est aussi bon que d'utiliser Amazon Mechanical Turk. La question est de savoir si le fait de cliquer "au hasard" dans une application pour trouver des problèmes peut être efficace. J'en doute vraiment. Bien qu'il puisse couvrir des chemins positifs (puisque c'est ainsi que la plupart des gens utilisent les applications), certaines erreurs graves resteront probablement non détectées. On pourrait très bien demander à nos enfants de le faire, non ?
Les compétences en matière d'AQ en action
Un bon testeur d'assurance qualité possède de grandes compétences analytiques très spécifiques. Les bons testeurs sont curieux et recherchent les problèmes, ou pinaillent, si vous voulez.
Actuellement, les analystes ne s'impliquent généralement pas dans les projets informatiques. C'est pourquoi certaines de leurs responsabilités ont été reprises par des testeurs. En effet, les compétences en matière d'assurance qualité impliquent d'être curieux des exigences et de les remettre en question en permanence.
Let me explain this using a hypothetical conversation between a QA tester, a customer, and a software developer. When looking at a simple requirement, say “free delivery when ordering 5 books,” the software developer sees a simple “if” statement. If the number of books equals 5 or more, set delivery cost to 0. End of story.
Un bon testeur est susceptible de le dire : "C'est une exigence très courte. Elle ne couvre même pas la plupart des scénarios". Et ils commencent alors à poser des questions gênantes.
TESTER : "Que faire si seulement 2 des livres commandés sont actuellement en stock ? Et que les trois autres seront envoyés dans un deuxième colis ? Les deux colis peuvent-ils être livrés gratuitement ?
CLIENT : "Euh, non. Un total de cinq livres doit être livré dans un seul colis".
DÉVELOPPEUR DE LOGICIELS : "C'est un autre "si" juste là."
TESTER : "Et si je commande un lave-vaisselle et cinq livres ? Ma commande peut-elle être livrée gratuitement ?
CLIENT : "Non, bien sûr que non. L'offre n'est valable que si vous commandez des livres".
DÉVELOPPEUR DE LOGICIELS : "Excusez-moi, c'est un autre "si"".
TESTER : "Et si je reçois 4 ebooks et un livre ?
CLIENT : "L'offre n'est valable que pour les livres imprimés".
DÉVELOPPEUR DE LOGICIELS : "Je pense que nous pourrions avoir besoin de refaire les estimations".
Comme vous le voyez, les testeurs de l'AQ et les développeurs de logiciels ont des mentalités et des compétences différentes. C'est pourquoi il est impossible pour les développeurs de prendre en charge l'AQ dans son intégralité.
Les ordinateurs prendront-ils le relais des tests d'assurance qualité ?
Il ne faut pratiquement plus de temps pour passer de la construction d'un paquet à sa production, soit 15 à 60 minutes seulement. Cela exclut pratiquement une évaluation manuelle de la qualité. Dans le passé, les tests de grands projets prenaient des semaines. Il est impossible de réduire ce délai à quelques heures, à moins d'automatiser les tests.
Comment les ordinateurs peuvent-ils aider à effectuer des tests ? Eh bien, tous les tests de régression sont répétitifs et lorsqu'il s'agit de tâches répétitives, les ordinateurs ont leurs propres avantages. Ils sont rapides, fiables et cohérents. Ils ne font pas d'erreurs. Après tout, l'erreur est humaine, n'est-ce pas ?
Les machines n'ont pas de mauvais jours. Et elles n'ont jamais la gueule de bois. Il est également plus facile d'estimer le temps qu'il leur faudra pour accomplir une tâche.
Qui devrait construire des tests automatisés ?
Automating testing really is the way forward. Therefore, the right question to ask at this point is who should build automated tests? I believe they should be built by testers who have both QA skills and at least basic coding skills, with an emphasis on the former.
En fait, cet ensemble de compétences souhaitables suit généralement un parcours professionnel commun :
Testeur manuel -> Testeur d'automatismes -> Développeur de logiciels
L'évolution vers le développement de logiciels est souvent due à l'épuisement professionnel ou à l'insatisfaction salariale (qui devient peu à peu un problème car les employeurs commencent à valoriser les bons ingénieurs d'essai). Cela dit, je pense que la première transition du test manuel au test automatisé est obligatoire.
Many testers are able to write queries for relational and non-relational databases. The next step is to learn basic coding skills. There are a number of resources which allow people to learn Python, Java or Groovy. There are free and paid courses, tutorials, conference presentations, books, ebooks… You name it.
Créer un cadre de test d'acceptation confortable pour un projet nécessite beaucoup plus de compétences et d'expérience que pour écrire des scénarios avec ce cadre. Les grands testeurs apprennent sans cesse à élargir leur perspective et sont naturellement curieux. Cela fait d'eux les meilleurs pour construire les cadres. C'est cette combinaison unique de compétences et de qualités qui les rend si précieux.
Il ne fait aucun doute que l'automatisation prendra en charge une partie du travail des testeurs de l'AQ. Mais l'important, c'est qu'elle complétera l'homme et ne se substituera pas à lui. En fait, elle libérera les testeurs afin qu'ils puissent se concentrer sur la partie humaine (créative) du travail. Ainsi, ils pourront se concentrer sur la qualité globale du produit plutôt que de "simplement" éliminer les bugs.
Tester les compétences en matière d'assurance qualité
Les tests évaluant les compétences en matière d'AQ reposent sur un principe simple : les candidats obtiennent un système entièrement fonctionnel avec un ensemble d'exigences commerciales. Ils doivent passer des tests pour prouver que le système répond à toutes ces exigences. Nous vérifions ensuite que ces tests sont capables de détecter tous les bogues potentiels introduits dans le système.
Si vous voulez commencer à tester les compétences en matière d'AQ, j'ai une excellente nouvelle pour vous. Nous venons de publier nos tests d'évaluation des compétences en matière d'assurance qualité. Vous pouvez les trouver ci-dessous et dans notre catalogue de tests de codage:
- Des compétences éprouvées
- Durée
- 35 minutes max.
- Évaluation
- Manuel
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des Tests manuels, QA, Test, TestingProcess
Tâche de révision du code - Niveau : Facile
QA | BDD | CurrencyExchange feature file - Faites une revue de code d'un ensemble de tests BDD mal écrits.
- Des compétences éprouvées
- Durée
- 38 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des QA, Test
Tâche de programmation - Niveau : Moyen :
Mocha | TypeScript | Validation du service ATM - Rédigez une série de tests de validation de Mocha pour ATM.
- Des compétences éprouvées
- Durée
- 33 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Lacunes dans les codes
l'évaluation de la connaissance des NUnit, QA
Tâche de programmation - Niveau : Facile
AQ | Sélénium, C# | Récupérer des données à partir d'éléments - Mettre en œuvre les méthodes qui permettent de récupérer du texte à partir d'un élément ou de la valeur d'un attribut.
- Des compétences éprouvées
- Durée
- 49 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des QA, Test à l'unité, Tests manuels, Test
Tâche de programmation - Niveau : Difficile
AQ | Java, Sélénium | Automatisation des tests d'authentification multi-facteurs - Automatiser le mécanisme d'authentification au Sélénium.
- Des compétences éprouvées
- Durée
- 40 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Lacunes dans les codes
l'évaluation de la connaissance des Java, QA, Sélénium
Tâche de programmation - Niveau : Moyen :
AQ | Java, Sélénium | Extraction de texte et de liens - Cette tâche a pour but de tester les capacités du candidat à récupérer du texte dans la page. Les tâches comprennent l'attente d'un élément avec du texte pour qu'il soit visible ainsi que des éléments invisibles.
- Des compétences éprouvées
- Durée
- 35 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Lacunes dans les codes
l'évaluation de la connaissance des Java, QA, Sélénium
Tâche de programmation - Niveau : Facile
Java | Selenium | Dropdowns et collections - Implémentez deux méthodes dans la classe SeleniumExecutor, qui doit utiliser le pilote Web Selenium pour effectuer les tâches ci-dessous sur la page à partir de la page src/test/resources/__files/index.html.
- Des compétences éprouvées
- Durée
- 43 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Lacunes dans les codes
l'évaluation de la connaissance des Java, Sélénium
Tâche de programmation - Niveau : Facile
Java | Sélénium | Authentification dans le service web - Implémentation de quatre méthodes dans la classe LoginPage marquée par l'implémentation //TODO. Toutes doivent utiliser le pilote Web Selenium pour interagir avec la page.
- Des compétences éprouvées
- Durée
- 24 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des JUnit, QA, Test à l'unité, Spock
Tâche de programmation - Niveau : Facile
JUnit | ATM Service | ATM Service Validation - Rédiger des tests de validation JUnit pour ATM.
- Des compétences éprouvées
- Durée
- 55 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des QA, Spock, Test à l'unité, JUnit
Tâche de programmation - Niveau : Facile
Concombre | Service ATM | Validation du service ATM - Rédigez des tests de validation de concombre pour ATM.
- Des compétences éprouvées
- Durée
- 35 minutes max.
- Évaluation
- Automatique
- Aperçu des tests
-
Questions sur le choix
l'évaluation de la connaissance des QA, Spock, Test à l'unité, JUnit, JavaScript
Tâche de programmation - Niveau : Facile
Mocha | Service ATM | Validation du service ATM - Rédigez une série de tests de validation du moka pour l'ATM.
Lorsque vous réduisez le nombre de candidats que vous avez, vous pouvez approfondir leurs compétences dans un entretien d'évaluation des compétences.
TLDR
Les testeurs d'assurance qualité vont-ils disparaître ? Absolument pas.
Ont-ils besoin de changer pour survivre ? Certainement.
Le développeur de logiciels moyen peut-il se substituer à un testeur d'assurance qualité ? J'en doute vraiment.
Qu'en pensez-vous ?
Partager le poste