2. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 1 Table des matières Introduction............................................................................................................................................. 3 I. La phase de recette dans un projet................................................................................................. 4 A. Pourquoi et à quel moment réaliser des tests ? ......................................................................... 4 1) Les différentes méthodes de projet et les différents types de tests. ..................................... 4 2) Pourquoi réaliser des tests ? ................................................................................................... 7 3) A quel moment réaliser ces tests ? ......................................................................................... 7 B. La préparation de recette et les plannings.................................................................................. 8 1) Planning et plan de tests ......................................................................................................... 8 2) Jeux de données et base de données...................................................................................... 9 3) Le cahier de recette................................................................................................................. 9 C. L’exécution de recette et les suivis d’avancement. .................................................................. 10 II. Les outils de recettage................................................................................................................... 12 A. Les logiciels de tests sur PC ....................................................................................................... 12 1) Sélénium................................................................................................................................ 12 2) Quicktest Professional........................................................................................................... 12 3) QAWizard .............................................................................................................................. 13 B. Les logiciels de tests sur mobile ................................................................................................ 13 1) Des tests spécifiques aux mobiles......................................................................................... 13 2) Les outils à disposition : payants........................................................................................... 14 3) Les outils à disposition : gratuits ........................................................................................... 14 C. Les logiciels de suivi d’anomalie................................................................................................ 15 1) Un logiciel open source : MantisBT....................................................................................... 15 2) Des concurrents à MantisBT.................................................................................................. 16 III. Peut-on envisager une totale automatisation des tests ?......................................................... 17 A. Les avantages de l’automatisation............................................................................................ 17 B. Les inconvénients...................................................................................................................... 18 C. La reconnaissance des formes : les CAPTCHA........................................................................... 19 Conclusion ............................................................................................................................................. 21 Annexes................................................................................................................................................. 24
Parmi les frameworks les plus appréciés, on trouve les frameworks « pilotés par les données », où les données de test sont stockées indépendamment de l’outil d’automatisation. L’utilisation et la personnalisation des rapports sont ainsi simplifiées, de même que la maintenabilité des données, et de multiples cas de test peuvent être réalisés sur plusieurs jeux de données en entrée. Toutefois, les coûts initiaux ainsi que ceux de la maintenance peuvent être considérables.
IFTTT est  la référence des outils permettant d’automatiser ses actions sur le web. Mais il n’a pas le monopole : Zapier constitue une alternative efficace. Si vous avez l’habitude d’utiliser IFTTT, vous ne serez pas perdu, car les interfaces sont similaires. Zapier fonctionne de la même manière : vous choisissez un déclencheur et l’action à effectuer lorsque le trigger est activé. Les recettes peuvent être partagées et vous pouvez parcourir celles créées par la communauté. Les services supportés sont très nombreux. Certains sont payants, mais ce ne sont pas les plus utilisés au quotidien : Evernote Business, HubSpot, MySQL, PayPal… Les comptes gratuits sont limités, contrairement à IFTTT : 100 tâches par mois, 5 recettes au maximum et un checking des déclencheurs toutes les 15 minutes uniquement.
Vous pouvez utiliser un mélange de Sélénium et Sikuli. Selenium est vraiment un excellent outil pour l'automatisation du navigateur. Cependant, dans le cas où vous devez utiliser des éléments d'interface utilisateur qui ne sont pas automatisables par Selenium, je recommanderais d'utiliser Sikuli pour C#. Here J'ai trouvé un exemple comment il pourrait ressembler à:
On trouve ensuite le bouton pour lancer la recherche sur Google puis on génère le clic avec la méthode .click(). La page Google va ainsi effectuer la recherche sur le mot clé 'campus booster'. On va cliquer sur le premier résultat à partir de l'ID du lien pour se rendre sur l'interface Campus Booster, puis de la même manière, on va entrer notre ID puis notre mot de passe afin de se connecter à Campus Booster. On a donc pu géré avec Selenium la connexion/l'envoi de formulaire.
Qu’il s’agisse d’une petite tâche ou de quelque chose que peu de spécialistes du marketing veulent réaliser, vous êtes susceptible de rencontrer des centaines de scénarios comme celui-ci. C’est pourquoi Zennoposter est un outil incroyablement puissant. Vous pouvez l’utiliser pour automatiser des petites actions qui sont utiles et productives pour votre activité et pour lesquelles vous ne trouveriez pas de logiciel où alors à des prix prohibitifs.
Chaque action a un bouton vert et rouge que vous pouvez utiliser pour la connecter à d’autres actions. Le bouton vert représente le chemin à suivre si l’action est réussie et le bouton rouge représente le chemin à suivre si l’action échoue. Rendre votre robot Zennoposter à l’épreuve des pannes est possible lorsque vous utilisez pleinement cette fonctionnalité.
Nous avons conçu un framework composite (voir ci-dessous), associant les meilleurs éléments des deux approches –déterminée par mots clés et pilotée par les données. Il assure le stockage des données de test indépendamment de l’outil d’automatisation (en général, dans une feuille Excel), ce qui permet de maintenir et réutiliser les scripts très facilement.

 Zalenium est une extension de Selenium Grid permettant la mise en place locale et dynamique de plateformes de tests en utilisant des conteneurs Docker. Elle utilise Docker Sélénium pour exécuter des tests automatiques sur Firefox et Chrome localement, et redirige vers un fournisseur de tests cloud (Sauce Labs, BrowserStack, TestingBot) lorsqu’un script doit être exécuté sur un navigateur différent
