Les Bonnes PRATIQUES DU TEST LOGICIEL



Documents pareils
Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Agilitéet qualité logicielle: une mutation enmarche

Développement guidé par les tests d acceptation (ATDD/BDD) au Ministère de la défense nationale

Gé nié Logiciél Livré Blanc

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

Alors avec des centaines de fournisseurs de services «CRM» rivalisant pour attirer votre attention, pourquoi choisir OSF Global Services?

Les méthodes itératives. Hugues MEUNIER

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Gestion Projet. Cours 3. Le cycle de vie

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Développement itératif, évolutif et agile

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Méthodes Agiles et gestion de projets

Introduction. Les articles de la presse spécialisée tendent à nous laisser penser que c est en effet le cas :

AGILE IPHONE DEVELOPMENT

Circuit du médicament informatisé

Retour d expérience implémentation Scrum / XP

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Systèmes et réseaux d information et de communication

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

L'AGILITÉ AVEC VISUAL STUDIO

Qualité du logiciel: Méthodes de test

Vérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Agile 360 Product Owner Scrum Master

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

GESTION DE PROJET. - Tél : N enregistrement formation :

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

LES TESTS CHEZ AXA FRANCE QUALIFICATION DES SOLUTIONS INFORMATIQUES (QSI) JFTL 14 avril 2015

L Intégration Continue & Agilité

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Maîtrise d ouvrage agile

Comment optimiser les tests avec une démarche d automatisation simplifiée

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Bonjour. Et merci pour l intéret que vous portez à OSF Global Services.

25/12/2012

LIVRE BLANC DECIDEUR. Newtest : contribution à ITIL. Newtest et ITIL...3. Gestion des niveaux de service - Service Level Management...

Stage Ingénieur en développement logiciel/modélisation 3D

UML est-il soluble dans les méthodes agiles?

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Cette solution s adresse aussi bien aux PME/PMI qu aux grands groupes, qu ils disposent ou non d une structure de veille dédiée.

EUDONET EN 2014 QUI SOMMES NOUS? 800 RÉFÉRENCES CLIENTS ÉDITEUR ET INTÉGRATEUR DE EUDONET + 14 ANS D EXPÉRIENCE

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Approche Méthodologique de la Gestion des vulnérabilités. Jean-Paul JOANANY - RSSI

Livre blanc Xebia. Evitez le surendettement : Maîtrisez votre dette technique

Data Tier Application avec SQL Server 2008 R2

Vérifier la qualité de vos applications logicielle de manière continue

Méthodes Agiles : un équilibre contractuel remis en cause? Jonathan Rofé Matinales IPT DLA Piper Paris 24 mars 2011

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Une bonne dose d'agilité au cœur de votre équipe. La rece e Visual Studio 2012 pour des projets maitrisés

Introduc)on à l Agile

Le rôle du coach Agile et son apport pour le projet

Jean-Pierre Vickoff

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Présentation UBO 12/2008 Présentation des méthodes agiles

Bien aborder un projet SharePoint 2013

Testing and Acceptance Management industrialiser

Silk Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications

Cabinet de Conseil Spécialisé dans le Cloud Computing

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Est-il possible de réduire les coûts des logiciels pour mainframe en limitant les risques?

Le Product Owner Clé de voute d un projet agile réussi

<Insert Picture Here> Best Practice : Réduction Coût de migration R12

Processus d Informatisation

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Réussir le choix de son SIRH

Présentation de Financea Un dispositif adapté pour la recherche de la performance opérationnelle

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Quel logiciel DE CRM choisir pour votre force de vente terrain?

LES tests d'acceptation

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Concilier Agilité, Exigences et Continuous Delivery : Retour d expérience PagesJaunes

catégorie - développement rh

Cours Gestion de projet

UM2 - Master 2 Année Sensibilisation aux Tests de Projets Informatique - Managed Testing -

Olivier Deheurles Ingénieur conception et développement.net

ALDEA ET SYSTEMES D INFORMATION

ALDEA ET SYSTEMES D INFORMATION

Séance 1 Méthodologies du génie logiciel

GESTION DE DONNÉES TECHNIQUES

DEMANDE D INFORMATION RFI (Request for information)

QUI SOMMES-NOUS? Cette solution s adresse aussi bien aux PME/PMI qu aux grands groupes, disposant ou non d une structure de veille dédiée.

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

Bertrand Cornanguer Sogeti

Efficience énergétique du SI par l écoconception des logiciels - projet Code Vert

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

W4 - Workflow La base des applications agiles

Solution globale de gestion et reporting projet

Introduction à l extreme Programming et au développement agile

Dossier de Presse SYLOB

Relever le challenge de la transformation numérique dans un contexte international

Transcription:

Les Bonnes PRATIQUES DU TEST LOGICIEL

SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce que la testabilité? Quels sont les scénarios, données, critères d acceptation et pertinence pour chaque type de tests? Comment mettre le test au centre de la problématique projet? En pratique chez SoftFluent Comment faire lorsque l on a un logiciel existant?

