Test Logiciel et Assurance Qualité

Aller au contenu | Aller au menu | Aller à la recherche

samedi 5 décembre 2009

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

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 ?

dimanche 29 novembre 2009

Comment passer l'examen CFTL/ISTQB niveau Fondation ?

ISTQB Certified TesterLe CFTL permet de passer l'examen pour obtenir la certification ISTQB, niveau Fondation. Cette certification est de plus en plus populaire en France et dans le monde. De quoi s'agit-il et comment s'y prendre ?

L'examen

L'examen porte sur le Foundation Level Syllabus, soit le Syllabus Niveau Fondation, traduit en français par le CFTL (avec une version de retard à ce que je comprends, bien que cela ne fasse pas grande différence). Ce document couvre l'essentiel du test logiciel : intérêt du test, place du test dans le cycle de vie, techniques de test, etc.

L'inscription se fait en ligne sur le site du CFTL.

L'épreuve est un QCM de 40 questions. Chaque question s'accompagne de 4 réponses dont une seule est correcte. Il n'y a pas de pénalité : une mauvaise réponse ne retire pas de point. Pour passer l'examen, il faut au minimum 65% de réponses correctes, soit 26 bonnes réponses.

L'examen dure une heure. C'est une durée tout à fait suffisante. Les questions sont relativement simples : soit on sait, soit on ne sait pas. Quelques difficultés de formulation ou de petits exercices peuvent demander un peu de temps, mais globalement toutes les questions trouveront réponse rapidement. Ainsi on remplit le questionnaire en 45 minutes environ, tandis que les 15 minutes restantes sont bien utiles pour se relire et revenir sur les questions délicates.

Pendant l'épreuve, les documents sont interdits, de même que les brouillons. Si vous devez noter quelque chose, vous pouvez griffonner sur le questionnaire lui-même. Vos commentaires seront de toute façon ignorés, seules les croix comptent.

Les résultats sont communiqués par mail sous une semaine. Par la suite, le candidat reçoit un justificatif par courrier.

Préparer l'examen

Il existe plusieurs options pour se préparer à l'examen. A vous de trouver celle qui vous convient.

Aucune préparation !

Se présenter à l'examen les mains dans les poches, après tout pourquoi pas ? Le niveau Fondation couvre les bases du test logiciel. Lorsqu'on a plusieurs d'années d'expérience, on peut estimer posséder le bagage nécessaire.

Bien que cette approche soit raisonnable, je la déconseille. Même si vous avez la connaissance pour vous lancer, je vous recommande d'éviter deux difficultés :

  • Vocabulaire : Ça n'a l'air de rien, mais il est facile de se laisser surprendre par un point de vocabulaire. L'ISTQB définit un glossaire dont on retrouve les termes dans le questionnaire. Il est donc utile de consulter le glossaire français afin d'éviter les surprises.
  • Questionnaire : La forme d'un QCM peut laisser penser que l'examen est plus facile que si les réponses avaient été libres. C'est en partie vrai, et cependant les différents choix peuvent laisser perplexes. On a parfois l'impression que toutes les réponses sont bonnes, alors qu'une seule est correcte. En réalité la formulation de la question permet toujours d'isoler la bonne réponse, encore faut-il acquérir certains réflexes. Le plus simple est de se familiariser en effectuant un examen blanc. Knowledge Department en propose un d'une vingtaine de questions. On trouve aussi des examens en anglais.

Au delà de la préparation, l'examen blanc vous permettra de déterminer si vous pouvez vraiment vous présenter à l'examen sans apprentissage ou si quelques révisions s'imposent.

Coût de cette approche : 250€, soit le prix de l'examen.

Effectuer une formation puis passer l'examen

Des sociétés accréditées proposent des formations de 3 jours. Ces formations se focalisent sur le syllabus du CFTL, de sorte qu'elles préparent véritablement au passage de l'examen. C'est en fait le package "formation + examen" qui est proposé : les auditeurs passent l'examen aussitôt la formation terminée. Tant mieux, autant battre le fer tant qu'il est chaud. Par contre, j'ignore si c'est systématiquement ainsi que cela se passe. Vous devriez donc vous renseigner.

