Jason réponse est bonne. Différents types de tests ont des objectifs différents, et peuvent être superposées pour obtenir de meilleurs résultats (une bonne conception, la conformité aux spécifications, réduit les défauts).
- Les tests unitaires = les lecteurs de la conception (avec Test-Driven Development, ou TDD)
- Les tests d'intégration = faire toutes les pièces de travailler ensemble
- L'acceptation par le client de test = répond-il aux exigences du client
- Test manuel = recouvre souvent l'INTERFACE utilisateur; dédié testeurs peuvent trouver ce manque d'automatisation
- Le test de charge = comment le système réalistes, avec des quantités de données
Il ya un certain chevauchement entre ces catégories, les tests unitaires pouvez spécifier le comportement, par exemple.
Et il en existe d'autres; pour plus que la plupart des gens de soins de savoir, de voir de Test de Logiciels.
Un point les gens manqué, c'est que le test unitaire est de tester des morceaux de code dans l'isolement. Bon les tests unitaires n'ont pas accès à la base de données, par exemple. Cela a deux avantages: il permet l'exécution des tests rapides de sorte que vous allez exécuter le plus souvent, et il vous oblige à écrire faiblement couplé classes (meilleure conception).
Vous avez demandé ressources; je recommande Roy Osherove du livre L'Art de Tests Unitaires avec Exemples .NET. Alors qu'aucun livre n'est parfait, cela donne beaucoup d'excellents conseils sur la rédaction d'un bon de tests.
EDIT: Et pour l'écriture des tests sur un logiciel existant, rien ne vaut Michael Plumes " livre de Travailler de façon Efficace avec le Code existant.