Qu'est-ce que le test dynamique ? Types, techniques et exemple

Test dynamique

Test dynamique est une mรฉthode de test logiciel utilisรฉe pour tester le comportement dynamique du code logiciel. L'objectif principal des tests dynamiques est de tester le comportement du logiciel avec des variables dynamiques ou des variables qui ne sont pas constantes et de trouver les points faibles dans l'environnement d'exรฉcution du logiciel. Le code doit รชtre exรฉcutรฉ afin de tester le comportement dynamique.

Nous savons tous que les tests sont une vรฉrification et une validation, et qu'il faut 2 V pour terminer les tests. Parmi les 2 V, la vรฉrification est appelรฉe test statique et l'autre ยซ V ยป, la validation est appelรฉe test dynamique.

Exemple de test dynamique

Comprenons comment faire des tests dynamiques avec un exemple :

Supposons que nous testions une page de connexion dans laquelle nous avons deux champs, ร  savoir ยซ Nom d'utilisateur ยป et ยซ Mot de passe ยป, et que le nom d'utilisateur est limitรฉ au format alphanumรฉrique.

Lorsque l'utilisateur saisit le nom d'utilisateur sous la forme ยซ Guru99 ยป, le systรจme l'accepte. Alors que lorsque l'utilisateur entre en tant que Guru99@123, l'application renvoie un message d'erreur. Ce rรฉsultat montre que le code agit dynamiquement en fonction de l'entrรฉe de l'utilisateur.

Les tests dynamiques consistent ร  travailler avec le systรจme rรฉel en fournissant une entrรฉe et en comparant le comportement rรฉel de l'application au comportement attendu. En dโ€™autres termes, travailler avec le systรจme dans le but de trouver des erreurs.

Ainsi, sur la base des dรฉclarations ci-dessus, nous pouvons dire ou conclure que les tests dynamiques sont un processus de validation d'applications logicielles en tant qu'utilisateur final dans diffรฉrents environnements afin de crรฉer le bon logiciel.

ร€ quoi servent les tests dynamiques ?