Le site du CFTL recense les sociétés qui dispensent ces formations.

N'ayant pas assisté à une telle formation, je ne peux pas les commenter d'avantage. Si vous-même vous avez cette expérience, je vous invite à laisser un commentaire pour donner vos impressions.

Coût de cette approche : environ 1500€, selon la formation.

Auto-formation

Moins cher qu'une formation et plus prudent que la simple confiance en soi, il est possible de se préparer soi-même à l'examen.

On peut opter pour le syllabus publié par le CFTL. Après tout c'est sur ce document que porte l'examen, impossible de se tromper. Malheureusement ce document est un peu austère. Le professionnel pressé saura y trouver les informations dont il a besoin pour se présenter à l'examen en toute quiétude. Le débutant risque en revanche d'avoir plus de mal à aborder ce document. Jetez-y un coup d'œil et voyez si c'est la formule qui vous convient ou pas.

Autre possibilité, il existe plusieurs ouvrages en anglais qui traitent du syllabus ISTQB niveau Fondation. J'ai opté pour Foundations of Software Testing: ISTQB Certification (vous trouverez sur Amazon.com commentaires et critiques des lecteurs, mais pour commander passez par Amazon.fr... ou par un autre site). Ce livre est très bien :

  • Véritable préparation à l'examen : Comme promis sur la couverture, le livre suit le syllabus afin que le lecteur se familiarise avec ce qu'il va rencontrer lors de l'examen. Chaque chapitre s'achève par un QCM de quelques questions, et le dernier chapitre, qui traite de l'examen lui-même, comporte un QCM complet de 40 questions. Ainsi, en répondant à toutes les questions, on effectue l'équivalent de deux examens blancs.
  • Pas trop de blabla : C'est toujours un plaisir de lire, mais autant aller à l'essentiel. Le livre compte 200 pages de contenu, auxquelles s'ajoutent le glossaire, les réponses aux QCM, etc. C'est le bon volume.
  • Agréable à lire : Cet ouvrage se veut comme un livre à lire, et non une énumération rébarbative. En fait, il constitue une bonne introduction au test logiciel, ISTQB ou pas. On pourra donc s'y plonger sans que ça soit une corvée.

Il y a évidemment un risque à se former en anglais tandis que l'examen est en français. Il serait malheureux de se laisser attraper par une traduction improbable. Le glossaire du CFTL est bilingue, ce qui permet de repérer les traductions délicates. A vrai dire, le parcours en diagonale auquel je me suis livré n'a pas révélé de piège : "regression testing" devient bien "test de régression", etc. Pas de piège. Cela s'est vérifié lors de l'examen.

Quid d'un ouvrage français pour se préparer ? Il existe bien un livre prometteur, Pratique des tests logiciels : Concevoir et mettre en oeuvre une stratégie de tests - Préparation à la certification ISTQB. Malheureusement, il est difficile de déterminer ce qu'il apporte vraiment par rapport à la certification ISTQB. On parle simplement de "préparer au passage de la certification ISTQB du métier de testeur". L'ouvrage se focalise-t-il sur cet objectif ? Ou s'agit-il simplement d'une caractéristique dont peut se prévaloir tout texte traitant du test logiciel ? Le niveau visé n'est même pas cité : Fondation ? Avancé ? En l'absence de détails, j'ai préféré m'abstenir. Si vous avez lu ce livre, publiez un commentaire, ici ou ailleurs, afin d'éclairer les lecteurs hésitants !

Coût de cette approche :

  • Un livre : 30€ environ
  • L'examen : 250€

Bonne certification !

Un débutant trouvera avantage à passer l'examen CFTL/ISTQB niveau Fondation. Il couvre l'essentiel du test logiciel. Pour le testeur expérimenté, l'examen correspond plus à une validation d'acquis qu'à un véritable apprentissage. C'est un bon point de départ pour faire reconnaitre son expérience.

Quel que soit votre niveau et la façon dont vous préparerez l'examen, je vous souhaite bonne chance !