Artefacts de test de logiciel - Guide détaillé

30 octobre 2021

Table des matières

  • Artefacts de test de logiciel
  • 1. Programme d'essai
  • Types de plans de test
  • Modèle de plan de test
  • Lignes directrices du plan de test
  • 2. Suite de tests
  • Qu'est-ce qu'une suite de tests ?
  • Que signifie suite ? Expliqué par l'exemple
  • Types de suites de tests
  • Caractéristiques des suites de tests
  • Modèles de suites de tests
  • Différence entre le scénario de test, la suite de tests, le plan de test et le cas de test
  • Conclusion
  • 3. Cas d'essai
  • Qu'est-ce qu'un scénario de test ?
  • Comment écrire de bons cas de test ?
  • Modèle de cas de test
  • Exemple de cas de test Format de cas de test standard
  • Outils de gestion des cas de test
  • 4. Scénario de test
  • Qu'est-ce qu'un script de test ?
  • Tester le langage de script avec un exemple
  • Quel type de code est utilisé ?
  • Comment créer un script de test ?
  • Comment exécuter un script de test ?
  • 5. Données d'essai
  • Qu'est-ce que les données de test ?
  • Importance des données de test
  • Types de données d'essai
  • Données de test dans les tests
  • Bonnes propriétés des données de test
  • Techniques de préparation ou de génération de données de test
  • Approches pour tester la génération de données
  • Outils de génération de données de test
  • Gestion des données de test (TDM)
  • Limites des données de test
  • Conclusion
  • Articles recommandés

4. Scénario de test

Qu'est-ce qu'un script de test ?

image 617dd4e96d22c

Le script de test est défini comme un ensemble d'instructions écrites en langage humain (manuel) ou de script/programmation (automatisé) pour vérifier que le système testé fonctionne comme prévu.

C'est une partie d'un cas de test qui peut avoir plusieurs scripts de test.



Un moteur d'exécution de test, ainsi qu'un référentiel de scripts de test, sont appelés harnais de test.

Un cas de test unique peut avoir plusieurs scripts de test lorsque :

  • Les cas de test peuvent être manuels et utiliser des scripts automatisés.
  • Chaque script de test fournit un scénario de test différent pour tester le scénario de test.

Un code de script de test effectuera généralement les opérations suivantes une ou deux fois :

  1. Identifier les éléments d'entrée de l'interface utilisateur
  2. Accédez au composant d'interface utilisateur et attendez et vérifiez les éléments d'entrée qui s'affichent.
  3. Simulation d'entrée utilisateur.
  4. Identification des éléments de sortie
  5. Attendez et vérifiez les éléments de sortie pour afficher le résultat.
  6. Lire le résultat de l'élément de sortie.
  7. L'affirmation d'une valeur de sortie égale à la valeur attendue.

Tester le langage de script avec un exemple

Les tests automatisés peuvent être effectués à l'aide des langages suivants :

  • TCL
  • Python
  • Javascript
  • VBScriptName
  • perle
  • Rubis
  • Script de shell Unix

Certains outils ou frameworks d'automatisation de test ayant leur langage de script peuvent générer des scripts de test sans codage réel.

Exemple: Sikuli, qui est un outil automatisé à interface graphique, utilise Python pour tester les cas de test. Par exemple, voici un exemple de script de test en Python :

|__+_|

Exemple de script de test

Considérons le test automatique de la fonction d'ajout dans un site Web de commerce électronique. Le script de test pour le site Web effectuera les opérations suivantes :

  1. Spécifiez comment localiser le bouton Ajouter un produit au panier à partir de la page du panier. Par exemple. à l'aide des ID d'élément CSS.
  2. Chargez la page d'accueil du site Web, cliquez sur l'icône du panier, vérifiez que la page du panier apparaît et affichez l'écran du panier vide.
  3. Recherchez n'importe quel article du catalogue de produits. Par exemple, ajoutez une robe. Appuyez ensuite sur Ajouter au panier.
  4. Spécifiez comment l'article ajouté au panier sera affiché à l'utilisateur.
  5. Attendez et vérifiez si l'article est ajouté avec succès avec les détails adéquats visibles sur l'écran du panier.
  6. Lisez la page du panier.
  7. Affirmer que le nom du produit et ses détails sont visibles

