Formation Automatisation des tests logiciels

Contexte

L’automatisation des tests d’un développement logiciel est un investissement lourd mais rentable. Découvrez les aspects organisationnels/financiers, les bonnes pratiques et les outils de l’automatisation des différents types de test : tests unitaires, tests d’intégration, tests fonctionnels, tests de performance.

Objectifs

A l’issue de la formation le stagiaire sera capable :

  • Utiliser un référentiel de tests et paramétrer des liens vers des outils connexes, pour automatiser une campagne de test. 
  • Automatiser les tests de performance, avec mise en place d’un test de détermination du seuil de déni de service
  • Mettre en œuvre une automatisation de tests fonctionnels sur client lourd et sur Web
  • Utiliser les techniques d’objets factices, souches ou simulacres et mettre en place un serveur d’intégration continue
  • Faire une analyse statique de code et de couverture de tests et l’intégrer dans une chaîne de fabrication logicielle

Public

Coordinateur métier, développeurs, responsables qualité et tests logiciels, ingénieurs automatisation des tests, chefs de projet MOE.

Prérequis

Bonnes connaissances en programmation, notamment avec le langage Java.

Programme de la formation

Rappel sur le processus du test logiciel

  • Rôle du test dans le processus de développement.
  • Les différents types de test  : unitaires, fonctionnels, etc.
  • Les différentes méthodes de test, de processus et stratégie
  • Outils et méthodes nécessaires

Travaux pratiques  : Exemple d’installation de plusieurs outils.

Automatisation de la gestion des tests

  • Comprendre la notion de couverture et de granularité.
  • Gérer  la couverture des exigences par les tests. Démarche de mise au point : organisation des suites de tests et création des cas.
  • Les critères pour choisir d’automatiser un test 
  • Préparation à l’automatisation.
  • Construction de la population de test.
  • Mise au point et vérification des tests (Revue)
  • Exécution, enregistrement des anomalies. 
  • Gérer les anomalies et automatiser la création. 
  • Analyser les résultats d’exécution de tests. 
  • Consolidation des tests

Travaux pratiques : Utiliser d’un référentiel de tests. Paramétrer de ponts vers des outils connexes (TestLink/Squash/Quality Center ou autres…). 

Automatisation des tests unitaires

  • Bonnes pratiques pour les tests unitaires.
  • Critères d’automatisation.
  • Tests Driven Development.
  • Mesurer la couverture de code, des tests structurels, d’instructions et branches.
  • Analyse statique de code : analyse outillée du code source hors exécution : Checkstyle, Cobertura.
  • Automatisation avec un fichier de configuration.
  • Analyse dynamique de code : couverture des instructions, des branches, des prédicats…
  • Automatisation avec un outil d’analyse de couverture.
  • Organisation des tests unitaires
  • Utiliser des frameworks : gestion des scripts de tests, des données de tests et récupération des résultats.

Travaux pratiques : mettre en œuvre de tests unitaires avec Junit/TestNG et les intégrer dans une chaîne de fabrication de logiciels (Ant/Maven…).

Automatisation des tests d’intégration

  • Stratégies propres à l’intégration : big-bang, « au fil de l’eau », par incréments etc.
  • Intégration ascendante versus descendante / Intégration mixtes.
  • Objets simulacres : bouchons pour simuler les fonctions appelées, mocking pour remplacer un objet. 
  • Intégration continue : mise en place de gestionnaire de configuration, constructeur de build, outils de pilotage.
  • Signalement automatique des anomalies.
  • Exécution automatique et cyclique des tests logiciels.
  • Focus sur un serveur d’intégration continue.

Travaux pratiques : Utilisation d’objets simulacres. Mise en place d’un serveur d’intégration continue (Jenkins, Hudson ou Continuum).

Automatisation du test fonctionnel

  • Définition du test fonctionnel, (non-régression)
  • Le test simulant l’action des utilisateurs à partir des interfaces utilisateurs (IHM).
  • Constats sur l’automatisation du test fonctionnel.
  • Automatisation des tests via l’IHM, via des interfaces de programmation (API).
  • Chaîne d’outils, robots de test, script (API publiques).
  • Gestion de l’obsolescence des tests.

Travaux pratiques : Automatiser de tests fonctionnels. Utilisation de robots, d’une couche logicielle publique (API). Mettre en œuvre un outil d’automatisation (Katalon Studio avec Selenium/HP QuickTest Pro).

Automatisation des tests système

  • Types de tests système : performance, charge, stress.
  • Tests de performance, définition des indicateurs.
  • Scripts de tests de performance. 
  • Mise en œuvre d’outils et analyse.
  • Tests de montée en charge, tests de stress : présentation des indicateurs clés et de l’outillage.
  • Gestion de la base de données de tests. 

Travaux pratiques : Mettre en place un test de charge.

Synthèse

  • Automatiser des tests : coûts directs, indirects.
  • Gains qualitatifs de l’automatisation : mode opératoire sauvegardé, pas d’erreur, confiance…
  • Gains quantitatifs de l’automatisation : volumétrie, modularité…
  • Mesurer des retours sur investissement.

 

Durée

4 jours

Dates et délais

Sur demande

Modalités

Présentiel ou distanciel

Lieu

Lieu à définir

Tarif

2520 € TTC

Intéressé(e) ? Besoin d’infos ?

Contactez-nous 📩

    Prénom*
    Nom*
    Adresse E-mail*
    N° de téléphone
    Vous êtes*

    Objet de votre message*
    Votre message*