Magazine

Qu'ai-je appris sur le test logiciel en tant qu'étudiant ?

Publié le 05 décembre 2009 par Pbernard

Cinq années d'études pour devenir Ingénieur. Comment ont-elles été mises à profit ?

Développement

Passed

Côté développement, aucun doute, le compte y est. Des cours de Pascal, C, C++, Java, mais aussi des cours algorithmique, d'intelligence artificielle, de conception d'interface graphique... Je ne vais pas plonger dans mes archives pour faire le compte, mais il doit bien y avoir quelques centaines d'heures de cours et de TD sur le sujet. A cela s'ajoutent les projets. Sans doute autant de temps passé le soir et les weekend, seul ou en groupe, chez soi ou en "salle Info" à coder et rédiger des rapports. Quant aux projets personnels, eux-aussi contribuent à l'apprentissage. Qu'ils soient réalistes ou utopiques, tout juste entamés ou achevés, ces réalisations apportent beaucoup aux passionnés. Enfin, les stages sont l'occasion de pratiquer la programmation et forgent l'expérience.

De manière générale, les ingénieurs en informatique assidus sont des développeurs tout à fait compétents à la fin de leurs études.

Gestion de projet

Passed

La gestion de projet est un autre sujet important. Notre travail s'inscrit toujours dans le cadre d'un projet, quel que soit sa forme. Il est donc important d'en maitriser les rudiments. De plus, la gestion de projet est l'une des évolutions naturelles de l'ingénieur (l'autre étant l'expertise technique). Nos études devraient logiquement nous y préparer.

J'ai reçu quelques cours de gestion de projet, parfois teintés de Merise. On m'a évidemment présenté le cycle en V, et les méthodes itératives. Quant aux méthodes agiles, elles étaient sans doute un peu trop récentes. Quelques travaux pratiques étaient au programme, avec rédaction de cahier des charges et autres. Tout cela a du représenter une centaine d'heures. Par contre, pas de planification, d'estimation de charge ou de diagramme de Gantt.

Et pour ce qui est des à côtés, le constat est là-aussi bien différent. Si beaucoup d'entre nous ont volontiers appris de nouveaux langages et environnements simplement par passion, moins se sont lancés dans la gestion de projet pure juste par goût.

Faut-il conclure que la gestion de projet ne m'a pas été suffisamment enseignée ? Je ne pense pas. On ne commence jamais sa carrière en tant que chef de projet ou assimilé. Études ou pas, il est nécessaire d'acquérir de l'expérience sur le terrain. Par conséquent, on peut aborder le monde du travail avec une connaissance partielle. Je ne me suis pas retrouvé démuni en commençant à travailler, c'est l'essentiel.

Test

Failed

Cette fois-ci, le constat est très différent. Le test ? Comme il constitue la partie droite du "V", il a bien fallu m'en parler. J'ai aussi suivi un cours sur le sujet, une bonne partie étant consacrée au domaine spécifique de la modélisation. "Plan de test", "test unitaire", "test automatisé", autant de termes dont on ne m'a pas parlé (ou alors pas assez, car je ne m'en souviens pas).

Lors d'un stage, j'avais réalisé un site web qui impliquait des transactions bancaires. C'était un projet compliqué que j'avais accompli sans aide et dont j'étais assez fier. Plus tard, lors d'un entretien pour un autre stage, mon interlocuteur m'a demandé comment ce site avait été testé. J'ai répondu d'un laconique "avec du bon sens", façon d'indiquer que rien n'avait été fait. En cet instant, non seulement je réalisais que mon précédent projet n'avait pas été testé, mais en plus j'ignorais complètement ce qu'il aurait fallu faire pour cela. A Bac+4, je savais déjà programmer mais je n'avais aucune idée de la façon de valider le fruit de mon travail.

Puis j'ai entamé mon stage de dernière année, dont le sujet était... le test. Je ne savais pas en quoi ça consistait. Des personnes autour de moi savaient bien de quoi il s'agissait, mais il n'y avait pas de testeur à part entière dans mon équipe. Il a fallu apprendre.

Qu'en penser ?

Question

Mon cursus n'a rien d'atypique. La plupart de mes confrères ont également suivi des études d'informatique plus ou moins généralistes, et le test n'est qu'une matière secondaire.

De prime abord, on peut évidemment déplorer la place marginale que le test occupe souvent. Même si les entreprises ont avant tout besoin développeurs, elles doivent également valider leurs logiciels. Le professionnalisme est souhaitable dans un domaine comme dans l'autre.

Cependant, je vois un signe positif dans cet apparent délaissement. Selon moi, pour bien tester, il faut d'abord savoir programmer. A l'exception des tests métier, tester nécessite une bonne compréhension de l'informatique en général. On pourrait ainsi considérer que les études classiques ne constituent qu'une introduction à la formation de testeur. Certes cette vision idyllique ne saurait conclure valablement le débat, mais pourquoi ne pas finir ce post sur une note positive ?


Retour à La Une de Logo Paperblog

Dossier Paperblog