Je suis payé pour un code qui fonctionne, pas pour des tests, et ma philosophie consiste donc à tester le moins possible pour atteindre un niveau de confiance donné (je soupçonne que ce niveau de confiance est élevé par rapport aux normes de l'industrie, mais cela pourrait n'être que de l'orgueil). Si je ne fais pas typiquement un type d'erreur (comme définir les mauvaises variables dans un constructeur), je ne le teste pas. J'ai tendance à donner un sens aux erreurs de test, donc je fais très attention lorsque j'ai une logique avec des conditionnels compliqués. Lorsque je codifie en équipe, je modifie ma stratégie pour tester soigneusement le code que nous avons tendance, collectivement, à mal faire.
Différentes personnes auront des stratégies de test différentes basées sur cette philosophie, mais cela me semble raisonnable étant donné l'état immature de la compréhension de la façon dont les tests peuvent s'intégrer au mieux dans la boucle interne du codage. Dans dix ou vingt ans, nous aurons probablement une théorie plus universelle sur les tests à écrire, ceux à ne pas écrire et comment faire la différence. En attendant, l'expérimentation semble de mise.