Relay logic was introduced with factory electrification, which underwent rapid adaption from 1900 though the 1920s. Central electric power stations were also undergoing rapid growth and operation of new high pressure boilers, steam turbines and electrical substations created a large demand for instruments and controls. Central control rooms became common in the 1920s, but as late as the early 1930s, most process control was on-off. Operators typically monitored charts drawn by recorders that plotted data from instruments. To make corrections, operators manually opened or closed valves or turned switches on or off. Control rooms also used color coded lights to send signals to workers in the plant to manually make certain changes.[25]
Le test d'intégration est une phase dans les tests, qui est précédée des tests unitaires. C’est le développeur qui s’occupe de les élaborer. Il s’agit de vérifier le bon fonctionnement des différents modules d’un code source et de leurs interactions. Ces test ressemblent beaucoup au tests unitaires. Pour différencier les tests unitaires et les test d’intégration, un test unitaire est fait pour tester un morceau de code ou un module seul, de façon cloisonné, tandis qu’un test d’intégration est fait pour tester l’assemblage et les interaction des mêmes modules.
En fait mon souci est comment arriver à enregistrer des actions sans que ça crée du spam dans le script. Le mieux et le plus simple serait de réutiliser les actions existantes et essayer de "compresser" les évènements autant que possible. En tous cas j'ai fait pas mal de recherches à ce niveau et il y a déjà du code pour enregistrer des évènements, il s'agit maintenant de transformer tout ça en actions.
Online shopping could be considered a form of automated retail as the payment and checkout are through an automated Online transaction processing system, with the share of online retail accounting jumping from 5.1% in 2011 to 8.3% in 2016[citation needed]. However, two-thirds of books, music and films are now purchased online. In addition, automation and online shopping could reduce demands for shopping malls, and retail property, which in America is currently estimated to account for 31% of all commercial property or around 7 billion square feet. Amazon has gained much of the growth in recent years for online shopping, accounting for half of the growth in online retail in 2016.[68] Other forms of automation can also be an integral part of online shopping, for example the deployment of automated warehouse robotics such as that applied by Amazon using Kiva Systems.
Dans le chapitre « Contrôle et commande automatique des procédés »  : […] d'un procédé, réduire l'impact de l'énergie et des matières premières sur le coût de production, le contrôle et l'automatisation s'imposent. Dans une première étape, on a utilisé des régulateurs analogiques à effet proportionnel, intégral et dérivé (P.I.D.) dont les réglages étaient figés. En réalité, pour des raisons très diverses liées à la […] Lire la suite☛ http://www.universalis.fr/encyclopedie/genie-chimique/#i_2513
3. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 2 Remerciements Je tiens à remercier dans un premier temps toute l’équipe pédagogique de l’école HITEMA. Je remercie Jean-Paul DAVID et Aurélien ARRIBEY, sans qui je n’aurais pu effectuer mon alternance chez Groupama Gan Vie. Je tiens à remercier Etienne BONTEMPS et Florence MOUGEL qui m’ont accompagné dans mon travail de tous les jours en m’apportant leur expérience et leurs conseils, leur écoute et leur pédagogie. Je remercie tout particulièrement Jérémy LE HELLOCO, mon tuteur depuis 2014, pour toute son attention et son suivi à mon égard, ses conseils et son expérience au sein de Groupama. Enfin, je remercie toute l’équipe de la MOA Collectives, pour leur écoute et leur soutien tout au long de mon apprentissage.
…the line of code is highlighted in the Firebug console (I added the red box around the ID). The image above reminds us a webpage is organized in a nested, tree-like structure, starting with .document as the root object and branching out from there into smaller objects. This is called the Document Object Model. .getElementById("__") is the go-to tool for grabbing one of those objects from the webpage. With it you can scrape data from a page, as well as writing to a webpage as we’re doing here. Here’s a sneak peak at some other ways we could have found the search box and entered data into it (shown in the order I would have tried them, if an ID was not available).
15. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 14 2) Les outils à disposition : payants Je n’évoquerai ici que quelques outils, car il en existe un grand nombre, tout comme sur PC. TouchTest est un outil de test mobile autonome développé par SOASTA. Il nécessite d'installer un agent dans le code source de l'application, ainsi qu'un client sur le téléphone. SEETEST est un outil développé par EXPERITEST et JAMO est un outil de test mobile développé par JAMO Solution Ces outils n'ont pas besoin que le mobile soit jailbreaké2 ; aussi le même test effectué sur un Android pour une application fonctionnera sur les autres OS supportés (iOS, BlackBerry, Windows Phone). L'outil peut être intégré à QTP, TestComplete, Visual Studio, etc… 3) Les outils à disposition : gratuits MonkeyTalk, appartenant à la société Gorilla Logic, est un outil permettant l'automatisation des tests fonctionnels pour les applications mobile natives et hybrides (iOS et Android). Gratuit, open source, simple à utiliser, efficace, MonkeyTalk ne demande pas que l'appli soit jailbreacké. Appium est un outil open source d'automatisation des tests pour les applications mobile natives et hybrides (iOS et Android), utilisant le WebDriver JSON wire protocol. Appium vise à automatiser n'importe quelle application mobile depuis n'importe quel langage et n'importe quel système de test, avec un accès complet au API back-end et aux bases de données à partir du code test. 2 Jailbreak : débridage d’un appareil mobile tournant sous IOS pour accéder à toutes les fonctionnalités du système d’exploitation.
Maintenant que notre environnement Python, que les bilbiothèques Selenium et PhantomJS ont été installées, et que nous avons eu un aperçu du fonctionnement de chaque "bloc", voici un script qui va reprendre et montrer l'étendue des possibilités dans le scripting de macros sous Python. Ce script va réaliser les actions suivantes : il va se rendre sur le moteur de recherche Google, il va taper le mot clé "Campus Booster" puis effectuer une recherche, il va cliquer sur le premier lien, saisir les identifiants Campus Booster et ainsi se connecter, puis va retourner l'URL de la page une fois connecté ainsi qu'un screenshot, le tout sans quitter la ligne de commande ni ouvrir de navigateur (en vrai, un navigateur s'ouvre de manière invisible, il s'agit du navigateur PhantomJS).

