Des tests agiles grâce à SET
Transcription
Des tests agiles grâce à SET
Eisbrecher Nr. 50 / juin 2013 | www.bit.admin.ch Des tests agiles grâce à SET Les tests constituent un élément essentiel du développement de solutions. L‘OFIT a élaboré SET, une méthode relative aux tests qui répond aux exigences tant des procédés agiles que de HERMES. SET est même indiqué aux utilisateurs de HERMES comme outil d‘aide. Contact à l‘OFIT: Michael Steger Responsable du domaine Tests d‘intégration 031 322 87 55 Texte: Leo Hauser Avant qu‘une voiture n‘arrive sur le marché, le fabricant doit lui avoir fait subir de nombreuses courses d‘essai pour s‘assurer qu‘elle est prête à être commercialisée. Il en va de même en matiè re de développement de logiciels et de systèmes. Aucune application ne devrait être ex ploitée sans avoir passé par une batterie de tests portant sur la convivialité, le fonctionnement, la performance et la charge. Une équipe de l‘OFIT composée de spécialistes certifiés est entière ment dédiée à cette tâche (cf. «Eisbrecher», n° 45). Au cours des années, elle a développé une méthode de travail qu‘elle a adaptée aux parti cularités de l‘administration fédérale. Aujourd‘hui, elle applique cette méthode, appe lée SET (Strukturiert exploratives Testen, ou tests exploratoires structurés), aux projets menés de manière agile. Dynamisme et créativité Dans les méthodes de test classiques, les te steurs entrent souvent en scène lorsque le déve loppement touche à sa fin. Pour ces projets, le développement est un processus linéaire organi sé en phases dont le début et la fin sont définis. Les testeurs vérifient les spécifications et prépa rent des cas de test qui leur permettront par la suite de mettre à l‘épreuve le travail accompli par les développeurs. Les modifications d‘ordre conceptuel pendant la phase de développement sont fréquentes, et les cas de test prévus doivent alors être adaptés en conséquence. «Cette con trainte, jointe au fait que le temps à disposition pour les projets est toujours prévu de manière serrée, place les testeurs dans une position in confortable, nous dit Ada Coendoz-Pont, spéci aliste des tests à l‘OFIT. Il nous reste ensuite trop peu de temps pour effectuer les tests, ce qui a des conséquences sur leur qualité, et donc sur le produit final.» Lorsque les projets informatiques sont soumis à des tests reposant sur des procédures agiles, comme Scrum (voir encadré), il en va autrement. Non seulement le produit est testé constam ment, dès le début et jusqu‘à la réception du produit par le client, mais le déroulement diffère de la méthode classique. En procédant par éta pes courtes et itératives, par exemple sous forme de «sprints» hebdomadaires, Scrum exige des testeurs qu‘ils fassent preuve d‘un dynamis me et d‘une créativité relevant de l‘exploration. Il s‘agit donc d‘une approche plus axée sur la découverte et la recherche. Les tests explora toires donnent certes une plus grande liberté aux testeurs, mais ils les amènent également à porter plus de responsabilités quant au résultat. Le fortuit occupe une plus grande place, rédu isant l‘importance de la documentation de test. Or, en prévoyant des phases de processus claire ment articulées, c‘est justement de la structura tion et de la traçabilité que demande HERMES, la méthode de conduite de projet de la Con fédération. C‘est pour concilier l‘approche ex ploratoire et les exigences en matière de struc ture de HERMES, deux aspects apparemment contradictoires, que l‘OFIT a développé la méthode SET. Cette procédure lui est propre et tient compte des intérêts spécifiques aux projets de l‘administration fédérale. Elle unit ces ap proches opposées dans une seule et même méthode de test. «SET combine deux méthodes. En effet, les tests exploratoires et leur gestion par session (session based test management) peuvent le cas échéant tous deux être complétés par des tests basés sur les spécifications du pro jet», explique Ada Coendoz-Pont. Développement agile de logiciels Dans le cadre du développement agile de lo giciels, la procédure n‘est pas linéaire, mais itérative, c‘est-à-dire cyclique. Parce qu‘elle est agile, donc flexible, elle permet à l‘équipe du projet de réagir rapidement lorsque des exigences sont modifiées pendant le projet. Il est donc essentiel qu‘un processus d‘évaluation ait lieu au sein de l‘équipe de projet. Les méthodes agiles ont pour but de diminuer la part tant des règles que celle des charges administratives et visent à améliorer la souplesse et à réduire la charge liée au pro cessus de développement. Eisbrecher Nr. 50 / juin 2013 | www.bit.admin.ch Dans le cadre de la gestion de test par session, les testeurs travaillent en séances ininterrompu es de, par exemple, 60 minutes. Au moyen des outils de gestion de test, ils élaborent après cha cune de ces séances une documentation garan tissant aussi bien la transparence que la traçabi lité et destinée au développeur. Puis, ils prépa rent la séance suivante. Une fois par semaine, dans le cadre d‘un sprint, les testeurs passent en revue les différentes sessions. La charge liée à la documentation est réduite de moitié par rapport aux méthodes de test classiques. Pour les clients, de la transparence dans les rapports Les expériences faites jusqu‘à présent avec la méthode SET, qui tient compte des directives et des normes de l‘OFIT, sont positives. En effet, bien que le temps nécessaire à la préparation des tests soit court, l‘exécution dynamique et créative de ces tests permet aux testeurs de dé celer jusqu‘à dix fois plus d‘erreurs et écarts que la méthode classique. En outre, les rapports de test actuels assurent la transparence des tests pour les clients. Ils contiennent le mandat et les résultats du test, les écarts, les exigences et une estimation des risques. Les écarts qui n‘ont pas encore été réglés sont intégrés dans la planifica tion du sprint suivant. Naturellement, la métho de SET requiert du dynamisme de la part des cli ents également. En effet, les développeurs et les testeurs doivent pouvoir recevoir rapidement des commentaires concernant les rapports afin de pouvoir maintenir un rythme agile. Dans la méthode classique de développement de logi ciels, les activités de test se déroulent en phases. Ainsi, la préparation des tests se fait pendant la phase de conception, l‘exécution pendant la réalisation et les tests de réceptions ont lieu au moment de l‘intro duction. Dans les projets agiles, les tests sont menés par étapes répétées, de manière progressive et régulière. SET figure désormais dans la liste des outils d‘aide recommandés sur la page Internet de la méthode HERMES, ce qui montre bien à quel point elle répond aux critères de cette dernière. On trouve également sur cette page les modèles correspondants en matière de planification, d‘exécution et de rapports de test. Ces derniers également répondent tant aux exigences de HERMES qu‘à celles de l‘International Software Testing Qualifications Board (ISTQB), l‘organisation qui établit les normes relatives à la formation des testeurs. «Nous sommes heureux que SET soit maintenant disponible pour le grand public et qu‘il puisse être diffusé», affirme Ada Coendoz-Pont. www.isb.admin.ch > Thèmes > Méthodes > HERMES > HERMES 2003/2005 Les tests à l‘OFIT Dans le cadre de la réorganisation de l‘OFIT, les activités de tests ont été intégrées dans le domaine Ingénierie et Transition au début du mois d‘avril 2013. L‘unité dédiée aux tests s‘appelle désormais Tests d‘intégration et ses compétences principales sont la conception et l‘exécution de tests à tous les niveaux (tests de système, tests spécialisés et tests de récep tion) et indépendamment des différentes technologies (.Net, Java, DWH, etc.), l‘établissement de rapports de tests ainsi que l‘élaboration de standards, normes et lignes directrices dans le domaine des tests.