« Home « Kết quả tìm kiếm

Concevoir et développer un système automatisé pour tester Flamingo XL


Tóm tắt Xem thử

- Afin de tester un logiciel, nous avons diff´ erents m´ ethodes comme le test uni- taire, le test d’int´ egration, etc.
- Comme le test dans la fa¸con d’humain peut avoir des erreurs et prend beaucoup de temps, pour cette raison le test d’automatisation du web a ´ et´ e d´ evelopp´ e..
- Dans ce travail, nous avons le but de cr´ eer des scripts pour le test d’automati- sation du web sur le produit Flamingo XL d’Anevia.
- En plus, le nombre du scripts r´ eussis dois ˆ etre au minimal de 80% des cas de test total..
- 2.5 Test d’automatisation.
- 3.3 Exemple de la biblioth` eque utilis´ e dans le projet.
- Normalement, le test d’application Web se fait par les humains.
- En cons´ equence, il y a une forte possibilit´ e qu’ils fassent des erreurs ou ne respectent pas l’enchaˆınement des ´ etapes de test.
- Pour ces raisons, l’utilisation de test d’automatisation est d´ evelopp´ e.
- Pour assurer la qualit´ e du Flamingo XL, le test d’automatisation est adapt´ e dans le projet.
- principal qui g` ere l’ex´ ecution du test d’automatisation, et le Selenium-RC fonctionne comme un sonde permettant de lancer le test sur l’application Web..
- Compr´ ehension du produit : Pour mieux comprendre et d´ evelopper les scripts de test d’automatisation, nous devons bien comprendre les fonction- nalit´ es et les services fournit par le produit sous test..
- V´ erification des cas de test : Apr` es avoir bien compris le produit, nous devons v´ erifier les cas de test reli´ es avec ce produit.
- Comme il existe plusieurs version de produit, donc nous devons valider les ´ etapes dans les cas de test en raison d’assurer la coh´ erence entre le produit sous test et les cas de test utilis´ es..
- S’il y a beaucoup de diff´ erent, il faut mettre ` a jour les cas de test..
- Conception de la structure du codage : Pour que le codage du projet sera bien saisi par tout le monde dans l’´ equipe, il est n´ ecessaire de concevoir la structure des biblioth` eques et des scripts de test.
- D´ eveloppement des biblioth` eques et des scripts de test d’automatisa- tion : Nous devons d´ evelopper les biblioth` eques en Python avant de les d´ eployer dans les scripts de test d’automatisation..
- L’objectif g´ en´ eral du projet est de transformer le cas de test du Flamingo XL environ 80.
- a utiliser les scripts du test d’automatisation.
- Parfois, nous ne pouvons pas transformer le cas de test en script parce qu’il pourra provoquer des probl` emes, par exemple : on peut simuler la rupture de la connexion avec la commande ”sudo ifconfig eth0 down”, mais cette commande peut inciter un probl` eme de connexion sur le serveur.
- Donc, il faut ´ eviter de transf´ erer le cas de test comme ¸ca en script..
- Dans cette partie, nous d´ ecrivons les informations reli´ ee au test d’automatisa- tion dans le domaine du streaming.
- Qua- tri` emement, on pr´ esente l’outil principal du projet qui nous permet de faire le test d’automatisation, le Testerman.
- Figure 2.6: Tableau de l’Acc` es Conditionnel (CAT).
- Le mˆ eme cas de test peut ˆ etre ex´ ecut´ e dans des environnements bien diff´ erents.
- Des adaptateurs servent d’interm´ ediaire entre le script de test abstrait et le SUT.
- Il a ´ et´ e employ´ e pour le d´ eveloppement de test de conformit´ e dans des domaines diff´ erents comme VoIP, IPv6, Digital Mobile Radio, WiMax, LTE, etc.
- Il est peut-ˆ etre utilis´ e comme une plate-forme pour d´ evelopper des simulateurs de test (pilotes et stubs) et des prototypes d’applications de r´ eseau.
- Testerman a ´ et´ e con¸cu pour ˆ etre multi-utilisateur (client-serveur) avec un d´ epˆ ot centralis´ e des cas de test.
- Il est adaptable ` a la plupart des topologies SUT, les contraintes de r´ eseau, et extensible (adaptateurs de test/syst` eme peuvent ˆ etre.
- une multi-plate-forme : nomm´ e QTesterman qui fournit un IDE pour concevoir, ex´ ecuter, contrˆ oler et analyser les suites de test..
- Le serveur Testerman : un front-end pour les clients qui est responsables de la cr´ eation, de l’ex´ ecution et de contrˆ ole de test ex´ ecutables (TE) d’une source ATS ´ ecrit par l’utilisateur.
- Une ”probe” est le mot pour appeler un adaptateur de test (un adaptateur syst` eme).
- Cependant, une fois d´ eploy´ e, un agent peut ˆ etre utilis´ e par n’importe quel TE, afin de d´ eployer dynamiquement n’importe quel nombre de sondes en fonction de sa configuration d’adaptateur de test d´ efinie..
- Dans le domaine des.
- Le test manuel et le test d’automatisation.
- Les diff´ erences entre le test manuel et le test d’automatisation sont d´ ecrits dans le tableau suivant.
- Test manuel Test d’automatisation.
- Pour tester ces applications, nous pouvons utiliser des outils de test d’auto- matisation afin de minimiser le coˆ ut et le temps.
- Dans [12] montre qu’il existe plusieurs outils de test d’automatisation et dans [14] repr´ esente des r´ esultats de performances de 2 outils int´ eressants : Selenium et Watir..
- ”Selenium” est un des outils open-source pour les tests d’automatisation qui fournit un framework de test pour tester une vari´ et´ e d’applications dans presque toutes les langages.
- Son principale caract´ eristique est l’ex´ ecution de cas de test sur multi-navigateur.
- S´ el´ enium Web Driver, qui prend en charge tous les navigateurs pour l’ex´ ecution de test..
- Capacit´ e d’enregistrement : d´ efinit l’efficacit´ e de l’outil dans le terme de la capacit´ e d’enregistrement des cas de test..
- Facilit´ e d’apprentissage : la facilit´ e de la compr´ ehension du fonctionnement des logiciels de test est v´ erifi´ ee sur la base de 3 param` etres .
- Rapport de test : est pr´ esent´ e dans un format bien structur´ e o` u nous nous sommes en mesure de comprendre ce que l’outil de test veut illustrer..
- Premi` erement, la capacit´ e d’enregistrement, le Selenium est plus efficace que le Watir parce qu’il soutien plusieurs fonctions sans avoir recours ` a d’autre plugin.
- En plus, le Testerman est disponible pour le Python donc le Selenium est l’outil de bon choix pour d´ evelopper le test d’automatisation..
- Ce stage a pour but de d´ evelopper les scripts de cas de test pour pouvoir les utiliser avec les outils de tests d’automatisation.
- La cr´ eation de nouveau scripts afin de tester de nouveau cas de test ne pose aucun probl` eme.
- Pourtant, le probl` eme de l’utilisation seulement de script ATS est apparaˆıt, s’il y a des changements de l’interface de l’application Web ou dans le syst` eme sous test (SUT) dans les cas de test existant.
- Dans la figure 3.1, vous pouvez voir qu’il y a 5 cat´ egories de services de Fla- mingo XL.
- Concernant le langage sp´ ecifique utilis´ e dans ce projet est le Python, nous de- vons v´ erifier s’il est d´ ej` a install´ e dans le syst` eme d’exploitation utilis´ e.
- Il existe 8 types de localisateur d’´ el´ ement dans le Selenium : 1.
- Cependant, il y a une possibilit´ e qu’il existe plusieurs ´ el´ ements ayant le mˆ eme nom de l’attribut ”name”.
- Commandes dans le Selenium-RC.
- Elle simule la mˆ eme action d’actualisation que celle de l’utilisateur lorsqu’il clique sur le bouton.
- La commande ”close” est utilis´ ee pour simuler l’action de l’utilisateur lorsqu’il clique sur le bouton ”Fermer” dans la barre de titre d’une fenˆ etre ou un onglet..
- Figure 3.3: Exemple de la biblioth` eque utilis´ e dans le projet.
- Ces scripts sont utilis´ es pour le test d’automatisation.
- La figure 3.4 montre les ´ etapes du d´ eveloppement des biblioth` eques et des scripts ATS pour le test d’automatisation.
- V´ erifier le cas de test : Tout d’abord, nous devons v´ erifier si le cas de test utilise le type d’exigence g´ en´ eral ou sp´ ecifique.
- S’il utilise l’exigence sp´ ecifique, nous passons ` a l’autre cas de test.
- Comme nous avons dit au paravent, que les produits d’Anevia partagent quelques fonctions entre eux, donc nous devons chercher s’il y a une biblioth` eque qui existe pour la fonction dans le cas de test..
- Valider les ´ etapes : Supposons qu’il existe d´ ej` a la biblioth` eque pour l’ac- tion dans le cas de test, nous devons valider si les ´ etapes ou les localisateurs d’´ el´ ements dans la biblioth` eque sont correctes.
- S’ils se corres- pondent, nous pouvons commencer ` a ´ ecrire le script ATS de ce cas de test..
- eque : Dans la premi` ere ´ etape, nous ´ ecrivons le nouveau biblioth` eque lorsqu’il n’existe pas encore.
- Apr` es la cr´ eation, c’est n´ ecessaire de rev´ erifier les ´ etapes du cas de test afin d’avoir la confiance que le biblioth` eque est bien suivi les ordres de l’action..
- V´ erifier le script ATS : Comme il y a le partage de fonctions entre les produits d’Anevia, alors il y a parfois le partage de cas de test.
- Apr` es avoir v´ erifi´ e qu’il n’y y a pas encore de script ATS pour le cas de test, nous cr´ eons un nouveau en utilisant la biblioth` eque qu’on a cr´ e´ e ou celle qui existe d´ ej` a..
- Si le r´ esultat est ”fail”, il y aura le message d’erreur dans le journal de l’ex´ ecution de Qtesterman.
- En plus, il faut que nous mettons ` a jour la biblioth` eque ou le script ATS pour qu’on puisse valider le cas de test..
- Comme nous ne pouvons pas montrer les informations du projet, donc nous avons fait quelques fonctions du test d’automatisation avec le site IFI-Formation ` a distance.
- L’objectif du projet est de transformer 80% des cas de test aux scripts ATS.
- Le nombre total de cas de test du Flamingo XL est 139, donc 80% de ce nombre est 112.
- Comme nous avons expliqu´ e qu’on ne peut pas transformer tous les cas de test en script ` a cause de son exigence ou son ´ etape qui peut influencer l’erreur, nous avons enlev´ e 50 des cas de test (45 des cas de test doivent ˆ etre tester ` a la main et 5 des cas de test ne peuvent pas tester parce qu’il n’existe pas de fonctions ` a tester dans la version actuelle de Flamingo XL).
- Par cons´ equent, le nombre total de cas de test qu’on peut transformer en script devient 89, alors le minimal de script est 72 des cas de test..
- Pourtant, l’avantage de processus du test d’automatisation est d’ex´ ecuter un ensemble de test par une seule commande d’ex´ ecution.
- contraire, les scripts des ”Streaming Settings” et ”Web Radio” ont beaucoup de cas de test ´ echou´ es..
- En cons´ equence, nous pouvons dire qu’on a besoin pas mal de d´ ebit afin de valider les cas de test sur la diffusion de la vid´ eo.
- pourcentage de test sont pass´ e, donc nous devons valider le reste de 34 pourcentage.
- Normalement, pour faire les cas de test d’environ 90 cas de test, ¸ca prend environ 4 homme-jour (manday).
- Appliquant le test d’automatisation,ce travail prend environ 2 homme-jour : un demi-jour pour l’ex´ ecution de test d’automatisation et le reste pour valider les cas de test ´ echou´ e ` a la main.
- Ce r´ esultat montre que l’utilisation de test d’automatisation peut diminuer le temps pour tester l’application Web.
- Afin de r´ eussir ce projet, nous avons ´ ecrit des biblioth` eques sur les services de Flamingo XL et 89 scripts ATS pour les cas de test.
- Dans ce projet, nous avons appris le test d’automatisation en utilisant les outils Testerman et Selenium-RC.
- Nous trouvons qu’on peut ´ ecrire des scripts de test en diff´ erents langages par l’utilisation de Selenium-IDE.
- Par contre, nous ne pouvons pas les ex´ ecuter comme un ensemble de test.
- Nous trouvons que le Testerman est un outil qui permet de d´ evelopper des scripts de test d’automatisation sur plusieurs types du SUT.
- Pourtant, le langage disponible pour d´ evelopper des scripts du test d’automatisation avec Testerman est seulement le Python.
- Apr` es avoir re¸cu le r´ esultat, nous d´ eduisons que cette ver- sion de Selenium prend moins de temps pendant l’ex´ ecution parce qu’il n’attend pas que la page Web soit charg´ e compl` etement afin de continuer ` a lancer la commande qui est suivant de la charg´ e une page Web.
- Concernant le temps pour d´ evelopper les biblioth` eques et les scripts ATS, nous pensons que le test d’automatisation n’est pas toujours bien pour tester une application Web.
- Autrement dit que l’utilisation du test d’automatisation sur l’application Web est bien pour des sites web qui ont plusieurs versions et tous sont bas´ es dans la mˆ eme structure..
- log("%s.%s %s".
- length = len("%s.%s %s".
- self.selenium.send(["waitForPageToLoad", "30000"]).
- <?xml version="1.0".
- <metadata version="1.0">.
- self.selenium.send(["send_keys", "name=username", username]).
- self.selenium.send(["send_keys", "name=password", password])