Tout le monde reconnaît l’intérêt des tests de régression, mais peu prennent le temps d’en faire. Nous devons donc changer de philosophie : utiliser le test d'unité pour accélérer les cycles de développement. Cela mérite une explication. Pendant le développement d'applications Web, pour tester un changement,
Testez d’abord, codez ensuite
vous devez déployer le code vers un serveur puis feuilleter les pages manuellement jusqu’au point où le nouveau code s’exécute. À ce stade, vous vérifiez visuellement que votre code a fonctionné. Le premier point faible de ce scénario est d’être trop long et laborieux. Le second est que l’information affichée sur la page ne prouve pas forcément la bonne qualité du code. Peut-être n’avez-vous pas ajouté ces enregistrements à la base de données ?
Vous pouvez vous dispenser de ce processus vraiment trop long tout en ajoutant à un jeu de tests de régression : grâce à l’utilitaire PHP open source appelé PHP Unit. Examinez le code de test du fichier SampleTests.php dans la figure 3. Le code teste la méthode getNoseIdFromNoseSn dans Sample.php de la figure 1. Pour exécuter un test d’unité à partir de la ligne de commande, tapez simplement phpunit suivi du nom du PHP de test :
C:\work\getreal>phpunit SampleTests.php
PHPUnit 3.3.4 by Sebastian Bergmann.
F
Time: 0 seconds
There was 1 failure:
1) testGetNoseIdFromNoseSn(SampleTests)
Failed asserting that two strings are equal.
expected string <123>
difference
got string <2123>
/var/www/getreal/SampleTests.php:9
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
Vous pouvez voir que le test d’unité a détecté une défaillance – en descendant jusqu’au numéro de ligne. Pour le processus de développement itératif, continuez à modifier le code et à exécuter le test d’unité jusqu’à ce que la sortie soit propre et nette. Pour démontrer un test propre, j’ai changé l’assertion de SampleTests.php pour vérifier 2123 et j’ai réexécuté phpunit:
C:\work\getreal>phpunit SampleTests.php
PHPUnit 3.3.4 by Sebastian Bergmann.
.
Time: 0 seconds
OK (1 test, 1 assertion)
Pour obtenir un code de grande qualité et être ainsi un programmeur comblé, suivez le précepte bien connu : « tester d’abord, coder ensuite ». Procédez ainsi : 1) Créez le squelette de votre PHP (essentiellement, l’API). 2) Ecrivez les tests d’unités pour chaque méthode dans ce PHP. 3) Exécutez les tests d’unités, qui, d’ailleurs, échoueront tous parce que vous n’avez pas encore étoffé le squelette de ce code. 4) Etoffez le PHP et poursuivez les tests d’unités jusqu’à ce qu’ils soient tous satisfaisants.
Le test d’unités présentent deux avantages importants : premièrement, après avoir appliqué la stratégie « tester d’abord coder ensuite » pendant un certain temps, vous aurez un grand corpus de tests d’unités, constituant vos tests de régression. Deuxièmement, en concevant et en affinant votre code PHP pour le rendre testable, vous aboutirez à un code plus modulaire.
Utilisons maintenant les tests d’unités pour corriger des bogues de production. Quand un bogue se manifeste, votre première action est de le reproduire avec une unité de test. Après quoi, vous corrigez le problème, réexécutez l’unité de test (pour valider la correction), réexécutez tous vos tests de régression (pour prouver que la correction n’a pas endommagé du code ailleurs), puis mettez votre code en production. Désormais, le nouveau test d’unité fera partie des tests de régression et donc votre code de correction rapide sera testé pendant toute la vie de l’application.
Quand vous aurez commencé à suivre le principe « tester d’abord, coder ensuite », vous l’appliquerez à tous vos développements. En effet, le test d’unité améliore les cycles de développement et provoque moins de ruptures de code. Votre travail sera plus gratifiant, vous serez un meilleur programmeur, et votre travail sera plus agréable.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
- Ofelia, ex-Bonitasoft, lance une solution d’orchestration IA agentique
- Le bruit au travail et ses effets sur la concentration dans les bureaux modernes
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
