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

Exemple : 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.

Exemple : 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.

Exemple : 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.

Exlcusion Action
(Application CARTE) (MOTS CLร‰S) Argument
WinEdit (nom de l'agent) complet ยป Guru99
WinEdit (Mot de passe) complet ยป Mercury
Bouton Win (OK) Cliquez ร  nouveau 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 โ€“

Exlcusion Action
(CARTE DES APPLICATIONS) (MOT-CLร‰) Argument
WebEdit (Nom d'utilisateur) complet ยป abc@yahoo.com
WebEdit (Mot de passe) complet ยป xxxxx
Bouton Web (OK) Cliquez ร  nouveau 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.

Rรฉsumez cet article avec :