• Contact us
  • Documentation
  • Login
Watch a demoFree trial
Blog
Blog
BlogProduitÉtudes de casNouvellesPerspectives
Blog

Agis vite et casse tout : accélérer les tests avec Upsun

DevOpsCI/CDclonage de donnéesenvironnements de prévisualisationautomatisation
15 janvier 2025
Greg Qualls
Greg Qualls
Directeur, Marketing produit
Partager
Cette page a été rédigée en anglais par nos experts, puis traduite par une IA pour vous y donner accès rapidement! Pour la version originale, c’est par ici.

Lorsque Mark Zuckerberg a déclaré : « Allez vite et cassez des choses. Si vous ne cassez rien, c’est que vous n’allez pas assez vite », il a ouvert la voie à une approche audacieuse de l’innovation. Si ses propos ont suscité des débats, ils trouvent un écho particulier lorsqu’on les applique aux tests logiciels, notamment lorsqu’il s’agit d’exploiter Upsun.

Tester avec Upsun ne consiste pas seulement à détecter des bugs ; il s’agit de le faire rapidement, efficacement et sans perturber ton processus. Découvrons pourquoi casser des choses rapidement est la clé pour accélérer les tests et comment Upsun permet d’y parvenir.

Les tests coûtent cher… ou pas ?

Voici une statistique à méditer : il est 30 fois plus coûteux de corriger un bug en production que de le détecter plus tôt. Je sais, ça a l’air inventé, n’est-ce pas ? Et pourtant, ce n’est pas le cas. Réfléchis-y : un bug en production ne fait pas que gaspiller le temps des ingénieurs ; il nuit à ta marque, sape la confiance des clients et empêche ton équipe de développer de nouvelles fonctionnalités. C’est pourquoi les tests ne sont pas facultatifs ; ils sont essentiels.

Mais soyons réalistes : les tests peuvent aussi être perçus comme un frein. Les développeurs veulent créer des choses géniales, pas passer leurs journées à écrire des tests. Comment trouver l’équilibre entre rapidité et sécurité ? En adoptant une philosophie que j’aime appeler « casser les choses rapidement ».

En réalité, si la plupart des équipes comprennent la nécessité des tests, elles manquent souvent d’outils pour les rendre fluides. Sans le soutien adéquat, même les efforts les mieux intentionnés peuvent échouer, créant un cercle vicieux de frustration et de retards. C’est là qu’Upsun entre en jeu, transformant l’expérience des tests d’un obstacle en un catalyseur de progrès.

« Breaking things fast » : une philosophie différente

« Breaking things fast » n’est pas synonyme de chaos ; il s’agit d’une itération rapide et intentionnelle. Il s’agit de répondre à deux questions fondamentales :

  1. Est-ce que ça ne marche pas ? (Tests unitaires, tests fonctionnels, tests exploratoires, etc.)
  2. Quand ça va-t-il tomber en panne ? (Tests de charge, tests de pénétration, tests d’évolutivité.)

Le but n’est pas la perfection dès le premier essai ; il s’agit d’obtenir un retour d’information le plus rapidement possible afin de pouvoir corriger les problèmes avant qu’ils ne s’aggravent. Dans ce sens, tester relève moins d’un processus que de la curiosité : le désir de voir jusqu’où tu peux pousser quelque chose avant qu’il ne tombe en panne.

Quand on y réfléchit, l’essence même du test réside dans l’acceptation de l’incertitude. Il ne s’agit pas de prouver que ton code fonctionne, mais de découvrir comment et où il ne fonctionne pas. En mettant l’accent sur la recherche rapide des failles, les équipes peuvent cultiver un état d’esprit d’exploration et d’amélioration, qui stimule l’innovation plutôt que de la freiner.

Le problème avec les tests traditionnels

Laisse-moi te ramener en 2002. J’étais un « webmaster » autoproclamé (oui, c’était un vrai titre) à l’Eastern New Mexico University. Mon processus de test ? Transférer les fichiers HTML directement sur le serveur via FTP, rafraîchir la page et voir si ça marchait. Si ce n’était pas le cas, je modifiais le code, je le transférais à nouveau via FTP, et je recommençais. C’était rudimentaire, mais ça marchait… la plupart du temps.

Revenons à aujourd’hui. On a troqué les transferts FTP contre des environnements de préproduction, des environnements de développement et des pipelines CI/CD. Ce sont toutes de bonnes choses, mais elles s’accompagnent d’une limitation majeure : elles correspondent rarement parfaitement à la production. Mettre en place un environnement de préproduction ne prend peut-être que quelques heures ou quelques jours, mais reproduire toute la complexité de la production est une autre histoire. L’infrastructure, le réseau, la mise en cache, la recherche, les données, les dépendances, les environnements d’exécution et les frameworks jouent tous un rôle crucial dans le fonctionnement d’une application — et aucun d’entre eux n’est strictement lié à ton code. Ne pas reproduire fidèlement ces variables crée des lacunes qui rendent tes tests peu fiables et tes bugs plus difficiles à détecter. Le temps que tu corriges un bug, tes utilisateurs l’ont déjà rencontré. Ce n’est pas aller vite ; c’est avancer à tâtons dans le noir.

Pense à la complexité que cela implique : configurations, synchronisation des données, autorisations et vérifications de compatibilité. Chaque étape ajoute des frictions, rendant plus difficile la livraison dans les délais. Pour les équipes travaillant avec des délais serrés, cela peut donner l’impression de courir un marathon dans des sables mouvants. Pas étonnant que les développeurs rêvent d’une méthode plus rapide.

Les tests en production : une relation amour-haine

