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 et mes 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 USP,EP, BP
  • Noir Box USP,EP, BP

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 USP,EP, BP - Blanc Box USP,EP, BP 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 USP,EP, BP est une méthode de test dans laquelle la structure/le code/la conception interne est ne 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.

Pour 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.

Newsletter quotidienne de Guru99

Commencez votre journée avec les dernières et plus importantes actualités sur l'IA diffusées dès maintenant.