17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Programmation</strong> dirigée par les tests<br />

CHAPITRE 12<br />

Rythmez continuellement les séquences de test et de codage, ne reportez jamais<br />

l’écriture de certains tests à plus tard si vous êtes côté code.<br />

Pour un refactoring, c’est-à-dire une modification en profondeur d’un code existant,<br />

essayez de segmenter au maximum le travail de réécriture pour pouvoir<br />

relancer la batterie de tests complète régulièrement et modifier si nécessaire certains<br />

tests.<br />

Un développeur qui débute dans cette technique dérape facilement vers des tests trop<br />

longs ou incomplets. La pertinence des tests s’acquiert par expérience et goût.<br />

Tests fonctionnels<br />

Les tests fonctionnels ont le même objectif que les tests unitaires, mais imitent un<br />

utilisateur qui se sert de l’applicatif.<br />

L’objectif n’est plus dans ce cas de couvrir systématiquement chaque ajout de code,<br />

mais plutôt de valider globalement que les fonctionnalités demandées sont bien couvertes<br />

par le logiciel.<br />

Ces tests peuvent être utilisés au moment de la recette pour vérifier avec le client que<br />

le produit livré correspond bien à ses attentes. Ils deviennent une sorte de checklist,<br />

où chaque point du cahier des charges est vérifié.<br />

Dans certains cas, et si les outils le permettent, ces tests peuvent même être conçus<br />

par le client lui-même.<br />

Ces tests constituent un excellent outil commercial pour prouver la qualité du code<br />

au client. Ils permettent aussi la prévention de régressions qui apparaissent au cours<br />

de l’évolution du développement d’une application.<br />

La question à se poser est donc :<br />

« Que m’apportent de plus les tests fonctionnels que les tests unitaires à moi,<br />

développeur ? »<br />

Tests de l’interface<br />

Les tests fonctionnels doivent opérer sur le logiciel de la même manière qu’un utilisateur.<br />

Ils doivent donc utiliser l’interface du logiciel.<br />

Dans le cas de programmes utilisés en ligne de commande, l’interface entre le programme<br />

et l’utilisateur est très étroite, et les tests fonctionnels s’apparentent plus à<br />

des tests d’intégration en mode boîte noire : on vérifie que les différents composants<br />

de l’application fonctionnent correctement pour un ensemble de paramètres d’entrée<br />

qui correspondent aux différents scenarii d’utilisation.<br />

401

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!