L'objectif principal des tests dynamiques est de garantir que le logiciel fonctionne correctement pendant et aprรจs l'installation du logiciel, garantissant une application stable sans dรฉfauts majeurs (cette dรฉclaration est faite car aucun logiciel n'est exempt d'erreurs, les tests seuls peuvent montrer la prรฉsence de dรฉfauts et pas d'absence)

L'objectif principal du test dynamique est d'assurer la cohรฉrence du logiciel ; discutons-en avec un exemple.

Dans une application bancaire, on retrouve diffรฉrents รฉcrans comme la section Mes comptes, Transfert de fonds, Bill Payer, etc. Tous ces รฉcrans contiennent un champ de montant qui accepte certains caractรจres.

Disons que le champ Mes comptes affiche le montant sous la forme 25,000 et transfert de fonds comme $25,000 Bill รฉcran payant comme $25000 bien que le montant soit le mรชme, la faรงon dont le montant est affichรฉ n'est pas la mรชme, ce qui rend le logiciel non cohรฉrent.

La cohรฉrence ne se limite pas seulement ร  la fonctionnalitรฉ, elle fait รฉgalement rรฉfรฉrence ร  diffรฉrentes normes telles que les performances, la convivialitรฉ, la compatibilitรฉ, etc., il devient donc trรจs important d'effectuer des tests dynamiques.

Types de tests dynamiques

Les tests dynamiques sont classรฉs en deux catรฉgories

  • Blanc Box Tests
  • Noir Box Tests

La reprรฉsentation picturale ci-dessous nous donne une idรฉe des types de tests dynamiques, des niveaux de tests, etc.

Types de tests dynamiques

Discutons briรจvement de chaque type de test et de son objectif

Blanc Box Tests - Blanc Box Tests est une mรฉthode de test logiciel dans laquelle la structure/conception interne est connue du testeur. L'objectif principal de White Box les tests consistent ร  vรฉrifier les performances du systรจme en fonction du code. Elle est principalement rรฉalisรฉe par les dรฉveloppeurs ou les blancs Box Testeurs ayant des connaissances en programmation.

Noir Box Essais - Noir Box Tests est une mรฉthode de test dans laquelle la structure/le code/la conception interne est pas connu du testeur. L'objectif principal de ces tests est de vรฉrifier la fonctionnalitรฉ du systรจme testรฉ et ce type de tests nรฉcessite l'exรฉcution de la suite de tests complรจte et est principalement effectuรฉ par les testeurs, et aucune connaissance en programmation n'est nรฉcessaire.

L'espace Noir Box Les tests sont ร  nouveau classรฉs en deux types.

Elles sont

  • Essais fonctionnels
  • Tests non fonctionnels

Test fonctionel:

Les tests fonctionnels sont effectuรฉs pour vรฉrifier que toutes les fonctionnalitรฉs dรฉveloppรฉes sont conformes aux spรฉcifications fonctionnelles, et ils sont effectuรฉs en exรฉcutant les cas de tests fonctionnels rรฉdigรฉs par l'รฉquipe d'assurance qualitรฉ, en phase de tests fonctionnels, le systรจme est testรฉ en fournissant des entrรฉes, en vรฉrifiant la sortie et comparer les rรฉsultats rรฉels avec les rรฉsultats attendus.

Il existe diffรฉrents niveaux de tests fonctionnels, parmi lesquels les plus importants sont

  • Tests unitaires โ€“ Gรฉnรฉralement Unit est un petit morceau de code testable, Tests unitaires est effectuรฉ sur une unitรฉ individuelle du logiciel et est effectuรฉ par les dรฉveloppeurs
  • Test d'intรฉgration - Test d'intรฉgration est le test qui est effectuรฉ aprรจs les tests unitaires et est effectuรฉ en combinant toutes les unitรฉs individuelles qui sont testables et est effectuรฉ soit par des dรฉveloppeurs, soit par des testeurs.
  • Test du systรจme - Test du systรจme est effectuรฉ pour garantir que le systรจme fonctionne conformรฉment aux exigences et est gรฉnรฉralement effectuรฉ lorsque le systรจme complet est prรชt, il est effectuรฉ par les testeurs lorsque la version ou le code est publiรฉ ร  l'รฉquipe d'assurance qualitรฉ.
  • Test de rรฉception โ€“ Les tests d'acceptation sont effectuรฉs pour vรฉrifier si le systรจme rรฉpond aux exigences commerciales et est prรชt ร  รชtre utilisรฉ ou prรชt ร  รชtre dรฉployรฉ et sont gรฉnรฉralement effectuรฉs par les utilisateurs finaux.

Tests non fonctionnels: Les tests non fonctionnels sont une technique de test qui ne se concentre pas sur les aspects fonctionnels et se concentre principalement sur les attributs non fonctionnels du systรจme tels que les fuites de mรฉmoire, les performances ou la robustesse du systรจme. Les tests non fonctionnels sont effectuรฉs ร  tous les niveaux de test.

Il existe de nombreuses techniques de tests non fonctionnels, parmi lesquelles les plus importantes sont

  • Test de performance - Test de performance est effectuรฉ pour vรฉrifier si le temps de rรฉponse du systรจme est normal selon les exigences sous la charge rรฉseau souhaitรฉe.
  • Test de rรฉcupรฉration โ€“ Les tests de rรฉcupรฉration sont une mรฉthode permettant de vรฉrifier dans quelle mesure un systรจme est capable de se remettre des pannes et des pannes matรฉrielles.
  • Test de compatibilitรฉ โ€“ Des tests de compatibilitรฉ sont effectuรฉs pour vรฉrifier le comportement du systรจme dans diffรฉrents environnements.
  • Tests de sรฉcuritรฉ - Tests de sรฉcuritรฉ est effectuรฉ pour vรฉrifier la robustesse de l'application, c'est-ร -dire pour garantir que seuls les utilisateurs/rรดles autorisรฉs accรจdent au systรจme
  • Tests d'utilisation - Tests d'utilisation est une mรฉthode permettant de vรฉrifier la convivialitรฉ du systรจme par les utilisateurs finaux afin de vรฉrifier dans quelle mesure les utilisateurs sont ร  l'aise avec le systรจme.

Techniques de tests dynamiques

Techniques de tests dynamiques in STLC se compose de diffรฉrentes tรขches telles que l'analyse des exigences pour les tests, la planification des tests, la conception et la mise en ล“uvre des scรฉnarios de test, la configuration de l'environnement de test, l'exรฉcution des scรฉnarios de test, le rapport de bogues et enfin la clรดture des tests. Toutes les tรขches des techniques de tests dynamiques dรฉpendent de l'achรจvement de la tรขche prรฉcรฉdente dans le processus de test.

Dans STLC, nous pouvons dire que le processus de test dynamique rรฉel commence ร  partir de la conception des scรฉnarios de test, discutons de chaque activitรฉ en dรฉtail.

Techniques de tests dynamiques

Avant d'entrer dans le processus, discutons de la stratรฉgie qui doit รชtre suivie pour les tests dynamiques.

La stratรฉgie de test doit principalement se concentrer sur les ressources disponibles et le calendrier. Sur la base de ces facteurs, l'objectif des tests, la portรฉe des tests, les phases ou cycles de tests, le type d'environnement, les hypothรจses ou les dรฉfis qui pourraient รชtre rencontrรฉs, les risques, etc. doivent รชtre documentรฉs.

Une fois la stratรฉgie dรฉfinie et acceptรฉe par la direction, la conception du scรฉnario de test du processus commence

Qu'est-ce que la conception et la mise en ล“uvre des tests

Dans cette phase, nous identifions le,

  • Fonctionnalitรฉs ร  tester
  • Dรฉriver les conditions de test
  • Dรฉriver les รฉlรฉments de couverture
  • Dรฉriver les cas de test

Configuration de l'environnement de test

Nous devons nous assurer que l'environnement de test doit toujours รชtre similaire ร  l'environnement de production. Dans cette phase, nous devons installer la version et gรฉrer les machines de test.

Exรฉcution des tests

Durant cette phase, les cas de tests sont effectivement exรฉcutรฉs.

Rapport de bug capturรฉ

En fonction de l'exรฉcution, si les rรฉsultats attendus et rรฉels ne sont pas les mรชmes, le scรฉnario de test doit รชtre marquรฉ comme รฉchec et un bug doit รชtre enregistrรฉ.

Avantages des tests dynamiques

  • Les tests dynamiques peuvent rรฉvรฉler les dรฉfauts dรฉcouverts qui sont considรฉrรฉs comme trop difficiles ou compliquรฉs et qui ne peuvent pas รชtre couverts par l'analyse statique.
  • Dans les tests dynamiques, nous exรฉcutons le logiciel de bout en bout, garantissant ainsi un logiciel sans erreur, ce qui augmente la qualitรฉ d'un produit et d'un projet.
  • Les tests dynamiques deviennent un outil essentiel pour dรฉtecter toute menace de sรฉcuritรฉ

Inconvรฉnients des tests dynamiques

  • Les tests dynamiques prennent du temps car ils exรฉcutent l'application/le logiciel ou le code qui nรฉcessite une รฉnorme quantitรฉ de ressources.
  • Les tests dynamiques augmentent le coรปt du projet/produit car ils ne dรฉmarrent pas tรดt dans le cycle de vie du logiciel et, par consรฉquent, tout problรจme rรฉsolu ultรฉrieurement peut entraรฎner une augmentation des coรปts.

Conclusion

In Gรฉnie logiciel, La vรฉrification et la validation sont deux mesures utilisรฉes pour vรฉrifier que le produit logiciel rรฉpond aux spรฉcifications des exigences. Les tests statiques impliquent une vรฉrification tandis que les tests dynamiques impliquent une validation. Ensemble, ils contribuent ร  fournir un logiciel de qualitรฉ rentable.

Rรฉsumez cet article avec :