Capgemini Institut 0144742410
24 rue du Gouverneur général Eboué 92136 Issy les Moulineaux
Les Techniques et Outils de Test Paris
DURéE
2 jours
DATES
23-24 novembre 2017
LIEU
Paris
PRIX
1 910 € ht (2 292 € ttc)
Sommaire du séminaire
    Séminaires technique Institut Capgemini

    Les Techniques et Outils de Test

    >  Méthodes, outils, démarches pratiques, approches classique et agile




    Avec ce séminaire de deux jours, nous pourrons apprendre et partager :

    • Quel est le juste choix entre qualité d’un système, délai de mise en service et coûts ? Les tests selon les spécificités du contexte : maîtrise d’ouvrage, maîtrise d’œuvre, sous-traitance, TRA, maintenance, rénovation.
    • Savoir tester quelle que soit l’approche de développement, classique ou agile. Tester sur les différents environnements : application Web ou intranet, mainframes, architecture n-tiers, application embarquée ou applications Unix, PC.
    • Définir une automatisation raisonnable et rentable de ses tests. Choisir l’outillage des tests sur un marché foisonnant et au sein d’une offre de plus en plus diversifiée (HP, IBM, Microfocus, Microsoft, etc. et Open source). Où trouver l’information pertinente ? Mettre en place un processus d’automatisation ? Comment prévoir le retour sur investissement (ROI) ?
    • Faire du test, une compétence à part entière : organiser les équipes, professionnaliser les testeurs, l’apport des certifications.
    • Connaître et choisir les techniques adaptées aux différentes étapes de tests : les techniques de tests « boîte noire » (tests fonctionnels), la complémentarité des tests « boîte blanche » (tests structurels), les tests de performance et « d’utilisabilité », les mesures de couvertures de tests.
    • mettre en place un processus systématique de test : graduer son effort de test en fonction des coûts et de la fiabilité visée, répondre aux situations d’urgence, les indicateurs fondamentaux du processus de test.

    Ce séminaire répond aux attentes des testeurs, mais aussi des maîtres d’ouvrage, des maîtres d’œuvre et des responsables qualité et méthodes désireux de réussir les tests de leurs systèmes. Il s’inscrit par ailleurs dans l’approche ISO 29119.



    Tests : les bonnes pratiques


    Tests et qualité des systèmes

    • Les tests peuvent-ils localiser systématiquement les anomalies ; à quel coût et suivant quelles approches ? Le test peut-il prouver conformité, fiabilité et utilisabilité d’un système ?
    • Quelles sont les statistiques de sources des défauts et comment relier défauts et efficacité des techniques de vérification (revue critique…) et de tests ? Analyse thématique.
    • Les difficultés vécues dans les entreprises : place et valeur des tests, vaincre les réticences. Efficacité des organisations en test.
    • Les alternatives aux tests ciblés : démarche formelle, inspections et contrôles, tests aléatoires. Les conditions de leur mise en œuvre. Alternatives ou compléments ?

    Les constats sur l’application des bonnes pratiques

    • Les objectifs Qualité abordables. Niveau de criticité du système et niveau de confiance dans les tests. Les couvertures des tests.
    • Les apports des approches Classique et Agile (Scrum, eXtreme Programming). La vision Test-Driven Development. La place majeure des tests
    • La maturité d’un processus de test : modèles et évaluation. l’approche par Niveau de maturité pour progresser de façon organisée.
    • La professionnalisation du métier de testeur. Les certifications ISTQB, CSTE, CTM, CSTP, TMap, TMMi.
    • Outils et automatisation du test, l’intégration des outils, une réalité à construire.
    • La vision amenée par la norme ISO 29119 : un processus et des activités reconnus et normalisés.

    Le processus de test, une démarche systématique


    Les types de test dans un projet et en maintenance

    • Des niveaux de tests suivant le cycle de vie : cycle en V, approche Agile, développement incrémental.
    • Tests unitaires, tests d’intégration logiciel et intégration système : tests structurels et fonctionnels. Les couvertures mesurables.
    • Tests de validation, recette usine, recette technique et recette fonctionnelle, tests métier : les étapes, les objectifs. Les plans de test.
    • Les tests de maintenance : évolutions et portage.
    • Les tests de non-régression : les niveaux de non-régression. L’analyse d’impact des modifications. Détermination de la stratégie de non-régression.
    • Des contextes spécifiques et les pratiques associées : développement orienté objet, ERP, applications Web ou intranet. La préparation des bases de données pour le test : base de référence ou chargement de tables.

    Démarche de création des jeux d’essai

    • Identification des exigences sur le test et des étapes du test. Définition des objectifs de test.
    • Conception des cas de tests et définition des scénarios. Conception spécifique ou générique ?.
    • Construction des jeux d’essai, préparation du passage des essais.
    • La prévision des résultats attendus. Préparation des oracles de tests.
    • La documentation des tests : les plans types de documents, les normes, choisir le niveau de documentation utile.
    • Savoir structurer l’information et les données de tests, les principes de gestion de configuration. Les outils associés.

    Passage des essais, debug et résultats des tests

    • Une maîtrise possible du debug ? Objectifs et principes de base.
    • Constat et qualification des anomalies : règles, pratiques et outils.
    • Les indicateurs d’avancement et de qualité des tests : mesures et tableaux de bord. Vers une vision du niveau de fiabilité.
    • Savoir arrêter ou poursuivre une séance de test : les critères de fin des tests unitaires, des tests de validation, les critères de recettes d’application. (le protocole de recette, les réserves majeures et mineures et le procés verbal).

    Les testeurs et les équipes de tests

    • Testeurs et développeurs. Séparation systématique ou par niveaux de test ? Savoir gérer les apports entre ces deux rôles.
    • Les organisations possibles par phases de tests, les retours d’expérience. Le Responsable de processus de test, testeurs, automaticiens de test (rôles, background).
    • Organiser et encadrer les tests des utilisateurs.
    • Le métier de testeur, les compétences attendues et l’évolution du métier.

    Outils et automatisation des tests


    Les outils de tests

    • Les outils de tests aujourd’hui : les classes de fonctionnalités, les sources d’information. Les études comparatives existantes, les adresses du Web : les gestionnaires de test, les robots, les analyseurs, les outils transverses : gestionnaire d’exigences, de traçabilité, de données, de configuration, BTS
    • Les principaux éditeurs (HP, IBM, Microsoft, Atlassian, Microfocus , etc.). L’hétérogénéité de l’offre selon les plates-formes.
    • L’offre de l’Open Source, la maturité actuelle d’une alternative incontournable, savoir choisir un logiciel du monde Open Source
    • Un benchmark sur l’emploi des outils.

    Automatisation des tests, des approches diversifiées

    • Les frameworks de tests unitaires (xUnit, mock objects), la base d’un bon développement.
    • Les plates-formes d’intégration continue : plate-forme de dépôt de source, versionnement, plate-forme d’intégration continue : automatisation des builds, des tests , de la vérification, de la mise à disposition, de la documentation de version, historisation et communication, plate-forme de déploiement. L’offre du libre, les gains constatés.
    • La gestion des tests de non-régression : base de test, choix et lancement, la génération des rapports.
    • L’automatisation du passage des essais : scripts de tests, architecture des tests automatiques, démarche et règles du “test automatique”. Règles de développement appliquées aux tests. couche technique, couche métiers (Keyword testing).
    • Automatisation complète, de la création du test à son exécution leur niveau d’applicabilité : impacts des évolutions de l’application .
    • Définir les configurations des plates-formes. Définir les environnements nécessaires, emploi des outils de virtualisation.

    Le choix des outils

    • Déterminer ses besoins. Un questionnaire pratique de choix d’outils.
    • Un choix d’outillage selon le niveau de maturité du développement.
    • Le coût complet de mise en œuvre des outils et le calcul du retour sur investissement.

    Les techniques de base du test


    Approches intuitives du test

    • Ad-hoc testing, Exploratory testing, Unscripted testing

    L’analyse partitionnelle

    • La décomposition en classes d’équivalences des données d’entrée.
    • Règles suivant les types de données.
    • Application aux données de sortie. Emploi de l’analyse partitionnelle.

    Le test aux limites

    • L’identification des limites selon les types de données.
    • Test aux limites et hors limites (détermination des deltas).
    • Les tests aux limites pour les tests de performances.

    Les graphes de causes à effets

    • La technique pour le test des logiques complexes.
    • Définition du graphe. Transformation en table de décision avec identification des scénarios de test.
    • Les formalismes complémentaires : table de décision.

    Les graphes à états finis

    • Détermination des états et des transitions entre états.
    • Liste des actions résultant des transitions. Élaboration du graphe d’états.
    • Liste des scénarios de tests à partir du graphe.

    Construction automatique des tests

    • Tests aléatoires et tests statistiques.
    • Les règles des tests aléatoires, la représentativité de l’échantillonnage. Les harnais de test.
    • Apports et limites. Efficacité comparée aux autres techniques de test.

    Construction basée sur les formalismes de description du logiciel

    • Les principes employés.
    • L’emploi des spécifications structurées (type SA), des modèles de données, des modèles objet (l’outil STP/T).
    • Génération automatique à partir de l’architecture de drivers et stubs, les “lits” de test.

    Le test des performances et les tests en charge

    • L’analyse de la charge (transactions, postes, messages). La nature de la mesure, le grain de la mesure.
    • La mise en œuvre, le choix des configurations, l’outillage de simulation.
    • Les deux approches du test de performances, déterministes et statistiques.
    • Calculer le niveau de confiance associé, la taille des jeux d’essai, les règles.
    • Le problème de la perturbation par l’instrumentation.

    Les tests de sécurité

    • Le stress testing : règles et limites.
    • Sécurité : la définition des niveaux de tests, les vérifications associées.
    • Le test des modes dégradés et les tests de robustesse.

    Les tests d’utilisabilité

    • Le rôle des testeurs.
    • Les sept mesures courantes pour une approche objective de l’utilisabilité d’un logiciel interactif et leur mise en œuvre.

    Les tests des sites Web

    • Les objectifs de tests des sites : charges, conformité aux standards, liens pendants, bon fonctionnement, utilisabilité, la problématique des navigateurs
    • La vérification des pages HTML. Les outils spécifiques.
    • La mise en place des vérifications et mesures régulières.
    • L’externalisation des tests d’un site, l’offre actuelle.

    Les approches complémentaires de vérification et validation


    Mesures de couverture basées sur le code source

    • Couverture des instructions, des nœuds, des arcs, des chemins indépendants, des PLCSS, des BCC, MCDC et BCCC.
    • Les mesures de couverture d’intégration.
    • Automatisation des mesures de couverture.

    Les lectures de code

    • Lectures croisées, inspections et revues.
    • Organisation de l’équipe de lecture, choix du code.
    • Vaincre les difficultés et gérer dans la durée l’efficacité des lectures.
    • Liste des points à regarder.
    • Lectures et tests : dualité et complémentarité.

    Organiser la réception d’une application et Tierce Recette Applicative (TRA)

    • Une démarche pour réceptionner sans tester soi-même (contrat, exigences de reporting, pilotage).
    • L’acceptation des plans de tests et des scénarios de tests.
    • L’audit des configurations, l’examen des tests.
    • L’appréciation d’un logiciel. Pratiques et critères.

    Maîtriser ses tests


    Le dimensionnement de l’effort de test

    • Détermination des coûts acceptables pour vos tests.
    • Détermination du budget “test”.
    • Planning type des tests et ajustement au projet.
    • Répartition de l’effort de test entre les acteurs du projet.
    • Prévoir la non-régression, les mesures de la qualité des tests et du logiciel.

    La direction des tests

    • Coordonner tests, changements et évolutions sur le projet.
    • Le suivi des anomalies et des versions : les indicateurs d’orientation et de choix des tests.
    • Les situations d’urgence, analyse des risques.
    • Les tableaux de bord de suivi des tests : exemples et interprétations.