Cet article examine deux approches du Zero Touch Deployment : une solution basée sur les scripts et une plate-forme d’automatisation de la mise en production. Il indique comment chacune de ces approches peut résoudre les principaux défis technologiques et organisationnels face auxquels se trouvent les organisations agiles lorsqu’elles décident d’implémenter un système de déploiement automatique. Cet article commence par retracer le contexte commercial et technologique qui pousse les organisations agiles à se tourner vers des solutions d’automatisation du déploiement.

Il est encore fréquent de voir des scénarios de tests écrits dans un document et exécutés manuellement par un humain. Cette approche est obsolète dans la mesure où des outils existent pour automatiser une bonne partie de ces tests évitant ainsi les erreurs humaines (aucune exécution des tests, oublie de l'exécution de cas, mauvaise interprétations des résultats, ...). De plus, les fonctionnalités d'une application ont tendance à augmenter avec le temps ce qui rend ce processus encore plus long et fastidieux.
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.
Sans une planification rigoureuse du nombre requis de ressources qualifiées, tout programme de test automatisé échouera, victime d’interruptions de service inattendues, de retards et de dépassements de coûts. L’entreprise ne sera pas en mesure d’exécuter un nombre de tests suffisants, à un rythme suffisamment soutenu, pour pouvoir justifier l’investissement en automatisation de tests.

Un micro-service peut être constitué de plusieurs processus mais l’inverse n’est pas vrai. Une conséquence directe est que les services communiquent entre eux par des appels réseaux et non pas des appels de fonction interne comme dans une application monolithique. Par conséquent, un micro-service est une unité de service qui se développe, se déploie, s’exécute et gère ses données indépendamment des autres services du système. Les avantages d’un système basé sur les micro-services sont, entre autres:


Sécurité grâce au cloud : l'accès au cloud computing et à des capacités de stockage quasi-illimitées créent de nouvelles opportunités quant à l'analyse des données de sécurité. Combiné à l'intelligence artificielle, cela permet d’offrir de nouveaux services de sécurité (reconnaissance et suppression automatique d'une donnée à caractère personnel, par exemple).
Dans la mesure où vous commercialisez services et produits, il semble bien difficile de vous passer d’un logiciel spécialisé dans l’édition de devis et factures. Ciel Devis Factures remplit parfaitement cette mission en prenant soin de conférer à votre petite entreprise une image professionnelle maîtrisée. La création des devis se fait en quelques clics seulement, et le programme automatise leur conversion en factures lorsque votre client décide de recourir à vos services. Pour une transparence et une flexibilité totales, vous pouvez facturer hors taxe (HT) ou toute taxe comprise (TTC).
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.
Important Néanmoins, beaucoup de tests relativement basiques doivent être réalisés très régulièrement durant le cycle de vie d'un logiciel, ce qui rend leur exécution manuelle fastidieuse pour un ROI faible. D'autre part, dans certains contextes (projets web notamment), les tests doivent être réalisés sur différentes plateformes, différents navigateurs de différentes versions, etc.
Une autre fonctionnalité phare de Selenium et l’automatisation de tests fonctionnels grâce à Selenium Webdriver, anciennement Selenium Remote Control. En effet, cet outil est un serveur java qu’il est possible d’installer en local ou sur un serveur d’intégration, va permettre de démarrer virtuellement un navigateur et d'interpréter des scripts en langage Selenese (langage de programmation Selenium) afin d’interagir avec le navigateur. Par ailleurs, il est possible de le paramétrer finement de façon à lancer les tests sur plusieurs navigateurs à la fois. PHPUnit et Codeception proposent un plugin permettant d’interfacer Selenium Webdriver dans leur interface. De cette façon, la gestion des tests s’effectue au même emplacement. Néanmoins, l’utilisation de Selenium Webdriver nécessite l’installation de dépendances dédiés au java, la configuration ainsi que la prise en main est plutôt longue et difficile. Dans ce contexte là, il faut s'assurer que mettre en place une telle solution puisse être amortie.
Pour le cas des tests Cooperons! les problématiques rencontrées sont les mêmes décrites au début de l’article en plus d’une autre particularité : On a besoin d’effectuer des mises en production fréquentes et livrer de nouvelles releases sur des intervalles rapprochés (parfois d’une façon hebdomadaire). Sachant que l’exécution de tout le cahier de test est effectuée par 3 testeurs/développeurs et nécessite entre 4 et 5 jours pour être finalisée. On a fini avec des deadlines non respectés et un processus de test plus lent et moins fiable. L’automatisation s’impose dans un tel cas. Les résultats obtenus sur Coopérons! grâce à l’automatisation ont permis de :

