Les tests de logiciels sont basés sur le contexte et les risques. Il exige une approche méthodique et disciplinée pour trouver les bogues. Un bon testeur de logiciels doit construire sa crédibilité et posséder l'attitude d'être explorateur, dépanneur, acharné, créatif, diplomate et persuasif.Contrairement à la perception selon laquelle les tests ne commencent qu'après l'achèvement de la phase de codage, ils commencent en fait avant même que la première ligne de code puisse être écrite. Dans le cycle de vie d'un logiciel classique, les tests commencent au moment où les spécifications sont rédigées, c'est-à-dire à partir du test des spécifications du produit ou des spécifications du produit. La découverte de bogues à ce stade peut permettre de gagner énormément de temps et d'argent.