Quelles compétences en programmation les développeurs de logiciels d’assurance qualité doivent-ils posséder ?


Je suppose que par "développeur de logiciels d'assurance qualité", vous entendez quelqu'un qui est embauché pour développer réellement un logiciel afin d'effectuer des opérations d'assurance qualité sur un produit logiciel et/ou matériel. Si cette hypothèse est correcte, alors un développeur de logiciels d'AQ est en grande partie un développeur de logiciels à part entière, avec des connaissances sur la façon de planifier, de concevoir, de mettre en œuvre, d'automatiser et de gérer les tests.


Les compétences spécifiques en programmation requises dépendent généralement du type de produit testé, de sorte qu'une connaissance bien équilibrée des langages compilés et interprétés est utile. Dans un grand projet sur lequel j'ai travaillé, nous avions une armée de développeurs de logiciels travaillant dans le groupe de test pour développer du code de test en C afin de tester les API fournies par un nouveau produit de système d'exploitation. En raison de la portée du produit testé et du volume considérable de cas de test à exécuter, les développeurs de logiciels du groupe de test devaient concevoir, mettre en œuvre, tester et déboguer leur propre code de test (souvent en utilisant des outils de développement précoces qui étaient eux-mêmes encore en cours de test), déboguer le code du produit cible's, déterminer exactement ce qui ne fonctionnait pas dans le produit cible et fournir un scénario de reproduction complet (y compris le code de test et les instructions étape par étape) lors du dépôt d'un rapport de bogue contre le produit.


L'automatisation d'un grand volume de tests développés nécessite souvent la connaissance d'un ou plusieurs langages de script, la capacité de créer des frontaux basés sur des interfaces graphiques pour faciliter l'exécution des tests par d'autres personnes, et parfois une connaissance du travail avec des bases de données pour enregistrer, résumer et rapporter les résultats des tests. En résumé, un développeur de logiciels qui élabore des tests a besoin de compétences en programmation et en débogage similaires à celles d'un développeur de logiciels qui élabore le produit testé.