Major features include: - Upload test objects (.apk, .ipa files or link to the websites) and share a link for it with your project members - Create test plans, manage and edit them - Create, edit, copy and move test cases within modules - Export and import test cases from .CSV file - Create test runs, select test cases from different test plans - Create a bug, if a test case is failed - Use EasyQA SDK to catch crashes and report bugs Test Management Tool to share test builds, write and execute test cases, track bugs and catch crashes.
Daikin Chemical France, créée en 1992, filiale de Daikin Industries, est un fournisseur de produits fluorochimiques de haute performance. La société est aujourd’hui l’un des premiers fabricants au monde sur son secteur, l’entreprise ayant su apporter des services techniques adaptés aux exigences spécifiques des consommateurs. Grâce à sa technologie...

Gérez facilement les pipelines de publication les plus avancés. Planifiez, automatisez et analysez l'ensemble du pipeline de versions logicielles. Contrôlez et optimisez la livraison de logiciels. Ayez toujours connaissance de l'état des étapes automatisées et manuelles dans l'ensemble du pipeline de versions. Identifiez les goulots d'étranglement, réduisez les erreurs et réduisez le risque de défaillance de la version. Automatisez et orchestrez vos canaux de publication, et bénéficiez d'une visibilité sur leur ensemble, à l'échelle de l'entreprise.
A noter, le langage utilisé pour développer les tests d’acceptance est volontairement simple dans le but de le rendre compréhensible et constructible par un non initié à la programmation. Avec un petit peu de formation, il est possible de décharger les développeurs de l’élaboration de ces tests pour les attribuer à une équipe de testeur dédié par exemple.
La comptabilité couvre un aspect essentiel de votre entreprise, quelle que soit sa taille. Il est nécessaire de garder une trace de toutes vos recettes et dépenses pour justifier vos déclarations fiscales. De nombreux outils permettent d’automatiser une tâche souvent perçue comme fastidieuse et sujette aux erreurs de calculs lorsqu’elle est réalisée manuellement.
Avec le développement du cloud, de plus en plus d'environnements multi-cloud font leur apparition, car de nombreuses entreprises font confiance à plusieurs plateformes, notamment pour ne pas être dépendants d'un fournisseur individuel. Cependant, les installations multi-cloud sont souvent non intentionnelles et dues à un manque de coordination dans l'achat de solutions plateformes cloud, en particulier par les directions métier. Qu'elle soit planifiée ou non, la tendance aux environnements multi-cloud entraîne son lot de défis. Ces environnements compliquent les tâches administratives (telles que la gestion des contrats et la facturation) et entravent les processus de conformité, de protection des données et de transparence. Enfin et surtout, les environnements multi-cloud complexifient l'intégration et l'interopérabilité des données, ralentissant ainsi le développement et la mise en exploitation des nouveaux business models et offres de services basés sur l’analyse massive de données. Les DSI ont donc pour mission d'éviter la prolifération naissante des environnements multi-cloud non contrôlés, ou de gérer ces environnements et de les intégrer dans des architectures cloud hybrides.
Many test automation tools provide record and playback features that allow users to interactively record user actions and replay them back any number of times, comparing actual results to those expected. The advantage of this approach is that it requires little or no software development. This approach can be applied to any application that has a graphical user interface. However, reliance on these features poses major reliability and maintainability problems. Relabelling a button or moving it to another part of the window may require the test to be re-recorded. Record and playback also often adds irrelevant activities or incorrectly records some activities.[citation needed]
Logiciel de test de performance open source permettant de tester les API ainsi que les applications web et mobiles à n'importe quelle étape du cycle de vie du développement logiciel. Logiciel de test de performance open source permettant de tester les API ainsi que les applications web et mobiles à n'importe quelle étape du cycle de vie du développement logiciel.

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.
Sécurisation du cloud : la transition des applications critiques back-office vers le cloud prend de l'ampleur, les opérateurs de services cloud étant désormais pour la plupart en mesure d'assurer que leurs services répondent aux exigences les plus strictes en matière de sécurité, aussi bien d'un point de vue réglementation que sur le plan technologique. Cependant la course à la sécurité reste infinie, les hackers auront toujours une longueur d’avance…

Un micro-service peut être constitué de plusieurs processus mais l’inverse n’est pas vrai. Une conséquence directe est que les services communiquent entre eux par des appels réseaux et non pas des appels de fonction interne comme dans une application monolithique. Par conséquent, un micro-service est une unité de service qui se développe, se déploie, s’exécute et gère ses données indépendamment des autres services du système. Les avantages d’un système basé sur les micro-services sont, entre autres:
TestComplete est un outil d’automatisation des tests fonctionnels édité par AutomatedQA, une entreprise basée à Beverly aux États-Unis (Massachusetts). Le référentiel d’objets de cet outil possède plusieurs fonctionnalités intéressantes comme la création de « Modèle » de reconnaissance ainsi que le paramétrage des propriétés de reconnaissance des objets.
×