Qu'est-ce que le test de configuration ? Exemples de cas de test

⚡ Résumé intelligent

Les tests de configuration exécutent une application sur plusieurs combinaisons de logiciels et de matériels, permettant ainsi à une équipe de confirmer que les exigences fonctionnelles sont toujours respectées partout et d'identifier la configuration optimale pour la mise en production.

  • 🧩 Portée: OperaLes systèmes d'exploitation, les navigateurs, les versions de bases de données, les pilotes, la mémoire et les périphériques sont tous considérés comme des configurations.
  • (I.e. Deux types: Les tests de configuration logicielle couvrent les plateformes et les mises à jour ; les tests de configuration matérielle couvrent les périphériques connectés.
  • 🇧🇷 Matrice d'abord : Élaborez une matrice de combinaison, puis hiérarchisez-la, car une couverture exhaustive est hors de prix.
  • ️ Machines virtuelles : Les instantanés remplacent les cycles répétés d'installation et de désinstallation sur les machines de test physiques.
  • (I.e. Exemple concret : Une application bancaire et ses modèles de compteuses de billets illustrent des cas de test matériels.
  • ???? Échec délibéré : Supprimer volontairement une condition préalable révèle des défauts qu'un laboratoire entièrement équipé masque.

Tests de configuration pour différentes combinaisons de logiciels et de matériels

Test de configuration

Test de configuration Il s'agit d'une technique de test logiciel dans laquelle l'application est testée avec de multiples combinaisons de logiciels et de matériels, afin d'évaluer les exigences fonctionnelles et de trouver les configurations optimales dans lesquelles l'application fonctionne sans défauts ni anomalies.

Une configuration est toute combinaison que le produit doit prendre en charge : une version de système d’exploitation, un navigateur, une version de base de données, un pilote, une taille de mémoire ou un périphérique connecté. Il convient de distinguer cela de test de compatibilitéLe test de configuration, quant à lui, vérifie la compatibilité du produit avec d'autres logiciels et plateformes. Il pose une question plus précise : la même configuration fonctionne-t-elle toujours correctement une fois modifiée ?

Exemple de test de configuration

Prenons l'exemple d'une application de bureau.

Les applications de bureau sont généralement construites selon une architecture à deux ou trois niveaux. Prenons l'exemple d'une application de bureau à trois niveaux développée en ASP.NET, composé d'un client, d'un serveur de logique métier et d'un serveur de base de données, chaque composant prenant en charge les plateformes listées ci-dessous.

  • Plateforme client – Windows XP, Windows 7, Windows 8, et ainsi de suite
  • Plateforme serveur – Windows Serveur 2008, Windows Serveur 2008 R2, Windows Serveur 2012 R2
  • Base de données - SQL Serveur 2008, SQL Server 2008 R2, SQL Server 2012, etc.

Le testeur doit faire fonctionner ensemble le client, le serveur et la base de données sur ces versions de plateforme et de base de données, afin de confirmer que l'application fonctionne correctement et ne présente aucune défaillance sur aucune combinaison prise en charge.

Les tests de configuration ne se limitent pas aux logiciels. Ils concernent également le matériel, d'où l'appellation de tests de configuration matérielle : imprimantes, scanners, webcams et autres périphériques similaires que l'application testée doit prendre en charge. Le tableau ci-dessous illustre la disposition de ces périphériques avant le début de l'exécution des tests.

Matrice de test de configuration des combinaisons client, serveur et base de données

Conditions préalables aux tests de configuration

Avant de commencer le test de configuration sur un projet, trois conditions préalables doivent être remplies.

  • Création d'une matrice répertoriant les différentes combinaisons de configurations logicielles et matérielles
  • Il est préférable de prioriser ces configurations, car tester chacune d'entre elles n'est pas réaliste.
  • Tester chaque configuration dans l'ordre défini par cette priorisation

Objectifs des tests de configuration

Les tests de configuration visent à atteindre les objectifs suivants.

  • Valider l'application par rapport à ses exigences de configurabilité
  • Provoquer délibérément des défaillances pour faire apparaître des défauts que les tests ordinaires ne détectent pas, par exemple en modifiant les paramètres régionaux tels que le fuseau horaire, la langue ou le format de date.
  • Déterminer la configuration optimale de l'application testée
  • Analysez les performances du système lorsque les ressources matérielles sont modifiées, par exemple en ajoutant des équilibreurs de charge, en augmentant ou en réduisant la mémoire, ou en connectant différents modèles d'imprimantes.
  • Analysez l'efficacité du système par rapport à la priorisation, en évaluant dans quelle mesure les tests ont utilisé les ressources disponibles pour atteindre cette configuration optimale.
  • Vérifiez le système dans un environnement géographiquement distribué, par exemple avec le serveur situé à un endroit et les clients à un autre, où le système doit fonctionner indépendamment des paramètres système locaux.
  • Vérifiez la facilité avec laquelle les défauts se reproduisent lorsque la configuration change.
  • Vérifiez que les éléments de l'application restent tracrendu possible grâce à une documentation appropriée et des enregistrements de version clairement identifiables
  • Vérifiez que les éléments de l'application restent gérables tout au long du processus. cycle de vie du développement logiciel

Comment faire des tests de configuration

La stratégie dépend du type de test de configuration concerné.

  • Tests de configuration logicielle
  • Test de configuration matérielle

Tests de configuration logicielle

Les tests de configuration logicielle consistent à exécuter l'application testée sur plusieurs systèmes d'exploitation, mises à jour logicielles et versions de dépendances. Cette opération est chronophage, car chaque itération implique l'installation et la désinstallation des logiciels concernés.

Une méthode courante pour réduire ce coût consiste à tester sur machines virtuellesUne machine virtuelle est un environnement logiciel qui se comporte comme du matériel physique ; le testeur travaille donc comme sur une machine réelle, tandis que la configuration elle-même est éphémère. Les machines virtuelles simulent les configurations réelles avec une précision suffisante pour la plupart des tests fonctionnels.

Au lieu d'installer et de désinstaller l'application sur plusieurs machines physiques, celle-ci est installée sur une machine virtuelle et les tests se poursuivent à partir de là. L'exécution en parallèle de plusieurs machines virtuelles, chacune restaurée à partir d'un instantané, simplifie considérablement le travail.

Les tests de configuration logicielle peuvent généralement commencer lorsque

  • Les exigences de configurabilité à tester sont spécifiées
  • Le environnement de test est prêt
  • L'équipe de test est formée aux tests de configuration.
  • La version publiée a passé avec succès les tests unitaires et d'intégration.

Le typique stratégie de test Il s'agit d'exécuter la suite de tests fonctionnels sur chaque configuration logicielle et de vérifier que l'application se comporte comme prévu, sans défauts ni erreurs. Une autre stratégie consiste à faire échouer délibérément des cas de test et à évaluer la capacité du système à gérer ces erreurs.

Exemple :

Prenons l'exemple d'une application bancaire qui doit être testée sur plusieurs navigateurs. Hébergée dans un environnement où toutes les conditions préalables sont réunies, elle peut réussir les tests unitaires et… test d'intégration dans le laboratoire d'essais.

Installée chez un client, la même application peut échouer si les machines concernées ne disposent pas des mises à jour logicielles ou des versions des dépendances dont elle s'appuie directement ou indirectement. Le fait de provoquer délibérément l'échec des tests en supprimant certaines exigences de configuration, puis de les relancer, permet de révéler ce type de défaut avant que le client ne le découvre. La capture d'écran ci-dessous illustre la reproduction d'une telle défaillance liée à la configuration dans un environnement contrôlé.

L'application bancaire échoue sur un poste client en raison de prérequis manquants.

Test de configuration matérielle

Les tests de configuration matérielle sont généralement effectués dans un laboratoire équipé de machines physiques auxquelles sont connectés différents composants matériels.

À chaque nouvelle version, le logiciel est installé sur chacune de ces machines et la suite de tests est exécutée sur chacune d'elles, afin de confirmer que l'application fonctionne avec le périphérique connecté.

Cette tâche exige des efforts considérables : installer le logiciel sur chaque machine, connecter le matériel, puis exécuter la suite manuellement ou l’automatiser au préalable.

Il convient également de préciser le type de matériel à tester. La variété des matériels informatiques et des périphériques est telle qu'il est impossible de tous les couvrir ; le testeur analyse donc les appareils réellement utilisés par les utilisateurs et effectue les tests en fonction de cette priorisation.

Exemples de cas de test

Prenons l'exemple d'un scénario bancaire testé pour la compatibilité matérielle. Une application bancaire connectée à une compteuse de billets doit fonctionner avec plusieurs modèles, tels que Rolex, Strob, Maxsell et StoK.

Échantillon cas de test Pour la machine à compter les billets, veuillez inclure les éléments suivants.

  • Vérifiez la connexion entre l'application et le modèle Rolex lorsque les prérequis ne sont PAS installés.
  • Vérifiez la connexion entre l'application et le modèle Rolex une fois les prérequis installés.
  • Vérifiez que le système compte correctement les billets.
  • Vérifiez comment le système signale une erreur de comptage.
  • Vérifier le traitement des billets falsifiés
  • Vérifiez les temps de réponse
  • Vérifier que les faux billets sont détectés

Ces cas concernent un seul modèle, et chaque autre modèle sur le marché doit être configuré dans un laboratoire de test et testé de la même manière, ce qui est rarement réalisable en interne. Externaliser les tests de configuration matérielle auprès d'une organisation spécialisée est souvent l'option la plus réaliste.

FAQ

Les tests de configuration modifient la configuration native du produit (système d'exploitation, version de la base de données, périphérique connecté) et relancent la suite de tests. Les tests de compatibilité vérifient que le produit est compatible avec les logiciels, plateformes et navigateurs externes avec lesquels il doit fonctionner.

Autant que le risque le justifie. L'analyse de l'utilisation détermine l'ordre : les combinaisons de plateforme, de navigateur et d'appareil les plus utilisées sont couvertes en premier, suivies des spécifications minimales requises.

L'équipe d'assurance qualité, généralement assistée par les administrateurs système qui configurent les environnements, est responsable de la couverture physique des équipements. Pour les produits nécessitant une utilisation intensive de matériel, une équipe de laboratoire dédiée, ou un spécialiste externe, assure cette couverture.

Plateformes de machines virtuelles et de conteneurs pour les configurations logicielles, les laboratoires de périphériques ou les fermes de périphériques cloud pour le matériel et les navigateurs, et un automatisation des tests cadre permettant de rejouer la même suite sur chaque configuration.

L’explosion combinatoire, le coût des licences et des équipements physiques, la lenteur du provisionnement des environnements et les défauts qui ne se reproduisent que sur une seule configuration : la priorisation et la virtualisation permettent de résoudre la plupart de ces problèmes.

Une fois les tests unitaires et d'intégration validés, et généralement en parallèle des tests système, ce processus est répété avant chaque mise à jour majeure, car une nouvelle version du système d'exploitation ou des pilotes peut invalider les résultats précédents.

Les modèles classent les combinaisons de configurations en fonction de leur utilisation réelle et des données historiques de défauts, ce qui permet d'éliminer les lignes présentant le risque le plus élevé. Ils regroupent également les défaillances afin d'identifier celles qui partagent une même cause de configuration.

Oui. Il génère des modèles de tests paramétrés, des scripts de configuration d'environnement et des définitions de tâches d'intégration continue permettant d'exécuter une suite de tests sur de nombreuses configurations. La matrice elle-même doit toujours provenir de la liste des plateformes prises en charge.

Résumez cet article avec :