CERDECAM, Bruxelles, 2006
La dette technique mesure le côté brouillon ou périmé des travaux de développement d'un logiciel. Au fur et à mesure la quantité de code "boulet".
Est-ce que votre code est facile à faire évoluer ? Pouvez-vous obtenir un retour instantané sur chacun de vos changements ? Si la réponse à une de ces questions est NON, vous avez du code "boulet". Et celui-ci vous pompe du temps et de l'énergie.
Dans la version 1 : Communication - Simplicité - Feedback - Courage.
Dans la version 2 : Communication - Simplicité - Feedback - Courage - Respect.
Dans la version 1
Dans la version 2
Vous pouvez investir dans des outils mais ceux n'ajoutent aucune valeur avec le temps : les intérts (au sens bancaire du terme) sont négligeables.
Nous accordons plus de valeurs aux individus et aux interactions. Et moins aux procédures et aux outils.
Extrait du Agile Manifesto.
Dans cet univers d'interactions, il y a des tests unitaires et fonctionnels -- les tests développeur : Kent Beck -- Developer Testing.
Definition d'un test unitaire : c2 wiki
Définition d'un test fonctionnel : c2 wiki
Voici probablement ce que vous souhaitez éviter :
Voici ce que les tests automatisés peuvent faire pour vous :
N'hésitez pas à aller découvrir d'autres personnes entièrement satisfaites.
Confiance et sérénité sont les mots magiques.
Vous savez que a marche et vous savez quand a marche. Les tests développeur, c'est bien !
Il se pourrait bien qu'au passage on gagne une bataille contre le spam : dès la racine.
Une fois que tous les développeurs auront cessé de perdre leurs cheveux, il ne restera que les messages à propos du Viagra...
La documentation SimpleTest et ses tutoriaux sont pas mals (je sais, je les ai traduit ;-).
<?php require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php'); require_once('../classes/log.php'); class TestOfLogging extends UnitTestCase { function testCreatingNewFile() { @unlink('/temp/test.log'); $log = new Log('/temp/test.log'); $this->assertFalse(file_exists('/temp/test.log')); } } $test = &new TestOfLogging(); $test->run(new HtmlReporter()); ?>
Et qu'est-ce qu'on y gagne ?
<?php require_once('simpletest/web_tester.php'); require_once('simpletest/reporter.php'); class TestOfCerdecam extends WebTestCase { function testImageDuPlan() { $this->get('http://www.ecam.be/images/stories/plan%20général%20voiture.gif'); $this->assertResponse(200); } } $test = &new TestOfCerdecam(); $test->run(new HtmlReporter()); ?>
Vous avez écrit quelques tests, c'est assez pénible. Et puis un jour quelque chose de bizarre arrive : vous modifiez du code ici, puis lancez votre suite de tests et une barre rouge appara”t là-bas. Vous étiez sur le point d'introduire un nouveau bug et il a été découvert automatiquement. A partir de maintenant, votre investissement va payer.
Vous te sur le point de devenir "test infected".
Ecrire un test avant du code est votre nouvelle ligne de conduite. Le rythme de votre production change :
Euh, en fait a ressemble plutôt à :
Pour la liste de quelqu'un d'autre : Keith Ray.
Actuellement il y a deux paquets de tests unitaires en PHP qui soient effectivement actifs : Pear PHPUnit (Sebastian Bergmann) et SimpleTest (Marcus Baker).
Au coeur de SimpleTest :
La version qui arrive (1.1) devrait ajouter :
Des outils pour développeurs utilisant SimpleTest (I):
Des outils pour développeurs utilisant SimpleTest (II):
Des outils pour développeurs utilisant SimpleTest (IV):
Des cartes en papier pour : écrire / gommer / raturer / colorer / trier / voir de loin / voir de près / échanger / trier / déchirer
http://www.lastcraft.com/simple_test.php
bo”te : No Parking
blog : :: onpk ::
communauté : AFUP