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

Par 21 novembre 2018 #!31ven, 22 Mai 2020 10:42:24 +0200p2431#31ven, 22 Mai 2020 10:42:24 +0200p-10Europe/Warsaw3131Europe/Warsawx31 22 31 -31ven, 22 Mai 2020 10:42:24 +0200p10Europe/Warsaw3131Europe/Warsawx312020ven, 22 Mai 2020 10:42:24 +02004210425 vendredi=254#!31ven, 22 Mai 2020 10:42:24 +0200pEurope/Warsaw5#mai 22nd, 2020#!31ven, 22 Mai 2020 10:42:24 +0200p2431#/31ven, 22 Mai 2020 10:42:24 +0200p-10Europe/Warsaw3131Europe/Warsawx31#!31ven, 22 Mai 2020 10:42:24 +0200pEurope/Warsaw5# Ressources humaines, Recrutement informatique
L'assurance qualité est-elle morte et avez-vous besoin de compétences en la matière ?

There’s no denying that the world is in constant flux. Thanks to the web, automation, and the data traitement 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 compétences font de bons testeurs d'assurance qualité, bien, bien ?

Table des matières

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 :

  • Base de données 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
  • La possibilité d'écrire des tests d'automatisation en utilisant Geb ou RestAssured qui permettent au testeur d'évaluer l'utilisateur interface ainsi que l'API
  • The ability to look through logs, or even use SSH to log in to a serveur, analyze changes in code, and find the reason why the error occurs. That is not to say testers should be able to analyze problems with transactions or race-condition issues. Still, being able to find a missing exclamation mark in the if statement is definitely a benefit
  • 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é ?

As usual, as with all IT-related things, in the milieu.

Some people think that testing can be carried out by your average app users. They believe that hiring 20 junior testers is just as good as using Amazon Mechanical Turk. The question is, can “random” clicking through an app to find problems be effective? I really doubt that. Although it can cover positive paths (as this is how most people use apps), some serious mistakes will likely remain undetected. We could very well ask our kids to do that, right?

les enfants ont-ils des compétences en matière d'assurance qualité

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.

Permettez-moi d'expliquer cela à l'aide d'une conversation hypothétique entre un testeur d'assurance qualité, un client et un développeur de logiciels. Lorsque l'on regarde un simple Si le développeur de logiciels a besoin d'une livraison gratuite pour la commande de cinq livres, il voit une simple déclaration "si". Si le nombre de livres est égal ou supérieur à 5, fixez le coût de la livraison à 0. Fin de l'histoire.

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.

De nombreux testeurs sont en mesure d'écrire des requêtes pour relationnel 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, conférence des présentations, des livres, des ebooks... Tout ce que vous voulez.

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:

Moka
MIDDLE
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.

Sélénium
JUNIOR
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.

QA
SENIOR
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.

Sélénium
MIDDLE
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.

Sélénium
JUNIOR
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.

Sélénium
JUNIOR
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.

MIDDLE
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.

Concombre
MIDDLE
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.

JavaScript
JUNIOR
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.

SENIOR
Des compétences éprouvées
Durée
75 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des QA, Test à l'unité, Performance

Tâche de programmation - Niveau : Difficile

JUnit | Service ATM | Validation du service ATM - Rédigez une série de tests de validation JUnit pour 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 ?