Pour commencer cette série d'articles sur la Quality Assurance dans le jeu video, j'ai décidé d'exposer en premier ce qu'on nomme le "Black-box testing" (ou test de la boite noire en francais, merci Wikipedia). Je présume que beaucoup d'entre vous connaissent les differents process de cycles de developpement, et a quel moment intervient la QA. C'est pourquoi je ne m'attarderai pas sur cet aspect, ou peut-etre y reviendrai-je dans un prochain article (la QA en Waterfall etant differemment impliquee dans le developpement qu'en mode SCRUM). Sachez seulement que le Black-box testing commence aux alentours de la pre-alpha. Ah oui et le disclaimer obligatoire: ce qui suit detaille le Black-box testing en general, mais dans dans l'industrie, chaque QA org. l'adapte selon ses besoins.
Black-box testing for n00bs

Dans le process du Black-box testing, on test une fonctionnalité d'un jeu en particulier, mais on ne teste pas le code lui-meme. Le testeur a le role de l'utilisateur final. Il utilise les memes moyens d'interaction que le joueur normal. Il n'a donc pas la possibilite d'interagir avec le code en temps réel, de faire du code injection par exemple, mais il est capable de jouer au jeu de facon non-linéaire, en god mode si besoin, en ayant acces a tous les niveaux des le départ etc... C'est pour cela qu'on utilise des test kits, qui peuvent produire de l'info "brute" comme les memory dumps. Un exemple: le son provoqué par une rafale d'une mitraillette tirée en exterieur doit etre différent du meme évenement en interieur. Le tester le signale a travers un "bug raised" avec pour destinataire la dev team.
Test Plan/Test-case/Test Script mes amis
Avant qu'un tester ne puisse tester (spoiler alert!), les test cases doivent etre écrits. Au départ, un test plan est drafté par le QA Manager. Ce plan est validé par la Dev team et il integre les test cases . Ce sont les leads qui définissent les test cases de facon detaillée, avec plus ou moins d'interactions avec la dev team. Un test case va se focaliser sur une fonctionnalité en particulier, et peut donc inclure plusieurs test scripts. Ce sont ces scripts qui seront executés par le black-box tester. Exemple: en mode difficile, 2 achievements doivent etre recus par le joueur a la fin du jeu, or 1 seul achievement est recu. Le tester va tester plusieurs facons d'obtenir ces achievements. S'il ne reussit pas a obtenir le 2eme achievement, le tester doit donc a ce moment precis "lever" (raise en anglais) un bug a travers l'utilitaire de tracking (DevTrack, DevTest, perforce ou autres). Le test case doit definir le resultat attendu (expected results) par l'action (finir le jeu induit l'obtention de 2 achievements) des les specs du jeu ecrites.

Regression time !
Un des moments les plus passionants pour un tester est la phase de regression testing (sarcasm inside). Dans un cycle de dev, les builds se suivent (et parfois se ressemblent...) a un rythme effrene. Les nouvelles "versions" du jeu sont soumises a la QA, avec pour objectifs que 1- les bugs trouves avant cette nouvelle build aient été corriges et 2- que de nouveaux bugs n'aient pas été introduits.

Un bug qui avait été auparavant leve par la QA, doit obligatoirement passer par une phase de regression testing. En tous cas pour les bugs signales comme critiques (criticals).
Et chez EA?
EA suit a peu pres cette description. Je pourrai evidemment entrer plus dans les details, mais ce 1er article ferai surement 26 pages de long. Dans tous les cas, chez EA Europe, le Blackbox testing en temps que tel est tres developpe, notamment grace a notre centre de test situe en Roumanie. Les testers roumains sont excellents et sont reconnus parmi nos autres test centers. Au niveau mondial, EA possede un centre en Louisiane, et sous-traite egalement ailleurs.

En ce qui concerne la planification de l'utilisation des ressources (test centre resource planning), ceci depend reellement du Studio. Entre Criterion et DICE, les dev ne sont pas les memes et ont leurs propres habitudes. Criterion va par exemple pousser assez tot le BBT et maximiser les ressources dispos lors de la "peak season" (entre avril et octobre) alors que DICE va utiliser le meme nombre de testers pour une duree plus longue et va pousser a plus tard dans le cycle de dev (entre alpha et beta en general).

Voila pour cette 1ere partie, qui introduit l'aspect general du game testing. Je reviendrai plus tard sur le "white-box testing".
J'attends vos commentaires, ou questions si je peux y repondre !