The coupling effect: fact or fiction

✒ Enzo SandrĂ© · 📆 28/02/2023 · đŸ§Ș Tests

đŸ§Ș 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