-ce que le test logiciel? Le test est une discipline vaste qui permet de s assurer de la qualité des logiciels avant leur mise sur le marché! Toute conception quelle qu elle soit nécessite une phase de test - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : La conception logicielle ne devrait pas déroger à cette règle Pourtant, le test fait souvent l objet d un investissement insuffisant

-ce que le test logiciel? Le test n est pas une solution miracle! C est une recette mais elle n est pas magique Les tests augmentent fortement les chances de réussite d un projet de développement

-ce que le test logiciel? C est une recette mais elle n est pas magique, elle nécessite.

-ce que le test logiciel? C est une recette mais elle n est pas magique, elle nécessite : une équipe,

-ce que le test logiciel? C est une recette mais elle n est pas magique, elle nécessite : une équipe, de la rigueur et

-ce que le test logiciel? Il est important qu il intervienne dans le bon timing! Plus les tests arrivent tard plus ils sont complexes à réaliser Les anomalies sont plus faciles à comprendre et corriger sur un périmètre limité Les tests sont tout aussi importants après la mise en production Les jeux de tests doivent être réalisés tôt dans le cycle pour lever les erreurs de conception et faciliter le travail des équipes de développement

Le test est un vrai métier qui doit faire partie intégrante du projet de développement -ce que le test logiciel? Au moins un tiers de l effort de création logicielle! Quelle que soit la méthode les tests ne doivent - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : pas être sous-estimés Ils demandent de la rigueur, du temps, de la méthodologie

Pourquoi le test est-il un maillon crucial? Les tests sont garants de la qualité logicielle (extérieure, intérieure et future)! Les différents types de tests permettent de garantir la qualité logicielle à condition de : - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Bien dimensionner son équipe : 1 testeur 2 développeurs Automatiser et/ou outiller les tests au maximum Il faut de réels rôles de testeurs distincts des développeurs

COÛT Pourquoi le test est-il un maillon crucial? Le coût d une anomalie est très différent suivant la phase de détection 120 100 Coût de correction d une erreur 100 80 60 40 SI une erreur de conception est détectée lors : De la phase de spécifications alors coût = 1 Des tests de qualification coût = 10 Si le logiciel est déjà déployé coût = 100 20 0 0 Phase de spécifications 10 Tests de qualification TEMPS Logiciel déjà déployé Le test permet la détection précoce des anomalies

Quels sont les différents types de tests? Les tests se font à plusieurs niveaux Les tests unitaires Les tests d intégration Les tests d acceptation et fonctionnels Les tests d interface graphique Ces tests peuvent facilement faire l objet d une automatisation

Quels sont les différents types de tests? Les tests sont différents par leur nature Les tests de sécurité Les tests de compatibilité de plateforme Les tests de robustesse Les tests de performance Les tests de montée en charge Les tests d ergonomie Il faut définir les conditions d exploitation du logiciel et tester les configurations, la montée en charge ou le comportement en cas de coupure du réseau

-ce que la testabilité? Une application doit toujours être conçue de manière à être testable Savoir quoi tester permet de savoir quoi développer Rendre le code lisible et testable unitairement Rendre le logiciel testable et compréhensible également pour structurer l architecture globale de l application Rendre l interface graphique consciente des tests D où l importance d intégrer les tests en amont

Un travail partiel bien ciblé permet de couvrir l essentiel selon la règle 80/20 Quels sont les scénarios? Chaque type de tests nécessite des scénarios spécifiques Les scénarios sont à définir avec les experts métier - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Il est difficile d être exhaustif, il faut savoir cibler Une première approche consiste à définir ce que l on chercher à tester Composant Fonctionnalité Performance Tenue en charge Etc.

Quelles sont les données? Chaque type de test nécessite des jeux de données spécifiques C est une partie souvent négligée mais pourtant indispensable avec : Du volume pour rejouer plusieurs fois les mêmes scénarios ou Des détails pour expliquer une règle de gestion ou la mettre en défaut Comme pour les scénarios, les jeux de données sont à déterminer en commun avec les experts métiers

Quels sont les Environnements? Certains types de tests nécessitent des environnements dédiés Il n est pas toujours simple de pouvoir les mettre en place - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : En plus de l infrastructure accueillant l application il faut: Pouvoir déployer les outils de tests et de mesure Avoir des données représentatives dans les bases Le Cloud peut être une vraie aide dans certains cas

Comment bien interpréter les résultats du test? Comment identifier qu un test a réussi ou échoué? - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Quels indicateurs souhaitons nous surveiller? Pourtant, le test fait souvent l objet d un investissement insuffisant

Quelle est la pertinence du test effectué? Comment mesurer la qualité des tests? Nous les plaçons au cœur du processus, nous devons appréhender leur qualité - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : La couverture de code, une bonne mesure? La tendance du pourcentage de tests verts Les indicateurs de performances pour les tests de charge Pourtant, le test fait souvent l objet d un investissement insuffisant

Les tests font partie intégrante du projet, quelle que soit la méthode, impliquons toute l équipe! Mettre le test au centre de la problématique projet Une évidence, quelle que soit l approche! Dans un cycle en V les tests arrivent à la fin - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Dans une méthode agile ils doivent être présents en permanence dès le début Dans les 2 cas nous pouvons impliquer tous membres du projet dans les tests