Actionaz est un logiciel libre d'automatisation d'actions. Il vous permet de créer des scripts contenant des actions en utilisant une interface graphique. Plus besoin d'être un développeur pour profiter de l'automatisation sur PC ! Actionaz est disponible sous licence GNU/GPL et est développé en C++ avec l'aide du framework Qt. De ce fait, le logiciel fonctionne sur les systèmes d'exploitation basés sur GNU/Linux ainsi que sous Windows.


Dans son acception moderne, le mot automatisation et ses proches concernent des techniques ou des processus complexes plutôt que des perfectionnements d'appareils simples et courants. Du reste, les réalisations ont largement précédé, en ce domaine, les études théoriques. C'est seulement l'effort industriel suscité par la Seconde Guerre mondiale qui a fourni l'occasion de mettre en place les disciplines de base, à caractère mathématique. Elles s'enrichissent de jour en jour et bénéficient parallèlement des travaux co [...]


28. L’automatisation des tests fonctionnels SIMON Emeline Annexe 3 : Exemple de suivi d’avancement format courbe sur le lot 6 du logiciel IGC, Groupama Gan Vie. Sur cet exemple, le suivi d’avancement est réalisé à partir de quatre types de résultats : prévisionnel, révisé, exécuté, validé. Ces états permettent de situer le point d’avancement des équipes. Les deux schémas représentent le même suivi mais de façon différente : nombre de cas et pourcentage, et tous deux avec TNR (tests de Non régressions) inclus. L’état Prévisionnel est le nombre de tests prévu au départ, l’état « révisé » est le nombre de cas revu à chaque période (on peut dire Ajusté). L’état « exécuté » est le nombre de cas qui ont été testé, qu’ils soient OK ou KO. Enfin l’état « Validé » est le nombre de cas qui sont OK, donc corrects.
Dans le chapitre « La question de fond ou le problème décisionnel »  : […] ont pour origine des erreurs humaines successives qui auraient pu être évitées par une automatisation plus poussée du système en cause, et des exemples opposés où l'automatisation a créé des situations dangereuses qu'on aurait pu éviter par des reprises manuelles. Cette question est d'autant plus d'actualité à l'heure où l'avion de ligne […] Lire la suite☛ http://www.universalis.fr/encyclopedie/robots/#i_2513

