Publications de Jérôme Van Der Linden

Archi & Techno

The Test Pyramid in Practice 5/5

In prior articles (1, 2, 3, 4), we’ve implemented isolated tests which offer us precise and reliable feedback - and are more or less fast depending on whether we’re running unit tests or component tests which need to load a Spring context. But these tests have their limits, precisely because they’re isolated. In this article we’ll deal with tests that are even higher in the pyramid: integration and end-to-end tests. This article originally appeared on our French Language Blog on 29/06/2018.

Lire la suite
Archi & Techno

The Test Pyramid in Practice 4/5

In the last article we described component tests: tests which are half unit and half integration test, that allow us to validate both integration within our application (via dependency injection) and also with peripheral components. All of which while remaining sufficiently isolated, to limit friction during execution. Because this isolation works perfectly, our API client tests suffer from a major flaw: if and when the supplier changes the service signature we learn about it much too late. This is what contract tests attempt to avoid,…

Lire la suite
Archi & Techno

The Test Pyramid In Practice 2/5

In the previous article, we discussed the theory of the Testing Pyramid -- a testing strategy to ensure our application’s quality at a reasonable cost. Notable, we discussed the notion of feedback, and the importance of having fast, accurate, and reliable feedback. Unit tests typically address these criteria for a modest investment. Through this article we’ll develop a concrete example to explore the use of automated unit tests and try to answer some of our readers’ recurring questions. This article originally appeared on our French…

Lire la suite
Archi & Techno

The Test Pyramid In Practice (1/5)

 If you read this blog or our publications, you know how much testing is tied to software quality and, if I may say so, to software success. I insist on this point because all too often our customers treat tests as the fifth wheel when it comes to development. You know the consequences: an astronomical number of design anomalies, pernicious bugs in production and, worse still, software which ossifies little by little. This article is the first in a series, and will mostly address theory.…

Lire la suite
Archi & techno

La pyramide des tests par la pratique (5/5)

Jusqu’à présent, dans les articles précédents (1, 2, 3, 4), nous avons toujours mis en place des tests en isolation, nous fournissant ainsi un feedback précis et fiable - et plus ou moins rapide selon qu’on teste unitairement ou avec des tests de composants (contexte Spring à charger). Mais ces tests ont leurs limites, justement du fait de l’isolation. Dans cet article nous allons traiter des tests qui se trouvent plus haut dans la pyramide: les tests d’intégration et les tests de bout en bout.

Lire la suite
Archi & techno

La pyramide des tests par la pratique (4/5)

Dans le dernier article, nous décrivions les tests de composant, tests mi-unitaires mi-intégration permettant de valider à la fois l’intégration au sein de notre application (injection de dépendances) et aussi avec les composants périphériques. Le tout en restant suffisamment isolés de ces derniers pour limiter les frottements à l’exécution. L’isolation fonctionnant à merveille, le test de client d’API souffre d’un défaut majeur : lorsque le fournisseur change la signature du service, nous en sommes au courant bien trop tard. C’est ce que les tests de…

Lire la suite
Archi & techno

La pyramide des tests par la pratique (2/5)

Dans le précédent article, nous avons abordé la théorie autour de la pyramide des tests : quelle stratégie adopter pour assurer la qualité et la non-régression de notre application pour un coût raisonnable. Nous avons notamment abordé la notion de feedback et l’importance d’avoir des feedbacks rapides, précis et fiables. Les tests unitaires remplissent typiquement ces critères pour un investissement modéré. Au travers de cet article et d’un exemple concret, nous allons détailler la mise en pratique de tests unitaires automatisés et nous tenterons de…

Lire la suite
Archi & techno

La pyramide des tests par la pratique (1/5)

Si vous lisez ce blog ainsi que nos publications, vous n’êtes pas sans savoir à quel point les tests sont indissociables de la qualité logicielle, et j’oserais même dire de la réussite logicielle. J’insiste sur ce point car trop souvent encore chez nos clients, les tests sont la cinquième roue du carrosse lorsqu’il s’agit de développement. Les conséquences, vous les connaissez : une quantité astronomique d’anomalies remontées en recette, des bugs bien mesquins en production et pire encore, un logiciel qui s'ankylose petit à petit……

Lire la suite
Archi & techno

End to end testing depuis les tranchées, avec Protractor

Trônant sur la pyramide des tests, les tests fonctionnels "de bout en bout" (end-to-end) peuvent être destinés à automatiser les scénarios d'acceptance à travers la fenêtre d'un navigateur. En pratique, ces tests sont souvent soit négligés par les équipes de développement, soit au contraire, utilisés comme ultime ligne de défense pour se protéger de tous les problèmes pouvant survenir sur le projet. Si aucune de ces solutions extrêmes n'est recommandée, les tests end-to-end ont sans nul doute un rôle à jouer dans le développement d'un produit. Par…

Lire la suite