Le testeur dispose d'une grande panoplie de méthodes et d'outils pour mener à bien sa mission de traque des erreurs.
Son choix sera guidé par un certain nombre de données comme la possibilité ou non d'exécuter le logiciel (chose impossible dans les phases initiales de conception), la possibilité d'accéder au code source du logiciel,
ou encore le type des erreurs recherchées (fonctionnelles, liées aux performances, conformité à des standards, etc.)