L'idée c'est de complètement scripter l'utilisation d'un navigateur (analyse de contenu de page, clicks, etc.) que ce soit sur une seule page ou pour des sessions de navigation longues. Pour les analyses de pages tu peux faire vraiment tout et n'importe quoi en XPath. C'est assez puissant mais il faut un peu d’expérience pour certains scénarios un peu tricky.
Quels points communs relient les techniques ainsi mises en œuvre ? Il est inutile d'insister sur l'existence d'un double langage : celui des techniciens, inaccessible au grand public, et le langage, accessible, mais déformé, de ceux qui veulent créer le sensationnel, par exemple en employant, pour des motifs commerciaux, le terme automatisation ou un terme de la même famille dans la publicité.
Docker est une solution open-source (sous licence Apache 2.0) qui vise à automatiser le déploiement d’applications dans ce que l’on nomme des “containers”. Situé à mi-chemin entre la virtualisation applicative et l’automatisation (on parle aussi de virtualisation légère), le projet a été lancé officiellement en 2013 et il ne cesse depuis de gagner en popularité.

La complexité de la mise en place de tests fonctionnels automatisés est plus basée sur les éléments externes (intégration continue, contrôle des données, branchement à l’infrastructure, aux sources externes (API, BDD, …)) que les tests en eux même. De plus, malgré un coût d’entrée certain, ils permettent de faire gagner du temps et de la qualité dès les premières exécutions en s’assurant que les fonctionnalités clés de l’application (et les autres) sont fonctionnelles.
Les tests fonctionnels sont un excellent processus de test exhaustif qui parcoure toutes les couches d’une application. Toutefois, pour s’assurer de l’absence des anomalies, il est nécessaire de réitérer la totalité des tests suite à chaque évolution de l’application. L’exécution manuelle des tests fonctionnels d’une application en perpétuelle évolution, est longue et assujettie aux erreurs humaines. En outre, ce processus coûteux, bien qu’il soit nécessaire pour assurer la qualité de l’applicatif, il pousse souvent les organisations à s’en passer, l’exécuter partiellement ou – dans les meilleurs des cas – fixer un cycle de release assez long laissant le temps nécessaire aux tests et validation. Cette dernière alternative assure la qualité de l’application mais diminue considérablement sa compétitivité : Un bon compromis serait d’investir dans l’automatisation des tests fonctionnels. Dans ce qui suit nous étudierons les types d’outils d’automatisation disponibles et justifierons le choix porté sur l’un d’eux.
×