Cadre d'automatisation des tests : qu'est-ce que c'est, Archistructure et types

Qu’est-ce que le framework dans les tests d’automatisation ?

A Cadre d'automatisation des tests est un ensemble de lignes directrices telles que les normes de codage, la gestion des données de test, le traitement du référentiel d'objets, etc. qui, lorsqu'elles sont suivies lors des scripts d'automatisation, produisent des résultats bénéfiques tels qu'une réutilisation accrue du code, une portabilité plus élevée, une réduction des coûts de maintenance des scripts, etc. Ce ne sont que des lignes directrices et non règles; ils ne sont pas obligatoires et vous pouvez toujours rédiger un script sans suivre les directives. Mais vous passerez à côté des avantages d’avoir un Framework.

Pourquoi avez-vous besoin d'un framework ?

Prenons un exemple pour comprendre pourquoi vous avez besoin d'un Framework.

Je suis sûr que vous avez assisté à un séminaire/conférence/conférence où les participants ont été invités à respecter les directives suivantes :

  • Les participants doivent occuper leur place 5 minutes avant le début d'une conférence.
  • Apportez un cahier et un stylo pour prendre des notes.
  • Lisez le résumé pour avoir une idée du sujet de la présentation.
  • Les téléphones mobiles doivent être réglés sur silencieux.
  • Utilisez les portes de sortie à l’extrémité opposée de l’orateur si vous devez partir au milieu de la conférence.
  • Les questions seront répondues à la fin de la séance.

Pensez-vous pouvoir animer un séminaire SANS en respectant ces directives👍

La réponse est un grand OUI! Certes, vous pouvez organiser un séminaire/une conférence/une conférence/une démonstration sans les directives ci-dessus. En fait, certains d'entre nous ne les suivront pas même si elles sont présentées !

Mais si les directives sont suivies, cela entraînera des résultats bénéfiques tels qu'une réduction de la distraction du public pendant les cours, une fidélisation accrue des participants et une meilleure compréhension du sujet.

Sur la base de ce qui précède, un Le cadre peut être défini comme un ensemble de lignes directrices qui, lorsqu’elles sont suivies, produisent des résultats bénéfiques.

Types de cadres d'automatisation des tests

Vous trouverez ci-dessous les différents types de frameworks de tests automatisés :

  • 1) Script linéaire
  • 2) La bibliothèque de tests ArchiCadre technologique.
  • 3) Le système basé sur les données Contrôle de qualité Cadre.
  • 4) Le cadre de test piloté par mots-clés ou piloté par table.
  • 5) Le cadre d'automatisation des tests hybrides.

Regardons-les en détail –

1) Script linéaire – Enregistrement et lecture

Il s'agit du plus simple de tous les frameworks d'automatisation des tests et également connu sous le nom de « Enregistrement et lecture ». Dans ce Tests d'automatisation Framework, le testeur enregistre manuellement chaque étape (navigation et entrées utilisateur), insère des points de contrôle (étapes de validation) au premier tour. Il lit ensuite le script enregistré lors des tours suivants.

Mise en situation : Pensez à vous connecter Demande de réservation de vol et vérifier si l'application s'est chargée lors d'une connexion réussie. Ici, le testeur enregistrera simplement les étapes et ajoutera des étapes de validation.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

Avantages

  • Le moyen le plus rapide de générer un script
  • Expertise en automatisation non requise
  • Le moyen le plus simple d'apprendre les fonctionnalités de l'outil de test

Désavantages

  • Peu de réutilisation des scripts
  • Les données de test sont codées en dur dans le script
  • Cauchemar de maintenance

2) La bibliothèque de tests ArchiCadre technique

On l'appelle aussi « Scripts structurés » or « Décomposition fonctionnelle ».

Dans ce framework de tests d'automatisation, les scripts de test sont initialement enregistrés par «Enregistrement et lecture" méthode. Later, les tâches courantes à l'intérieur des scripts sont identifiées et regroupées en fonctions. Ces fonctions sont appelées par le script de test principal appelé Chauffeur de différentes manières pour créer des cas de test.

Mise en situation : En utilisant le même exemple que ci-dessus, la fonction de connexion à Flight Reservation ressemblera à .

Function Login()
SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
End Function

Maintenant, vous appellerez cette fonction dans le script principal comme suit

Call Login()
---------------------------
Other Function calls / Test Steps.
---------------------------

Avantages

  • Un niveau plus élevé de réutilisation du code est atteint dans les scripts structurés par rapport à « enregistrement et lecture »
  • Les scripts d'automatisation sont moins coûteux à développer en raison d'une plus grande réutilisation du code
  • Maintenance des scripts plus facile

