Test et assurance qualité : des métiers à découvrir!

Test et assurance qualité : des métiers à découvrir!
Photo : Monkey Business Images / Shutterstock

Considérée longtemps comme une fonction annexe au développement, l’assurance qualité, communément appelée la QA (Quality Assurance) a aujourd’hui acquis ses lettres de noblesse dans le milieu des technologies de l’information. Elle offre une palette de rôles riches et variés, qui exigent des compétences spécifiques. Plongée dans cet univers méconnu.

Ces dernières années, la complexité grandissante de l’outil informatique et l’exigence toujours plus forte de livrer un produit de qualité rapidement ont entraîné une professionnalisation de la QA.

Loin de se limiter à l’étape traditionnelle qui précède la livraison du produit, la QA intervient maintenant dans toutes les phases d’élaboration d’une solution logicielle.

Les tests fonctionnels

La partie la plus connue de la QA est celle des tests fonctionnels. Il s’agit de vérifier que les fonctionnalités d’une application répondent aux attentes des utilisateurs. Le testeur valide alors l’interface graphique (tests front-end) manuellement ou de manière automatisée. Il peut aussi valider les services Web (tests back-end) par le biais de logiciels.

Les compétences-clés requises pour ce type de poste incluent : une capacité à comprendre et à analyser le produit et les architectures logicielles, des connaissances en Java, HTML5 et Javascript, une excellente communication, le sens de l’analyse (risques et impacts), la capacité de rédiger des scénarios de test, et la résolution de problèmes.

Les tests d’intégration et les tests de robustesse

La généralisation des méthodes agiles dans les équipes de développement nécessite aujourd’hui l’intégration régulière de morceaux de codes développés simultanément par les équipes. On parle d’intégration continue (Continuous integration, ou CI) – et il est important que les équipes QA soutiennent cette approche par des tests réguliers.

La question qui se pose ensuite est de savoir si tous les composants fonctionnent correctement ensemble. Ce sont les tests d’intégration.

Il faut également s’assurer que la solution puisse être déployée dans l’environnement opérationnel du client, que l’infrastructure soit physique ou virtuelle (cloud). Entrent alors en jeu les tests de robustesse, d’élasticité, de sécurité, de mise à jour et de déploiement.

Le profil recherché sera ici davantage celui d’un intégrateur système, avec une expérience en administration système et base de données. On exigera aussi des compétences en cloud/SaaS, une expertise Web et une capacité d’analyse des flux d’information et de l’architecture.

Les tests de performance

Enfin, une fois que l’application fonctionne et qu’elle s’intègre sans heurt dans l’écosystème du client, il faut s’assurer que le produit sera toujours performant si le nombre de clients (la «charge») de cette application — et des services Web qui y sont rattachés — augmente de façon exponentielle. Des expertises en tests de performance et des outils logiciels sont alors indispensables.

Le spécialiste mesurera la charge et les réactions des serveurs (tests de stress), surveillera et mesurera le «trafic», planifiera le nombre de serveurs (scalability) et les capacités du système (capacity planning).

En plus des compétences précédemment décrites, une expertise en modélisation ainsi qu’une excellente capacité de vulgarisation et de synthèse pour pouvoir s’adresser à un public non technique sont nécessaires. Ce sont de vrais experts qui tiennent ces rôles.

Qui a dit que le test était ennuyant?

Cécile Davan

Cécile Davan compte près de 15 ans d’expérience en gestion des ressources humaines et en recrutement, dont quatre spécifiquement dans le domaine des TI, tant au Québec qu’à l’international. Elle se consacre aujourd’hui à son entreprise de rédaction Nom d’une Plume!, qui accompagne notamment les chercheurs d’emploi dans la mise en valeur de leur profil professionnel et la rédaction de leur CV.