Quel type de code est utilisé ?

Le type de codage pour créer un script de test peut être des trois types suivants :

Enregistrement/Lecture

Il n'est pas nécessaire d'écrire du code si les actions de l'utilisateur sont enregistrées et le script est généré automatiquement.

Cependant, étant donné que le script est créé automatiquement, le créateur peut souvent avoir besoin de vérifier le script pour affiner le comportement de l'automatisation ou corriger les choses.

Néanmoins, c'est plus simple que d'écrire le script à partir de zéro car le script est juste devant le testeur et est généralement codé dans des langages simplifiés comme VBScript.

Un véritable code de langage de programmation

Même si le testeur peut avoir la capacité d'enregistrer/lire le code ou de générer un code de script simple, les testeurs pourraient finalement avoir besoin d'apprendre à coder par eux-mêmes.

Les testeurs peuvent choisir n'importe quel langage de programmation, quel que soit le langage de programmation utilisé pour écrire le logiciel. Par exemple, même si le programme est écrit en Java, mais que le testeur parle couramment Python, il peut écrire le script de test Python.

Scripts basés sur des mots clés/données

Les testeurs, ignorant le code sous-jacent, définissent généralement les tests à l'aide de mots clés. D'autre part, les développeurs implémentent le code du script de test pour les mots-clés et les mettent à jour.

Cette méthode est utile pour les testeurs mais dépend fortement du développement de ressources pour que de nouvelles fonctionnalités soient testées automatiquement.

Comment créer un script de test ?

Il existe trois façons de créer un script de test :

1. Enregistrement/Lecture

Pour les débutants, des outils comme HP Professionnel du test rapide peut aider les professionnels de l'assurance qualité à créer des scripts de test automatisés.

Ces outils effectuent un ensemble d'actions sur un site Web ou une application, enregistrent les actions de l'utilisateur et génèrent des scripts de test pour rejouer ou répéter automatiquement ces opérations.

Ils permettent d'éditer et de modifier les tests en sélectionnant des objets et en spécifiant les actions de l'utilisateur pour les simuler.

La différence entre la simulation et la validation dans cette méthode est :

    Simulation:La capture de la simulation du script est aisée grâce à des systèmes d'enregistrement/lecture. Les testeurs effectuent des actions utilisateur et le système génère un script relatif à l'aide de langages de script simples tels que VBScript.Validation:Une fois la simulation effectuée, l'étape suivante est la validation, qui est problématique. L'ajout explicite d'étapes au script pour identifier les éléments d'interface et comparer les valeurs attendues et réelles est fait. Ces validations ne peuvent pas être enregistrées car elles sont effectuées séquentiellement à l'aide de l'interface graphique du système d'automatisation.

2. Un véritable code de langage de programmation

Les testeurs avancés, au lieu d'utiliser la fonctionnalité d'enregistrement/lecture, préfèrent écrire leur code. Des frameworks comme Appium, Microsoft Coded UI et Selenium permettent aux testeurs d'écrire des scripts de test à partir de zéro en utilisant des langages comme Java, C++, PHP ou JavaScript.

Ces langages peuvent être similaires ou non au langage utilisé dans l'application testée.

Les frameworks fournissent des commandes spéciales telles que l'identification des éléments de l'écran, la sélection des options de menu, le clic, la saisie, etc. sur l'application actuellement testée.

La plupart des frameworks d'automatisation des tests prennent également en charge les scripts d'enregistrement/lecture.

La différence entre la simulation et la validation dans cette méthode est :

    Simulation:Selenium propose des commandes sur une seule ligne pour sélectionner des objets, cliquer, attendre ou effectuer toute autre opération d'interface utilisateur. Ainsi, si le testeur connaît la langue, il est relativement facile d'automatiser l'utilisation de ces commandes intégrées.Validations :Comme pour l'enregistrement/lecture, dans la méthode d'écriture de code également, cette section est difficile. Bien que Selenium aide à localiser l'interface des objets de sortie du système, les assertions ne sont pas prises en charge. Cela signifie que les testeurs devront écrire le code eux-mêmes pour vérifier les valeurs attendues. Contrairement à la simulation développée et maintenue une seule fois par action utilisateur, le code de validation comporte plusieurs parties pour chaque élément d'interface à tester.