Désavantages

  • Une expertise technique est nécessaire pour écrire des scripts à l'aide de Test Library Framework
  • Il faut plus de temps pour planifier et préparer les scripts de test.
  • Les données de test sont codées en dur dans les scripts

3) Le cadre de tests basés sur les données

Dans ce cadre, alors que Cas de test la logique réside dans les scripts de test, les données de test sont séparées et conservées en dehors des scripts de test. Les données de test sont lues à partir des fichiers externes (fichiers Excel, fichiers texte, fichiers CSV, sources ODBC, objets DAO, objets ADO) et sont chargées dans les variables à l'intérieur du script de test. Les variables sont utilisées à la fois pour les valeurs d'entrée et pour les valeurs de vérification. Les scripts de test eux-mêmes sont préparés à l'aide de scripts linéaires ou de Test Library Framework.

Mise en situation : Le développement du script de connexion pour la réservation de vol à l'aide de cette méthode impliquera deux étapes.

Étape 1) Créez un fichier Test – Données qui peut être Excel, CSV ou toute autre source de base de données.

Nom d'agent Mot de Passe
Jimmy Mercury
Tina MERCURY
Bill Mercure

Étape 2) Développez un script de test et faites des références à votre source de données de test.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
**Note "dtGlobalSheet" is the default excel sheet provided by QTP.

Avantages

  • Les modifications apportées aux scripts de test n'affectent pas les données de test
  • Les cas de test peuvent être exécutés avec plusieurs ensembles de données
  • Une variété de scénarios de test peuvent être exécutés en faisant simplement varier les données de test dans le fichier de données externe.

Désavantages

  • Plus de temps est nécessaire pour planifier et préparer à la fois les scripts de test et les données de test.

4) Le cadre de test piloté par mots-clés ou piloté par table

Le développement d'un cadre d'automatisation piloté par mots-clés ou par table nécessite des tableaux de données et des mots-clés, indépendant du outil d'automatisation de test utilisé pour les exécuter. Les tests peuvent être conçus avec ou sans l'application. Dans un test basé sur des mots clés, la fonctionnalité de l'application testée est documentée dans un tableau ainsi que dans des instructions étape par étape pour chaque test.

Il existe 3 composants de base d'un framework basé sur les mots clés, à savoir. Mot-clé, carte d'application, fonction du composant.

Qu'est-ce qu'un mot-clé ?

Le mot clé est une action qui peut être effectuée sur un composant GUI. Ex. Pour la zone de texte du composant GUI, certains mots-clés (action) seraient InputText, VerifyValue, VerifyProperty, etc.

Qu'est-ce que la carte des candidatures ?

Une carte d'application fournit des références nommées pour les composants de l'interface graphique. Les cartes d'application ne sont rien d'autre que «Référentiel d'objets"

Qu'est-ce que la fonction des composants ?

Les fonctions de composant sont les fonctions qui manipulent ou interrogent activement le composant GUI. Un exemple de fonction serait de cliquer sur le bouton Web avec toute la gestion des erreurs, de saisir des données dans une édition Web avec toute la gestion des erreurs. Les fonctions des composants peuvent dépendre de l'application ou être indépendantes.

Exemple: Pour comprendre la vue par mot-clé, prenons le même exemple. Cela implique 2 étapes

Étape 1: Création d'une table de données (différente de la table de données de test créée dans Data Driven Framework). Cette table de données contient l'action à effectuer sur les objets GUI et les arguments correspondants, le cas échéant. Chaque ligne représente une étape de test.

Objet Action
(Application CARTE) (MOTS CLÉS) Argument
WinEdit (nom de l'agent) Ensemble Guru99
WinEdit (Mot de passe) Ensemble Mercury
Bouton Win (OK) Cliquer sur
Fenêtre (réservation de vol) Vérifier Existe


Étape 2: Ecriture de Code sous forme de Fonctions Composantes.

Une fois que vous avez créé votre ou vos tables de données, il vous suffit d'écrire un programme ou un ensemble de scripts qui lit chaque étape, exécute l'étape en fonction du mot-clé contenu dans le champ Action, effectue une vérification des erreurs et enregistre toutes les informations pertinentes. Ce programme ou ensemble de scripts ressemblerait au pseudo-code ci-dessous :

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
    while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
    {
      Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99).
    }
  }
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

C’est tout pour Keyword Driven Framework.

L’avantage du Keyword Driven Framework est que les mots-clés sont réutilisables. Pour comprendre cela, considérez que vous souhaitez vérifier l'opération de connexion à un site Web, par exemple YAHOO MAIL. Le tableau ressemblera à ceci –

