12. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 11 Il est possible de différencier les thèmes à recetter sur une application, notamment quand plusieurs collaborateurs sont en charge de la recette. Ainsi il est assez facile de séparer l’IHM1 , des requêtes sur la base de données ou encore des appels aux web services… Au cours de la recette, la MOA se doit d’être informée au mieux de la situation. Elle est très souvent sollicitée par les différents acteurs pour connaitre l’état de l’avancement, ce qui est terminé, ce qui est validé ou non, etc… Ainsi, pour être en mesure de répondre au mieux, la MOA réalise un suivi d’avancement de la recette. C’est un principe très précis et qui ne doit pas être fait « approximativement ». Pour chaque scénario existant, il existe plusieurs états que l’on peut définir comme suit : - RAF : reste à faire, le scénario n’a pas encore été testé - KO : scénario exécuté et non valide (une fiche d’anomalie lui est associé) - OK : scénario exécuté et validé - NT/Abandon : scénario abandonné car non testable Ces états permettent de réaliser une synthèse sur la totalité des scénarios. Il est alors possible de suivre quotidiennement l’avancement sur un thème en particulier ou sur la globalité. De multiples calculs et tableaux croisés peuvent être générés pour répondre aux différentes questions des acteurs, mais aussi pour gérer au mieux le temps et les ressources. [Annexe 2] En effet, le nombre total de test à réaliser au cours de la recette a été défini lors de la préparation de recette. Le nombre total a ensuite été divisé par le nombre de jours/semaines disponible afin d’obtenir une courbe idéale. Celle-ci permet d’avoir un point d’accroche et de suivi pour les différents chefs de projets. Cela a pour but d’éviter des retards sur le déroulement : on fait apparaitre sur le graphique les courbes de tests validés et les tests réalisés. [Annexe 3] 1 Interface Homme Machine
La phase de "Setup" permet d'ajouter des actions préalables à la sollicitation du SUT, permettant ainsi de préparer l'environnement d'exécution du test. Par exemple, il peut s'agir d'injecter un jeu de donnée dans la base de donnée du SUT ou de déposer un fichier en entrée d'un batch. Cela permet de s'assurer que le test se déroulera dans des conditions maîtrisées et donc reproductibles, conditions indispensables pour industrialiser l'exécution de ses tests.
PhantomJS va nous servir de "Web-Driver" et cela sera là son unique utilité. De quoi s'agit-il ? Afin que Python puisse interagir avec le navigateur Web (Chrome, Firefox ou autres), de la même manière que la communication avec une base de données, il nous faut un driver (pilote). C'est là qu'intervient le Web Driver, il permet la communication entre le navigateur Web et notre script Python. De base, Selenium peut utiliser différents drivers pour différents navigateurs (Chrome, Firefox, Opéra) mais ce qui nous intéresse, ce n'est pas d'ouvrir un navigateur mais d'avoir un navigateur headless (sans interface graphique, uniquement en ligne de commandes). C'est là qu'intervient PhantomJS, qui fournit lui-même son Web Driver. L'utilité c'est donc la rapidité d'exécution par rapport aux navigateurs classiques.
Chez Quoly nous croyons que le succès d’une stratégie numérique passe par la préparation, l’exécution et le suivi. Nous sommes des entrepreneurs, nous connaissons donc vos défis et vos attentes en tant que gestionnaire ou propriétaire d’entreprise. Nous mesurons les résultats pour maximiser votre investissement en temps et en argent. Nous vous offrons une solution globale et qui a fait ses preuves.
Aujourd’hui, de nombreux automates de tests sont disponibles sur le marché. Qu’ils soient open source ou développés par des majors, chacun dispose de points forts. En France, les plus utilisés sont TestComplete, Quick Test Pro et Selenium. L’un de leurs points communs est qu’il sont tous les trois compatibles avec la plateforme de génération de tests automatisés kaliosTest.
C'est peut être toujours pas très claire donc je vais vous donné un exemple ! Sur facebook il y a souvent des groupes de revente de place de concert (quand les événements sont complet par exemple), le seul soucis c'est qu'a moins d’être derrière son ordi toute la journée généralement quand quelqu'un vend sa place 5 min après elle est déjà vendu et t'es passé sous le nez ... 

