A priori je dirais parce que les développeurs n'ont pas le temps, l'envie ou la connaissance pour faire des tests unitaires (tester un bout du code), d'intégration (mettre bout à bout les différentes parties), du système (tester l'intégration de l'ensemble), de régression (la nouvelle version n'est pas pire que l'ancienne), de charge (comportement en multipliant les utilisations simultanéesi, ou en augmentant la taille des données à traiter), de performance (rapidité du logiciel dans une situation donnée), de stress (soumettre des données atypiques ou erronées pour étudier la robustesse), de sécurité (rechercher des problèmes de sécurité dans le code ou l'algorithme), d'installation (le logiciel s'installe correctement et sur toutes les configurations logicielles et matérielles souhaitées), d'utilisabilité (mesurer comment le logiciel permet bien aux utilisateurs de faire ce pour quoi il est fait), de stabilité, d'acceptation par l'utilisateur, de conformité (respect de normes, formats, protocoles, etc.), de couverture (chaque ligne de code est testée, ou recherche de code inutile), etc., etc.
Globalement un projet parfait pour un hacker pur nécessiterait un temps quasi infini (et je passe sur les blagues sur hacker vaillant rien d'impossible).
Parfois les développeurs font une partie de ces tests sur leur projet, parfois un type motivé lance un type de tests sur plein de projets (genre recherche d'une faille de sécu donnée sur l'intégralité des sources du projet Debian), parfois un organisme écrit un papier sur tel ou tel sujet et réalise un audit de divers projets, mais globalement tous les tests ne sont pas réalisés sur tous les projets, cela nécessiterait probablement un temps infini, un argent infini, un nombre infini de développeurs, un nombre infini d'ordi. et personne n'a trouvé « La méthode pour trouver des vies infinies dans les jeux qui sont trop difficiles sinon (LMPTDVDLJQSTDS) » (référence cachée).
[^] # Re: Fuzzing, une technique très intéressante
Posté par Benoît Sibaud (site web personnel) . En réponse à la dépêche Sortie d'un utilitaire de fuzzing Bluetooth BSS v0.6. Évalué à 5.
Globalement un projet parfait pour un hacker pur nécessiterait un temps quasi infini (et je passe sur les blagues sur hacker vaillant rien d'impossible).
Parfois les développeurs font une partie de ces tests sur leur projet, parfois un type motivé lance un type de tests sur plein de projets (genre recherche d'une faille de sécu donnée sur l'intégralité des sources du projet Debian), parfois un organisme écrit un papier sur tel ou tel sujet et réalise un audit de divers projets, mais globalement tous les tests ne sont pas réalisés sur tous les projets, cela nécessiterait probablement un temps infini, un argent infini, un nombre infini de développeurs, un nombre infini d'ordi. et personne n'a trouvé « La méthode pour trouver des vies infinies dans les jeux qui sont trop difficiles sinon (LMPTDVDLJQSTDS) » (référence cachée).