Validation logicielle

La démarche de validation du logiciel doit être pilotée par les exigences.

Les exigences sont une reformulation de l’expression de besoin issue du cahier des charges qui peut avoir des formes diverses (notes, emails, croquis au tableau, etc.).

validation_logiciel

Comment s’organiser ?

Le développeur est responsable du

  • développement
  • de la correction des anomalies

Le valideur est responsable

  • du bon fonctionnement du logiciel
  • de la vérification de la correction des anomalies

Il faut donc considérer que c’est le valideur qui est responsable si un utilisateur constate une anomalie.

Bonnes pratiques

Pour chaque exigence, il faut au moins un cas de test.

Pour chaque version d’un logiciel, il faut préparer la liste des cas de tests à dérouler : c’est la campagne de test.

Après chaque test, il y a soit un bug soit une exigence satisfaite pour la version du logiciel en cours de tests

Pour chaque version testée, le valideur en chef doit fournir :

  • La liste des fonctionnalités non testées
  • La liste des anomalies connues et non corrigées
  • L’infrastructure matérielle et système utilisée pour les tests

Un document écrit avec ces éléments est une étape obligatoire pour un passage en pépinière d’un service afin qu’il soit utilisable sur internet auprès de vrais utilisateurs.

Quel outils ?

Avec CatchU, le porteur de projet et son équipe sont accompagnés par des documents modèles et des exemples et un serveur SquashTM.  L’incubateur dispose d’un environnement de  validation (avec des serveurs de tests, une base d’utilisateurs de tests et un système de paiement de tests) pour tester des services en cours de développement.

Des exemples de projets avec des outils de tests complémentaires comme Selenium, et JMeter sont également disponibles auprès des porteurs de projets.

Avez-vous pensé à tous les types de tests

Il existe quelques catégories de tests souvent négligés :

  • les tests d’exploitabilité du service : arrêt, redémarrage, surveillance, sauvegarde
  • les tests de robustesse : purge, mode dégradé
  • les tests de sécurité : durcissement, intégrité, confidentialité
  • les tests de performances : jusqu’à combien d’utilisateurs simultanée pourra répondre le service  ?
  • les tests de migrations  de données et de bascule de serveurs : à prévoir lorsque le service quittera la pépinière numérique en phase d’émancipation.

Plus d’information sur cette présentation sur la validation logicielle.

Pour tous ces types de tests, les outils et les plateformes de CatchU et les Skills Angels sont là pour aider les porteurs de projet.