Les outils d’automatisation de test ont des fonctions variées. Les tests unitaires automatisés sont des vérifications codées qui valident un comportement spécifique dans une petite section du système. Les tests d’intégration, eux, valident les comportements entre composants, et sont la plupart du temps écrits par les développeurs. Les tests fonctionnels valident une partie du fonctionnement du système, comme par exemple : « puis-je créer un nouveau contact ? » Puis-je exécuter le traitement de la paie ? » Les outils d’automatisation de test supportent par ailleurs performance, charge, sécurité, accessibilité, supervision de la production, ainsi que d’autres tests.
WebDriver est basé sur un modèle client-serveur. Un client de test envoie des "commandes" via des requêtes HTTP à un serveur WebDriver après initialisation d'une session. Ce dernier distribue les commandes auprès des drivers des navigateurs concernés. Ces drivers exécutent les commandes sur les navigateurs en question via des mécanismes d'automatisation interne, de l'OS ou du JS. C'est en réalité plus compliqué que cela, car ces drivers peuvent eux-même être des serveurs WebDriver (Internet Explorer), communiquer via des web sockets (Safari), etc. Le driver n'est pas nécessairement un binaire, les drivers de Firefox et de Safari sont des extensions du navigateur par exemple.
En indiquant votre adresse e-mail, vous consentez à recevoir, par mail notre newsletter ainsi que des informations sur nos services. Vos données sont destinées à Clever Age. Ces données ne feront pas l'objet d'un autre traitement que celui mentionné. Conformément à la règlementation applicable, vous disposez d’un droit d’accès, de rectification et d’opposition aux informations vous concernant. Pour plus d’informations sur le traitement de vos données, cliquez ici
Dans cet article je vais vous présenter une librairie en Python qui permet d'automatiser des actions sur un navigateur web. A la fin de cet article vous serez en mesure d'ouvrir et de fermer une page web, de localiser des éléments présents dans la page, de remplir des formulaires, de vous déplacer dans la page et dans le site avec les clics, d'utiliser certaines options de navigation du navigateur (suivant/précédent), récupérer l’adresse de la page sur laquelle on se trouve (utile si on se déplace dans le site web) et même de faire des screenshots de la page que vous voyez.
Enfin, la dernière étape est l'installation de PhantomJS. Si vous êtes sur MAC OS X ou Linux, la commande "brew install phantomjs" permettra simplement de l'installer et de pouvoir l'utiliser. Si vous êtes sous Windows, il faudra placer PhantomJS.exe dans le dossier de votre interpréteur Python. Pour cela rendez-vous à l'adresse http://phantomjs.org/download.html pour téléchargez l'archive .ZIP et extrayez-en l'exécutable à la racine de Python.
16. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 15 C. Les logiciels de suivi d’anomalie Lorsqu’un bogue est découvert sur l’application testée, une fiche d’anomalie doit être écrite afin que l’équipe de développement puisse corriger le problème. Ce rapport n’est généralement pas fait « à la main » sans une norme spécifique. Il existe des logiciels de suivi d’anomalie, qui ont tous le même principe de base : écrire une fiche de bogue. C’est pourquoi je fonderai mes explications sur le logiciel Mantis, utilisé dans mon service, et citerai d’autres logiciels. 1) Un logiciel open source : MantisBT. Mantis Bug Tracker est basé sur une interface Web et facile à prendre en main pour un novice. Il est écrit en PHP et nécessite une base de données (exemple : MySQL, SQL Server) supportées par un serveur web (par exemple : Apache). Cet outil est open source et personnalisable : c’est pourquoi il est largement utilisé dans le monde professionnel. C’est un outil très adapté pour la déclaration d’anomalies et leur suivi : lorsqu’un bogue est découvert, une fiche est créée dans l’outil. Cette fiche regroupe les informations essentielles pour que l’équipe de développement puisse traiter la fiche au mieux. On retrouve dans cette fiche les informations suivantes :  Projet associé (paramétrable par l’administrateur)  Lot associé / Version du produit (paramétrables)  Sévérité et Priorité : ces critères sont les plus importants car ils permettent de traiter les bogues bloquants et urgents dès leur soumission.  Résumé de la fiche : généralement soumis à une normalisation pour une meilleure organisation des équipes.  Description du problème : c’est ici que l’on indique la description du bogue rencontré ainsi que des étapes à réaliser pour reproduire le problème.  Fichier joints : des captures d’écrans sont appréciées car elles permettent de montrer le bogue rencontré sur son propre écran.  Commentaires : il est possible pour un utilisateur d’ajouter un ou plusieurs commentaires à la fiche. Il existe bien évidemment, d’autres champs qui sont paramétrables par l’administrateur, en fonction de la demande et des besoins. Lorsque qu’une fiche est envoyée à l’équipe de développement, celle-ci se charge alors de reproduire et corriger l’anomalie. Ainsi, une fiche possède un état qui indique sa situation : ouverte, résolue, fermée… ces états sont également paramétrables. Cela permet, sur l’écran de synthèse, d’avoir une vue globale sur les anomalies traitées ou non. Il est possible de trier par domaine, priorité, sévérité… et autres filtres.
Le test continu, grâce à l’automatisation, s’intègre dans le processus  de développement et de distribution des logiciels afin d’obtenir le plus rapidement possible des retours sur les risques associés à chaque nouvelle version. L’implémentation de tests automatisés  permet de faire face à la complexité et au rythme accrus de développement et de livraison d’applications.
                                                                                                                                                                                                                                                                                                                                                                                 
Une fois ces étapes réalisées, vous disposerez de la configuration de base afin de pouvoir commencer à travailler sur vos scripts. Voici ci-dessous où PhantomJS doit être localisé si vous travaillez sous Windows, ce screenshot vous montre également à quoi doit ressembler votre environnement de travail. On voit le dossier "selenium" installé donc tout est prêt.
×