La collaboration entre les experts fonctionnels et les développeurs est le secret d un logiciel réussi Mettre le test au centre de la problématique projet Penser aux tests en amont est un facteur clé de réussite! Sensibiliser et organiser l équipe autour des tests avec un rôle bien précis pour chacun des acteurs : - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Les experts métiers Les développeurs Les testeurs

Mettre des exemples dans les spécifications, automatiser des tests, partager le plan de tests Mettre le test au centre de la problématique projet Penser aux tests en amont est un facteur clé de réussite! Les tests comme spécifications : les tests sont un bon moyen de spécifications et un support d échange entre tous les acteurs - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Les tests comme documentation : si les tests sont suffisamment clairs et automatisés, ils peuvent devenir une documentation vivante

Mettre le test au centre de la problématique projet Faire vivre les tests durant le projet! Les tests vivent comme le code source d un logiciel - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Ils doivent être versionnés et historisés Nous pouvons utiliser un «source control», des branches Utilisez un contrôle de code source type TFS

Mettre le test au centre de la problématique projet Intégrer les tests et leur exécution dans le cycle de vie de l application Idéalement avoir un processus d intégration continue qui lance les tests - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Automatiser le plus de tests possibles pour que le fait de les lancer ne «coûte» rien Pouvoir jouer une version des tests correspondant à la bonne version du code Un test consolidé dans un script re-jouable à l infini est un investissement

Les méthodes agiles préconisent une collaboration permanente et des tests en continu Mettre le test au centre de la problématique projet Faciliter l évolution des tests et l implication de tous Impliquer toute l équipe La rédaction des cas de tests doit être itératif Les besoins pouvant évoluer il faut pouvoir changer les tests Faciliter la maintenance des tests et l automatisation

En pratique chez SoftFluent En tant qu éditeur, experts en développement, la pratique du test logiciel est dans nos gènes! Tests Unitaires et Test Driven Development (TDD) Nos développeurs écrivent les tests unitaires - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Nous pratiquons TDD dès qu il a une vraie valeur ajoutée Le refactoring fait alors partie intégrante de notre méthode Le Test Driven Development (TDD est une technique de développement de logiciel qui préconise d'écrire les tests unitaires avant d'écrire le code source d'un logiciel. (Wikipedia) Pourtant, le test fait souvent l objet d un investissement insuffisant

En pratique chez SoftFluent En tant qu éditeur, experts en développement, la pratique du test logiciel est dans nos gènes! Tests d intégration et d acceptation - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Ils nous aident à définir le besoin Ils nous permettent de tester l application globalement, base de données incluse Ils peuvent être écrits par les experts métier, mais nous les accompagnons dans la méthodologie Pourtant, le test fait souvent l objet d un investissement insuffisant

En pratique chez SoftFluent En tant qu éditeur, experts en développement, la pratique du test logiciel est dans nos gènes! Tests d interface graphique - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Nous les réalisons à la fin du cycle de développement Ils nous permettent de détecter les régressions Nous utilisons des composants existants Nous aussi avons créé notre propre outil pour simplifier ce travail : SoftFluent Automation

En pratique chez Softluent En résumé UI Integration Unit

En pratique chez SoftFluent Et ce n est pas fini Il reste les tests de performance qui permettent de garantir une utilisation optimisée de efficace de l application - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Pourtant, le test fait souvent l objet d un investissement insuffisant

C est au cas par cas et essentiellement sur l interface graphique Ne rien tenter avant d avoir écrit des tests sur l existant - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Sur Livre l interface blanc : Ecrire des tests macroscopiques Sur une portion de code Refactorer ou réécrire la partie testée Ne pas surinvestir mais cibler ce que l on veut changer

On fait du test de «couverture» Procéder par étapes atteignables - Interventions sur plus de 600 projets - Sur tout type de métiers - Une Livre blanc : Limiter à une fonctionnalité à la fois Ne pas couper un flux business Intégrer le nouveau code à l existant Avoir un feedback rapide

Les outils Les outils nous aident mais ne font pas tout à notre place Visual Studio et TFS Tests unitaires avec MSTest, Nunit etc. Tests d interface avec Coded UI Test Tests de performance Automatisation

Les outils Les outils nous aident mais ne font pas tout à notre place Tests d intégration / d acceptation SpecFlow FitNesse Cucumber

Les outils Les outils nous aident mais ne font pas tout à notre place Tests d interface Selenium pour le web, SoftFluent Automation

Pour aller plus loin Quelques références sur les tests Specification by Example, Gojko Adzic Test Driven.NET Development with FitNesse, Gojko Adzic Working Effectively with Legacy Code, Michael Feathers Livres et Blogs de Martin Fowler, Robert C. Martin, Kent Beck SoftFluent Automation : http://www.softfluent.com/docs/softfluent/softfluent-automation.pdf?sfvrsn=2

MERCI www.softfluent.fr blogs.softfluent.com info@softfluent.com