Cadre d'automatisation des tests : Archistructure et types
โก Rรฉsumรฉ intelligent
L'architecture d'un framework d'automatisation des tests dรฉfinit les normes de codage, la gestion des donnรฉes de test et les rรจgles du rรฉfรฉrentiel d'objets que suivent les scripts d'automatisation. Il en existe cinq types รฉtablis, chacun prรฉsentant un compromis entre l'effort de configuration, la rรฉutilisation, le coรปt de maintenance et l'รฉvolutivitรฉ ร long terme.

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 les abdostract, pour que vous ayez une idรฉe du contenu 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 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 respectรฉes, cela se traduira par un rรฉsultat bรฉnรฉfique comme une rรฉduction de la dรฉsaffection du public.traction pendant les cours, augmentation de la rรฉtention des participants et 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.
Cadre d'automatisation des tests Archistructure : Composants clรฉs
Avant de comparer les types, il est utile de voir ce que contient chaque framework. ArchiLa structure dรฉcrit la maniรจre dont ces parties sont agencรฉes en couches, de sorte qu'une modification d'une couche n'affecte pas les autres.
- Couche de script de test : Contient les cas de test. Les scripts restent courts car ils font appel ร des fonctions rรฉutilisables au lieu de rรฉpรฉter les รฉtapes de navigation.
- Bibliothรจque de fonctions : Enregistre les actions partagรฉes telles que la connexion, la recherche et la dรฉconnexion, de sorte qu'une modification du flux de travail n'est effectuรฉe qu'une seule fois.
- Rรฉfรฉrentiel d'objets : Associe des noms conviviaux ร des localisateurs d'รฉlรฉments d'interface graphique. Lorsque l'interface change, seule cette couche est modifiรฉe.
- Couche de donnรฉes de test : Conserve les valeurs d'entrรฉe et les valeurs attendues dans des sources Excel, CSV ou de bases de donnรฉes plutรดt que dans le code.
- Couche de configuration : Contient l'environnement URLs, choix du navigateur, dรฉlais d'expiration et informations d'identification.
- Couche de reporting : Gรฉnรจre des rapports d'exรฉcution, des captures d'รฉcran des รฉchecs et des journaux de diagnostic.
- Couche d'exรฉcution : Dรฉclenche des suites de tรขches depuis un serveur de compilation, reliant l'automatisation ร intรฉgration continue.
Les types de cadres ci-dessous diffรจrent principalement par la rigueur avec laquelle ils sรฉparent ces couches.
Types de cadres d'automatisation des tests
Vous trouverez ci-dessous les diffรฉrents types de frameworks de tests automatisรฉs :
- Script linรฉaire
- La bibliothรจque de tests ArchiCadre technologique.
- Le axรฉ sur les donnรฉes Tests Cadre.
- Le cadre de test pilotรฉ par mots-clรฉs ou par tableaux.
- 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, tandis que les donnรฉes de test sont sรฉparรฉes et stockรฉes en dehors de ces scripts. Ces donnรฉes sont lues ร partir de fichiers externes (fichiers Excel, texte, CSV, sources ODBC, objets DAO, objets ADO) et chargรฉes dans les variables des scripts de test. Ces variables servent ร la fois aux valeurs d'entrรฉe et aux valeurs de vรฉrification. Les scripts de test sont prรฉparรฉs soit par programmation linรฉaire, soit ร l'aide d'une bibliothรจque de tests. Cette technique est expliquรฉe plus en dรฉtail dans la section suivante. test basรฉ sur les donnรฉes tutoriel.
Exemple : Dรฉvelopperping Le script de connexion ร la rรฉservation de vols utilisant cette mรฉthode comprendra 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 Axรฉ sur les mots clรฉs ou le dรฉveloppement d'un framework d'automatisation pilotรฉ par les tables nรฉcessite des tables 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.
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.
| Sujet | 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 | |
| Fenรชtre (rรฉservation de vol) | Vรฉrifier | Existe |
รtape 2: En รฉcrivant Code sous la 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 โ
| Sujet | 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 | |
| Fenรชtre (Yahoo Mail) | Vรฉrifier | Charges |
Dans ce cas, vous constaterez que les mots clรฉs ยซ Dรฉfinir ยป, ยซ Cliquer ยป et ยซ Vรฉrifier ยป restent inchangรฉs, car les fonctions correspondantes sont dรฉjร dรฉveloppรฉes. Il vous suffit de modifier la carte d'application.ping (Rรฉfรฉrentiel d'objets) de la rรฉservation de vol prรฉcรฉdente vers 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 OpenText UFT One (anciennement Micro Focus) UFTBien que ce framework se prรฉsente comme un framework pilotรฉ par mots-clรฉs, son utilisation ne permet pas d'atteindre une indรฉpendance totale entre les outils de test et les applications.
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: Utilisation des actions dans QTP L'utilisateur 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.
Comment choisir le bon framework d'automatisation des tests
Aucun type de solution n'est systรฉmatiquement gagnant. Le choix optimal dรฉpend des compรฉtences de l'รฉquipe, de la taille de l'application et de la durรฉe de vie requise. Le tableau ci-dessous compare les cinq types de solutions selon les facteurs dรฉterminants.
| Type de cadre | Effort de configuration | Code Rรฉutilisation | Coรปt de maintenance | Idรฉal pour |
|---|---|---|---|---|
| Script linรฉaire | Trรจs faible | Trรจs faible | Trรจs รฉlevรฉ | Dรฉmonstrations et contrรดles de fumรฉe ponctuels |
| Bibliothรจque de tests Architecture | Moyenne | Moyenne | Moyenne | Applications stables avec des flux de travail rรฉpรฉtitifs |
| Axรฉe sur les donnรฉes | Moyenne | Moyenne | Low | Formulaires et calculs nรฉcessitant de nombreux ensembles d'entrรฉes |
| Axรฉ sur les mots clรฉs | Haute | Trรจs รฉlevรฉ | Low | De vastes suites entretenues par des รฉquipes techniques mixtes |
| Hybride | Haute | Trรจs รฉlevรฉ | Low | programmes d'entreprise ร long terme |
Rรฉflรฉchissez ร ces questions avant de vous engager :
- Combien de temps durera la suite ? Des annรฉes de maintenance justifient l'investissement initial รฉlevรฉ d'une conception basรฉe sur des mots-clรฉs ou hybride. Ce n'est pas le cas pour un projet de courte durรฉe.
- Qui rรฉdige les tests ? Si des testeurs manuels contribuent aux cas d'utilisation, un tableau de mots-clรฉs leur permet de travailler sans avoir ร apprendre le langage de script.
- ร quel point l'interface est-elle volatile ? Les changements frรฉquents d'รฉcran rendent indispensable un rรฉfรฉrentiel d'objets sรฉparรฉ, sinon chaque script devra รชtre modifiรฉ.
- Quel degrรฉ de variation des donnรฉes est nรฉcessaire ? De nombreuses combinaisons de donnรฉes d'entrรฉe indiquent clairement une conception axรฉe sur les donnรฉes.
- Quel outil est dรฉjร utilisรฉ ? Le cadre doit correspondre au choix outil d'automatisation et une langue que l'รฉquipe connaรฎt, comme Selenium au Java or Cucumber.
La plupart des รฉquipes commencent par une approche basรฉe sur une bibliothรจque ou sur les donnรฉes, puis รฉvoluent vers un modรจle hybride. rรฉgression La suite s'agrandit.
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.
