Tout à fait les deux peuvent être utilisés conjointement.
Dans un développement logiciel itératif on peut distinguer (grossièrement) une phase de réalisation des composants et une phase d'assemblage (intégration) de ces composants
Durant la première phase:
Les contrats definissent des invariants qui doivent être respectés lors de l'execution.
Les tests unitaires se comportent alors un peu comme des "injecteurs " qui permettent de vérifier que les contrats sont respectés de façon (quasi) exhaustive.
Lors de l'assemblage, les contrats garantissent que les composant s'emboîtent correctement
Le tests unitaires servent de base de non regression pour les itérations suivantes.
[^] # Re: Ah oui mais...
Posté par golum . En réponse à la dépêche Démarche qualité et Logiciel Libre. Évalué à 2.
Dans un développement logiciel itératif on peut distinguer (grossièrement) une phase de réalisation des composants et une phase d'assemblage (intégration) de ces composants
Durant la première phase:
Les contrats definissent des invariants qui doivent être respectés lors de l'execution.
Les tests unitaires se comportent alors un peu comme des "injecteurs " qui permettent de vérifier que les contrats sont respectés de façon (quasi) exhaustive.
Lors de l'assemblage, les contrats garantissent que les composant s'emboîtent correctement
Le tests unitaires servent de base de non regression pour les itérations suivantes.