Pour la plupart des projets webs (que ce soit sur le language PHP ou Java par exemple), il est possible d’automatiser les tests. Il existe, même sur le marché du logiciel libre, des suites qui permettent d’automatiser des tests unitaires et d’intégration agissant directement sur le code du projet et d’autre suites qui permettent d’automatiser des tests fonctionnels et d’acceptation qui agissant notamment via un plugin à intégrer sur un navigateur. Nous parlerons un peu plus tard de ces outils.
Dans le chapitre « Les premiers centraux téléphoniques automatiques »  : […] C'est à un entrepreneur américain de pompes funèbres que l'on doit les premiers centraux téléphoniques automatiques. En 1889, Almon Strowger (1839-1902) exploite son entreprise dans la région de Chicago où l'épouse de son concurrent est employée comme opératrice du téléphone. Soupçonnant les dames d'orienter les clients en deuil vers son concurrent […] Lire la suite☛ http://www.universalis.fr/encyclopedie/telecommunications-histoire/#i_2513
14. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 13 3) QAWizard QAWizard, de la société Seapine Software, ne manque pas d’intérêt malgré une présence encore marginale en France. Peu onéreux, QAWizard est très simple d’utilisation. Le passage d’un mode « tableau » pour les débutants à un mode « code » pour les testeurs aguerris permet d’appréhender progressivement et en douceur la complexité des tests fonctionnels. Le support en France reste un des points faibles du produit. B. Les logiciels de tests sur mobile Comme expliqué dans le paragraphe précédent, il existe une multitude de logiciel afin d’automatiser les tests sur PC. Ces logiciels ne sont pas adaptés pour réaliser des tests sur mobile. En effet, une application mobile est parfois développée dans un langage qui diffère de ceux utilisés pour une application PC. Il y a également des actions qui ne sont pas réalisables sur un PC (le zoom à deux doigts par exemple) et donc non pris en compte par les logiciels de test PC. On retrouve notamment les langages JAVA pour Android, mais aussi Objective C pour IOS, et plus couramment HTML5 / JavaScript qui reste le langage le plus simple à ce jour. Je vais dans cette partie exposer les moyens qui ont été conçu afin de réaliser des tests fonctionnels automatisés pour les mobiles. 1) Des tests spécifiques aux mobiles Il existe certains types de tests qui ne sont présents que pour les téléphone portable / tablettes. Ils sont réalisés par les constructeurs de ceux-ci : Les tests d'interopérabilité (IOT) Ces tests sont réalisés en général dans les labos des opérateurs pour s'assurer que le mobile qu'ils vont proposer à leur client est capable de communiquer correctement avec leur réseau sans perturbation. La variété d'équipements avec des fournisseurs différents permet à l'opérateur de réduire les coûts de son réseau en faisant jouer la concurrence, mais aussi d'éviter d'être dépendant d'un seul fabriquant au risque de se confronter à l'obligation de renouveler complètement son réseau au cas où son principal fournisseur disparaît. Ces équipements remplissent les mêmes normes de fonctionnement d'un constructeur à un autre ; mais la norme ne les oblige pas à intégrer les mêmes protocoles de communication. Ce qui explique le but des tests IOT qui permet de s'assurer que le mobile est capable de communiquer avec tous les types d'équipements du réseau de l'opérateur. Les tests protocolaires ou procédures (couche 3 du réseau mobile) Ces tests sont réalisés par les fabricants de téléphonie mobile. Le but est de s'assurer que le mobile implémente correctement les procédures ou protocoles de niveau 3 (couche réseau), comme par exemple les procédures de mise à jour de localisation, l'attachement sur une cellule convenable, les appels entrants et sortants, etc....
De nos jours, à des fins utilitaires ou de tests, il semble important de pouvoir automatiser son navigateur Web afin de réaliser un ensemble de tâches spécifiques. En soit, il existe de nombreux utilitaires permettant cela (tels que iMacro ou encore SuperMacro) mais l'un des moyens les plus efficaces reste sans doûte la méthode Python, qui est un langage léger et s'exécutant rapidement, auquel viennent se greffer deux bibliothèques spécialisées et multiplateformes : Selenium (pour réaliser l'automatisation des tâches sur un navigateur Web) et PhantomJS qui va permettre de lancer un navigateur en tâche d'arrière plan, sans quitter la ligne de commande (sans ouvrir de navigateur, donc) ce que l'on appelle un WebKit headless.
Vous pouvez voir que « Enregistrement » est en surbrillance. Ceci vous permet de savoir que vos actions dans le navigateur sont enregistrées. Le navigateur est la section où vous voyez WordPress.com sur la droite. Comme vous faites n’importe quoi dans le navigateur comme aller sur un site Web, entrer du texte dans une zone de texte, cliquer sur un bouton, cliquer sur un lien, etc., ces actions seront ajoutées à votre projet, qui est sur le côté gauche de l’écran. Vous pouvez voir que le logiciel a automatiquement enregistré les étapes que nous avons suivies :
Research by Carl Benedikt Frey and Michael Osborne of the Oxford Martin School argued that employees engaged in "tasks following well-defined procedures that can easily be performed by sophisticated algorithms" are at risk of displacement, and 47 per cent of jobs in the US were at risk. The study, released as a working paper in 2013 and published in 2017, predicted that automation would put low-paid physical occupations most at risk, by surveying a group of colleagues on their opinions.[91] However, according to a study published in McKinsey Quarterly[92] in 2015 the impact of computerization in most cases is not replacement of employees but automation of portions of the tasks they perform.[93] The methodology of the McKinsey study has been heavily criticized for being intransparent and relying on subjective assessments.[94] The methodology of Frey and Osborne has been subjected to criticism, as lacking evidence, historical awareness, or credible methodology.[95][96] In addition the OCED, found that across the 21 OECD countries, 9% of jobs are automatable.[97]
La première conséquence est donc évidente. Il y’a beaucoup de bogues à rechercher et à remonter au développeur pendant la phase de recette avant la publication au client. Le développeur devra ensuite analyser et corriger tous les bogues remontés, et les fonctionnalités incriminées devront encore être re-testé afin de s’assurer que les bogues ne sont plus présent.
L’automatisation ne rend pas forcément le test logiciel plus rapide, plus fiable ou moins onéreux. Les coûts initiaux liés à la configuration et aux outils d’automatisation pouvant être élevés, l’automatisation des tests n’est profitable que si les coûts à long terme compensent ces dépenses initiales. En outre, les outils et méthodologies d’automatisation ne possèdent pas tous les mêmes caractéristiques, fonctionnalités et capacités, et chaque projet peut répondre à des exigences différentes, ce qui a des répercussions sur les coûts et les bénéfices.

21. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 20 Nouveautés Il a donc été nécessaire de développer de nouveaux tests de Turing, simple pour l’utilisateur et irrésolvable pour un ordinateur. C’est ainsi que depuis 2009, le projet ReCaptcha appartient à Google. Celui-ci révolutionne les captcha habituels. En ne proposant qu’une simple case à cocher et quelques informations à écrire, il est possible de déterminer si l’utilisateur est un ordinateur ou humain. Le système ne va pas contrôler les informations rentrées, mais comment elles ont été rentrées : les mouvements réalisés par l’utilisateur, le scroll3 , les mouvements de souris… En fonction de ceux-ci, le système est capable de différencier un robot d’un humain. Et ce n’est pas tout, en cas de doute, un deuxième test est proposé. Cela peut être un captcha classique, ou bien un test encore très difficile pour un robot : une série de photos présentant un intrus à retrouver. Une étape simple sur le plan cognitif pour un cerveau, beaucoup plus complexe pour un programme. Trouver une photo similaire à celle présentée, ou à l’inverse un intrus parmi les photos, reste trop difficile à ce jour pour un robot. De plus, d’après Google, le moteur s’enrichit également sans cesse : toutes les actions menées par les utilisateurs servent à lui apprendre à affiner sa détection de ce qui semble réel ou, au contraire, de ce qui est simulé. Pourquoi ne peut-on pas automatiser les tests ? Un CAPTCHA comme expliqué précédemment, ne peut être reconnu par un ordinateur. Cela signifie que lancer des reconnaissances de forme par un logiciel, ne rendrait pas un résultat correct. Il existe à ce jour des logiciels permettant la comparaison d’image. Ceux-ci comparent l’image fournie au départ (par les testeurs / clients) avec l’image rencontrée durant le test. Il est possible de régler un “taux de validation”. On considère pour chaque type d’image un taux de validation à passer. Par exemple, en moyenne pour une image de type .JPG, on accepte le scénario de test à partir de 80% de ressemblance. En revanche, pour un GIF, ce taux monte à 95%. Cela prouve qu’il existe néanmoins une marge d’erreur possible. Ce système ne peut être utilisé avec les captcha, générés aléatoirement. Le logiciel n’ayant aucun point de comparaison, il ne peut utiliser cette méthode. 3 Faire défiler verticalement le contenu d’un document à l’aide de la molette d’une souris – Source : Wikipédia
De cet effort, j’ai pu appliqué les mêmes mécanismes et fonctionnalités sur un autre produit similaire, en réutilisant une majeure partie du code en moins de 5 JP. La librairie de fonction étant extensible et réutilisable, la maintenance est simplifiée. L’intégration avec les différents outils de suivis d’anomalie est flexible car chacun dispose d’une librairie de fonction.

PhantomJS est un navigateur sans interface graphique utilisé pour automatiser des interactions avec des pages web. PhantomJS intègre entre autre la navigation automatisée, la capture d'écran, les comportements utilisateurs. Il permet donc de faire des tests fonctionnels. L’environnement de navigation reproduit par PhantomJS est similaire à Safari ou à Google Chrome.
Human-machine interfaces (HMI) or computer human interfaces (CHI), formerly known as man-machine interfaces, are usually employed to communicate with PLCs and other computers. Service personnel who monitor and control through HMIs can be called by different names. In industrial process and manufacturing environments, they are called operators or something similar. In boiler houses and central utilities departments they are called stationary engineers.[57]

Dans le chapitre « Instruments et applications »  : […] La nouvelle génération des spectrophotomètres est entièrement automatisée. Ils permettent l'enregistrement rapide, routinier et répétitif des spectres d'absorption ou d'émission avec un nombre de manipulations considérablement réduit et, donc, un faible coût d'exploitation ; dans ce cadre, on peut citer l'emploi des supports […] Lire la suite☛ http://www.universalis.fr/encyclopedie/spectrophotometrie-optique/#i_2513
×