Objet Action
(CARTE DES APPLICATIONS) (MOT-CLÉ) Argument
WebEdit (Nom d'utilisateur) Ensemble abc@yahoo.com
WebEdit (Mot de passe) Ensemble xxxxx
Bouton Web (OK) Cliquer sur
Fenêtre (Yahoo Mail) Vérifier Charges

Si vous observez dans ce cas les mots-clés Ensemble, Cliquez, Vérifiez restent les mêmes pour lesquels les fonctions des composants correspondants sont déjà développées. Tout ce que vous avez à faire est de modifier le mappage d'application (référentiel d'objets) d'une réservation de vol antérieure à Yahoo. Mail , avec un changement dans les valeurs des arguments et le même script fonctionnera !

Avantages

  • Fournit une réutilisation élevée du code
  • Outil de test indépendant
  • Indépendamment de l'application testée, le même script fonctionne pour AUT (avec quelques limitations)
  • Les tests peuvent être conçus avec ou sans AUT

Désavantages

  • L'investissement initial étant assez élevé, les avantages ne peuvent être réalisés que si l'application est considérablement volumineuse et si les scripts de test doivent être maintenus pendant plusieurs années.
  • Une expertise élevée en automatisation est requise pour créer le cadre axé sur les mots clés.

NOTE: Même si Micro Focus UFT se présente comme KeyWord Driven Framework, vous ne pouvez pas obtenir une indépendance complète en matière d'outils de test et d'applications à l'aide de HP UFT.

5) Le cadre d'automatisation des tests hybrides

Comme son nom l'indique, ce cadre est la combinaison d'un ou plusieurs cadres d'automatisation évoqués ci-dessus tirant parti de leurs points forts et essayant d'atténuer leurs faiblesses. Le cadre d'automatisation de l'assurance qualité des tests hybrides est ce vers quoi la plupart des cadres d'automatisation des tests évoluent au fil du temps et de plusieurs projets. L'industrie maximale utilise Keyword Framework dans une combinaison de méthodes de décomposition de fonctions.

PS: D'autres cadres d'automatisation qui méritent d'être mentionnés sont

Cadre de modularité des tests

Dans ce cadre, une tâche courante dans le script de test est regroupée en modules.

Exemple : L'utilisation d'actions dans QTP peut créer des scripts modulaires

Exemple de script pour la connexion

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

Vous pouvez maintenant appeler cette action dans le script principal comme suit :

RunAction ("Login[Argument]", oneIteration)

Tests de processus métier (BPT)

Ces cadres d'automatisation divisent les grands processus métier en composants qui peuvent être réutilisés plusieurs fois dans le même ou dans des scripts de test différents. Par exemple, le processus métier de réservation d'un vol est divisé en composants tels que la connexion, la recherche de vols, la réservation, le paiement et la déconnexion qui peuvent être réutilisés dans le même processus métier ou dans différents processus. En outre, BPT facilite une coordination plus étroite entre les PME et les ingénieurs en automatisation.

Avantages du cadre d'automatisation des tests Architecture

Voici les avantages de l’architecture du cadre d’automatisation des tests :

  • Un cadre d'automatisation des tests permet de réduire les risques et les coûts
  • Il améliore l’efficacité des tests
  • Cela aide à réduire les coûts de maintenance
  • Permet la réutilisation du code
  • Il permet d'obtenir une couverture de test maximale
  • Il maximise la fonctionnalité de l'application
  • Aide à réduire la duplication des scénarios de test
  • Il contribue à améliorer l'efficacité et les performances des tests grâce à l'automatisation des tests.

Résumé

  • Un framework est un ensemble de directives telles que les normes de codage, la gestion des données de test, le traitement du référentiel d'objets, etc. qui, lorsqu'elles sont suivies lors des scripts d'automatisation, produisent des résultats bénéfiques tels qu'une réutilisation accrue du code, une portabilité plus élevée, une réduction des coûts de maintenance des scripts, etc.
  • Le script linéaire est le plus simple de tous les frameworks d'automatisation et est également connu sous le nom d'« enregistrement et lecture ».
  • Bibliothèque de tests Architecture Framework est également connu sous le nom de « Script structuré » ou « Décomposition fonctionnelle ».
  • Dans Data-Driven Testing Framework, la logique du scénario de test réside dans les scripts de test et les données de test sont séparées et conservées en dehors des scripts de test.
  • Le framework Keyword-Driven ou Table-Driven nécessite le développement de tableaux de données et de mots-clés, indépendamment de l'outil d'automatisation des tests utilisé pour les exécuter.
  • Le framework d'automatisation hybride est ce vers quoi la plupart des frameworks d'automatisation de tests évoluent au fil du temps et de plusieurs projets.