đ§Ș En thĂ©orie des tests, lâeffet de couplage (Coupling Effect) dĂ©signe lâhypothĂšse selon laquelle un jeu de tests ne laissant pas passer des fautes simple ne laissera que marginalement passer des fautes complexes. EnoncĂ©e en 1978, il faut attendre 1989 et une Ă©tude dâOffutt pour lâappuyer Ă lâaide de preuves expĂ©rimentales.
đŸ En utilisant le principe des tests de mutation, lâauteur valide lâhypothĂšse sus-mentionnĂ©e. Il va mĂȘme plus loin en montrant que lâhypothĂšse du Programmeur CompĂ©tent nâest quâune version extrĂȘme de lâeffet de couplage.
đ LâhypothĂšse du Programmeur CompĂ©tent Ă©nonce quâun dĂ©veloppeur produira en gĂ©nĂ©ral des logiciels âpresque correctsâ. Personne nâĂ©crit le code dâun systĂšme dâexploitation par erreur en voulant dĂ©velopper un compilateur. Autrement dit, un dĂ©veloppeur tend Ă Ă©crire des mutants de rang faible (ayant peu de diffĂ©rences) par rapport au programme visĂ©. Un bon jeu de test cherche Ă attraper ces erreurs, donc nâa aucun intĂ©rĂȘt Ă attraper les mutants de rangs supĂ©rieurs. Cela reviendrait Ă vĂ©rifier que notre compilateur nâest pas, par erreur, devenu un systĂšme dâexploitation, soit une situation hautement improbable.
SOURCE
A. Offutt. 1989. The coupling effect: fact or fiction. In Proceedings of the ACM SIGSOFT â89 third symposium on Software testing, analysis, and verification (TAV3). Association for Computing Machinery, New York, NY, USA, 131â140. DOI:/10.1145/75308.75324
Enzo Sandré
DOIs: 10.1145/75308.75324