Mais et si on pouvait tester en production ? C'est une idée provocante, et pour cause. Tester en production te donne les données les plus précises possibles. Pas besoin de te demander si ton environnement de staging ou de développement reflète parfaitement la production : c'est la réalité. Chaque détail de l'infrastructure, la configuration réseau, la couche de mise en cache et le runtime sont exactement comme ils devraient être. Tu pourrais obtenir un retour immédiat, tester les performances et comprendre les problèmes spécifiques à l'environnement.

Mais il y a un problème avec les tests en production… les utilisateurs. La mentalité « casser les choses rapidement » ne fonctionne que si les utilisateurs ne sont pas impliqués. L’objectif final est que les utilisateurs vivent une expérience incroyable. C’est loin d’être possible si tu casses l’application à chaque fois qu’ils vont l’utiliser.  

Alors, quelle est l’alternative ? Reproduire l’environnement de production — et c’est là qu’Upsun excelle.

Le secret d’Upsun : des écosystèmes d’environnements clonés full-stack

Et si tu pouvais cloner tout ton environnement de production — code, données, infrastructure, services — en quelques secondes ? Avec Upsun, c’est possible. Voici comment ça marche :

  1. Branche Git : chaque environnement cloné commence par ta branche Git. Mais ce n’est pas seulement le code qui est cloné ; c’est l’ensemble de la stack.
  2. Réplication parfaite : Upsun ne se contente pas de copier ton code ; il reproduit tes bases de données, tes API, tes services, tes paramètres DNS, tes certificats SSL… tout.
  3. Pas d'utilisateurs, pas de risque : la seule chose que nous ne clonons pas ? Les utilisateurs. Cela signifie que tu peux tout casser à ta guise sans craindre les tweets furieux ou les tickets d'assistance.

Avec Upsun, tu bénéficies de la rapidité des tests en production sans le risque.

Cette capacité à répliquer les environnements de production a des implications profondes sur les processus de développement. En éliminant les barrières entre les tests et le déploiement, Upsun permet aux équipes d’itérer plus rapidement, de déployer en toute confiance et d’innover sans hésitation.

Des histoires vraies, un impact réel

Laisse-moi te raconter une petite anecdote de la SymfonyCon. Lors d’une démo en direct, mes collègues ont transformé une application monolithique en une application découplée (frontend Next.js avec un backend Symfony) en moins de 30 minutes. Comment ont-ils fait ? En cassant tout à toute vitesse. Comme pour toute démo en direct, leur code était prêt et fonctionnait parfaitement avant l’événement.  Mais comme dans toute démo en direct, tout s’est effondré en plein milieu de la démo. À chaque fois qu’ils essayaient de déployer l’appli, ils tombaient sur une erreur différente. En l’espace de 30 minutes, ils ont enchaîné les itérations les unes après les autres devant un public en direct.  Le coupable ? Un seul caractère dans un fichier YAML. (Il s’avère que « npm » n’est pas la même chose que « npx ». Qui l’eût cru ?)

Maintenant, imagine essayer de faire ça dans un environnement traditionnel. Un développeur m’a dit qu’avant, ça leur prenait trois semaines pour mettre en place un environnement de développement. Le temps qu’ils aient tout configuré, les données étaient déjà obsolètes. Avec Upsun, ces trois semaines se transforment en trois minutes.

Le processus Upsun : itérer, itérer, itérer

Voici à quoi ressemble un processus typique avec Upsun :

  1. Crée une branche et clone instantanément la production.
  2. Apporte tes modifications, qu’il s’agisse d’ajuster le code, de mettre à jour les API ou de tester de nouvelles configurations de base de données.
  3. Itère jusqu’à ce que ça marche.
  4. Fusionne ta branche et transfère l'environnement vers la production.

C'est rapide, fluide et convivial pour les développeurs. Plus besoin d'attendre l'équipe opérationnelle. Plus besoin de te demander si tes modifications vont causer des problèmes en production. Tu es libre d'innover à la vitesse de la pensée.

La beauté de cette approche réside dans sa simplicité. En éliminant les obstacles liés aux tests, Upsun permet aux développeurs de se concentrer sur ce qu’ils font le mieux : créer des solutions qui apportent de la valeur à leurs utilisateurs. C’est une véritable révolution pour les équipes qui cherchent à rester compétitives dans un monde où tout va de plus en plus vite.

Pourquoi il est important de casser les choses rapidement

Au final, casser les choses rapidement n’est pas seulement une question d’efficacité ; il s’agit de créer une culture où les développeurs peuvent expérimenter, échouer et apprendre sans crainte. Les tests devraient te permettre de créer de meilleurs logiciels, pas te ralentir. Avec Upsun, tu ne te contentes pas de tester plus vite ; tu construis un avenir meilleur, une chose cassée à la fois.

Imagine un monde où les tests ne sont pas un fardeau mais une source d’inspiration, où les équipes travaillent en collaboration pour repousser les limites et découvrir de nouvelles possibilités. C’est le monde qu’Upsun aide à créer, et ça commence avec toi.

En effet, des études montrent que l'identification et la résolution des bugs plus tôt dans le cycle de développement peuvent augmenter la satisfaction client jusqu'à 40 %. Moins de bugs signifie une expérience utilisateur plus fluide, des taux de fidélisation plus élevés et des avis élogieux. En donnant la priorité à des tests efficaces, tu ne te contentes pas de créer de meilleurs logiciels ; tu construis des relations plus solides avec tes utilisateurs.

Prêt à aller vite et à casser des codes ? C'est parti.

Regarde cette vidéo

Restez informé

Abonnez-vous à notre newsletter mensuelle pour les dernières mises à jour et nouvelles.

Votre meilleur travail
est à l'horizon

Essai gratuit