Test logiciel pour améliorer la qualité du livrable

Si vous avez raté la première étape, la mise en place d’un test logiciel passe par quelques définitions préalables que nous avons répertoriées dans un autre article.

Après avoir déterminé les objectifs, la stratégie, les techniques et les méthodes il convient de consigner tout ce beau monde dans un livrable. On qualifie les livrables (ou produits) d’une phase de test les documents contenant les résultats. Ces documents retracent les exécutions des différents tests et les données observables. Les livrables se constituent donc au fur et à mesure de l’exécution des tests pour ne pas oublier une partie des informations en cours de route. Mais mettons-nous d’accord sur un sujet : un livrable n’existe que si les informations répertoriées sont utiles et pertinentes. Autant ne pas en faire si l’objectif est de remplir une exigence documentaire.

Contenu d’un livrable suite à la définition des tests :

S’appuyer sur le livrable pour mettre en place les tests de validation.

En validation, l’objectif théorique à se fixer est de couvrir tous les éléments de spécifications (développement, sécurité, comportements, dimensionnement et paramétrage de l’infrastructure). L’objectif doit également être de vérifier la réaction en “temps réel” du développement. Et pour cela il faut mener des tests de validation et en définir la procédure.

Il existe pléthore de stratégie et on ne pourrait vous en recommander une plus qu’une autre car la stratégie dépend d’un contexte donné. Mais il y a toujours des points clés à respecter en fonction des types de tests et des contraintes de mise en œuvre. S’il devait y avoir une liste de case à cocher, il faudrait s’assurer que les tests valident :

  • Les fonctions nominales
  • Les fonctions aux limites
  • Les fonctions hors limites
  • Les performances
  • Le comportement en cas de défaillance
  • Le paramétrage
  • Des entrées simulées et réelles

Tout cela doit s’imbriquer dans une stratégie de validation d’ensemble avec, à l’esprit, la validation du logiciel et l’amélioration de la qualité du livrable. Nous avons parlé d’objectifs théorique car, en pratique, il est rare que les tests couvrent pas 100% des objectifs fixés (il y a des cas d’usage qui ne peuvent pas être simulés). 

Pour contourner ce problème il faut définir les vérifications complémentaires à mener pour diminuer la part de risque. Exemple : valider l’authentification via Face Id sur un iPhone en réalisant une dizaine de tests manuels.

Les tests fonctionnels sont toujours réalisés en phase de validation. On se concentre uniquement sur les entrées et les résultats. Le testeur n’a pas besoin d’apprendre à connaître le fonctionnement interne du système ou son code source, qui n’est pas accessible. Cette méthode est donc également non intrusive. Les tests de validation vérifient la conformité à un comportement attendu du point de vue utilisateur.

Voici les (principales) techniques de tests de validation :

  • Les tests aux limites de valeur : on vérifie le comportement du logiciel aux limites des données d’entrée.
  • Les tests de “domaines” : on valide que les données de sorties sont conformes aux attentes.

Les livrables issus de cette phase devront contenir les informations ci-après, avec un sommaire, comme par exemple :

  1. Organisation & responsabilités
    1. Qui est impliqué dans la validation ?
  2. Objectifs génériques des tests : 
    1. Couverture de toutes les fonctions
    2. Conformité à la documentation
    3. Vérification de l’infrastructure
  3. Stratégie de tests :
    1. Tests de fonctions par groupe, tests de mode de fonctionnement
    2. Tests d’enchaînement de fonctions, tests de paramétrage
    3. Tests sur environnement
  4. Méthodes et techniques
    1. Méthodes et techniques utilisées
  5. Environnements et outils
    1. Identification des outils utilisés (simulateurs, outils de mesures, comparateurs…)
    2. Description de chacun des environnements

Vous voilà de plus en plus armé pour affronter cet enjeu stratégique que représente le test logiciel. Désormais il faudra venir agrémenter toute cette réflexion avec un fil conducteur : l’automatisation. Mais cela impose une parfaite maîtrise et connaissance des test logiciel avec pléthore de compétences : matériels, logiciels, systèmes d’exploitations, fonctionnels, métier, etc interne ou externe. Et si vous avez besoin d’aide, CloudNetCare est spécialisée, avec sa plateforme cloud de tests, dans la mise en place de tests industrialisés et automatisés ☺

Les documents du monde du test

Les livres blancs
Lettre d’information Recevez l’actualité des tests