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 :