Test

Bonne pratique

Property-based testing : Un contrat d’interface en béton

La compréhension de cet article est facilitée par des connaissances sur l'architecture hexagonale (Clean Archi) et le Domain-Driven Design. Lorsque vous développez un produit en vous basant sur les principes du Domain-Driven Design (DDD) et que vous vous efforcez de respecter les principes de Clean Archi, vous vous retrouvez alors probablement avec une catégorie particulière d'interfaces appelées Repository. Nous allons voir ici qu'une stratégie de test des implémentations se reposant uniquement sur les méthodes de l'interface peut s'avérer très utile pour itérer sur notre implémentation sans influencer notre code métier. Nous allons…

Lire la suite
Software Craftsmanship

Un test peut en cacher un autre – Tests d’intégration

Introduction L’article d’introduction débute en listant certaines différences de visions que je peux avoir avec d'autres développeurs concernant l'architecture applicative ou encore la rédaction des tests. À travers elles, j’évoque les difficultés qu’ils peuvent rencontrer à identifier précisément quoi tester et comment. Nous avons pu voir dans ces articles autour des tests unitaires :  Un test peut en cacher un autre — Tests unitaires — P1 Un test peut en cacher un autre — Tests unitaires — P2 Que ces tests sont exclusivement centrés sur…

Lire la suite
Software Craftsmanship

Un test peut en cacher un autre – Tests unitaires – P2

Introduction L’article d’introduction débute en listant certaines différences de visions que je peux avoir avec d'autres développeurs concernant l'architecture applicative ou encore la rédaction des tests. À travers elles, j’évoque les difficultés qu’ils peuvent rencontrer à identifier précisément quoi tester et comment. Deux phrases extraites de l’article de Ian Cooper ont été mises en avant : “Le code issu d’un refactoring ne requiert pas de nouveaux tests” “Je vous recommande d’utiliser ports/adaptateurs et d’écrire les tests en outside-in depuis le use case” Ces deux axes…

Lire la suite
Archi & techno

Vue.js en TDD

Introduction :   On a tous entendu parler de Vue.js, le dernier framework JavaScript du moment. Certains l’ont déjà expérimenté. Mais au-delà du POC, il est temps de s’armer pour réaliser des grands projets Vue.js en production. Quoi de mieux pour cela que d’apprendre à utiliser Vue.js en TDD ? L’objectif de cet article est de partager les bases pour partir en TDD sur Vue.js. Afin d’y parvenir, on réalise un composant très simple, basé sur le template initialement généré par le Vue CLI, sur…

Lire la suite
Archi & techno

Nous étions à la KubeCon Europe (2/2)

Kubernetes et son écosystème pour la production La KubeCon n’était pas que l’occasion de présenter la roadmap et les nouvelles fonctionalités de Kubernetes. C’était aussi l’occasion de faire le point sur son écosystème grandissant et sur son utilisation en production. Pour être serein en production, nous nous attendons à ce qu’un framework comme Kubernetes propose : Une installation automatisée et idempotente Du cloisonnement d’environnement (Multitenant) De la persistence sur les données Du monitoring De la haute disponibilité Du Continuous Intégration et du Continuous Delivery Des…

Lire la suite
Archi & techno

Sortie de la carte de référence OCTO : tout sur les tests d’applications Web Front-end

Vous souhaitez mettre en place des tests sur votre application Web front-end mais vous ne savez par où commencer? Face à la complexité grandissante des applications Web, les enjeux de qualité sont de plus en plus importants, il est nécessaire d’assurer la fiabilité et la maintenabilité de vos applications en mettant en place des tests. Notre carte de référence a pour but de vous aider à mieux appréhender les différents types de tests existants et de vous donner une vision globale de l’état de l’art.…

Lire la suite
Méthode

Sortir de la non qualité

Il y a quelques mois de cela, Michel vous parlait de la culture du Software Craftsmanship. Il évoquait notamment dans son article les différents enjeux à adresser pour diffuser cette culture dans l’entreprise. J’aimerais prolonger son discours en vous proposant de revenir sur l’origine de cet océan de code “legacy” dans lequel beaucoup d’entres nous naviguent douloureusement chaque jour. Mais surtout, j’aimerais vous proposer des moyens de s’en sortir.

Lire la suite
Archi & techno

Retour d’expérience mobile Le Monde #partie 2

Dans la première partie de cet article, je présentais la partie organisationnelle des projets mobiles du Monde, et notamment comment avec une super équipe et un peu d'attention aux utilisateurs, on est parvenu à voir notre application dans le top des applications Françaises sur le store. Dans cette seconde partie, je m'attache à décrire notre organisation au sein de l'équipe Android (gestion des sources, revues de code, releases, ...), ainsi que des aspects plus techniques (architecture, outillage, ...).

Lire la suite
Archi & techno

Développement iOS : mettre en place des indicateurs qualité sur Jenkins

Les projets de développement d'applications iOS ne sont pas les mieux lotis quand on se penche sur la qualité du code. Projets très courts avec des contraintes fortes sur les délais (time-to-market), ils souffrent en effet souvent d'un manque d'attention portée à la qualité du code. La seule chose qui sauve finalement ces actifs informatiques pour l'instant est que : leur taille est encore limitée (beaucoup d'applications encore gadgets) ces projets sont souvent peu ou pas maintenus (une fois arrivés sur le store, peu de…

Lire la suite
Méthode

Une communauté agile sur les environnements mainframe…

Prologue Il existait Junit, Nunit, PHPUnit, RPGUnit,... mais pas de COBOLUnit. Donc il fallait s'y mettre, lancer les développements sur le sujet et... OUPS, j'ai oublié un point important je ne connais pas COBOL et je n'ai pas d'environnement z/OS! Qu'à cela ne tienne, je m'arcqueboute, recherche sur le web, et pouf me voilà au volant d'un Ubuntu, le package OpenCobol est installé, il me reste à gérer le confort de conduite, j'opte pour le plug-in Cobol_plugins_3.4.0 sur Eclipse.

Lire la suite