3. Scripts pilotés par mots clés/données

Dans certains outils de test tels que Robot Framework, les testeurs spécifient les mots-clés pour générer automatiquement un script pour le système testé afin d'effectuer les actions souhaitées.

Une variante similaire à cette approche est l'approche basée sur les données. Le même test se répète plusieurs fois, et à chaque fois avec des valeurs de données ou des opérations utilisateur différentes. Par exemple, acheter différents articles à chaque fois avec différentes options, puis analyser les résultats.

Un tableau du testeur, dans ce cas, sera fourni spécifiant l'ensemble complexe de tests avec les opérations et les données respectives.

Le principal avantage de ce type de génération de script de test est qu'il n'est pas nécessaire de simuler les opérations de l'utilisateur à plusieurs reprises pour chaque script de test. Au lieu de cela, ils sont définis à un seul endroit pour que le testeur les utilise dans plusieurs scripts de test.

Considérons une Exemple de paiement en utilisant l'option de paiement par carte de débit :

Le mot-clé checkout spécifie que le script doit accéder à la page du panier et permettre à l'utilisateur d'entrer les détails de paiement. Un développeur écrit ensuite le code pour implémenter cette fonctionnalité. Le tableau fourni par le testeur sera :

Numéro de carte Expiration CVV Nom sur la carte
Entrez les détails du paiement 1234-1234-1234-12342/20***Jean

Le testeur peut également fournir des lignes de texte telles que :

  • Ouvrez la page du panier et cliquez sur l'onglet Détails du paiement.
  • Entrez le numéro de la carte
  • Entrez la date d'expiration de la carte
  • Entrez CVV
  • Entrez le nom sur la carte
  • Accédez à la passerelle de paiement

Un script de test qui sait comment implémenter les lignes de texte ci-dessus sera généré.

La différence entre la simulation et la validation dans cette méthode est :

    Simulation:Cette partie du script peut être facilement gérée par un mot-clé définissant l'action de l'utilisateur.Validation:Cette partie nécessite plusieurs mots clés et valeurs de données attendues pour chaque partie de l'interface utilisateur qui doit être validée. Il n'est pas très difficile pour le testeur de spécifier différents mots clés pour différentes fonctionnalités, mais cela signifie que les testeurs auront des options de validation limitées et devront s'appuyer sur le développement pour ajouter plus d'options.

Comment exécuter un script de test ?

Un testeur ne peut pas produire un script de test générique à exécuter sur n'importe quel système d'automatisation ou transférer les tests d'un système à un autre sans se conformer au cadre de test.

Les frameworks d'automatisation, parfois appelés harnais de test, exécutent des scripts de test.

Ces frameworks (Selenium, Appium, HP QTP et Robot Framework) peuvent prendre un script écrit selon les spécifications et charger l'interface utilisateur, simuler les actions de l'utilisateur sur l'interface et rapporter les résultats.

Pour exécuter les tests, les méthodes suivantes sont utilisées :

    Environnement d'intégration continue :Si les développeurs construisent le logiciel automatiquement à l'aide d'outils tels que Jenkins ou Teamcity, les scripts de test automatiques peuvent être exécutés dans le cadre du processus de construction.

Ainsi, des tests automatisés spécifiques de l'interface utilisateur seront exécutés et rapporteront les résultats de chaque nouvelle version. Il peut être utilisé pour des tests légers comme les tests unitaires.

    Framework basé sur l'interface graphique :Dans un cadre basé sur une interface graphique comme HP UFT, les testeurs peuvent sélectionner les tests dans une liste et cliquer sur un bouton pour les exécuter ou les planifier à différents moments.Cadre basé sur le code :Dans les frameworks basés sur du code, les testeurs ouvrent l'IDE (comme Sélénium) , compilez, puis exécutez-le. Lorsque le code s'exécute, des parties du framework de test s'activent et exécutent les actions requises de l'interface testée.