46 votes

Quels cadres de test de mutation existent pour C / C ++?

Le test de mutation existe depuis un certain temps déjà, et il semble qu’il existe au moins un ou deux cadres de test de mutation commerciale pour C / C ++. Les avez-vous utilisé? Quelles sont vos expériences? Existe-t-il des alternatives open source?

10voto

David Titarenco Points 17148

Une brève recherche a abouti à:

Avec cela dit, vous devez réaliser que les tests de mutation n'est pas particulièrement utile (au moins à partir de certains trucs que j'ai déjà lu). C'est un outil intéressant face à dur (métaphoriquement parlant) s'affirme et de faire en sorte que les exigences en matière de données soient pris en compte (lors de l'affaire avec if and only if des situations).

À mon avis, il y a beaucoup plus de façons habituelles de l'analyse de la robustesse du code.

4voto

Alexei Polkhanov Points 481

Notez que Parasoft de l'outil ne génère l'équivalent des mutations. Qui fait écho au problème décrit sur Wikipédia article sur le Test de Mutation - il est difficile de distinguer entre l'équivalent, et non l'équivalent des mutations, donc ils ont décidé de coller avec l'équivalent.

J'ai essayé un autre outil intéressant qui peut automatiquement découvrir les invariants d'instrumentation de code C et C++ - il est appelé "Daikon". Essentiellement, il est en train de faire la même chose que l'outil qui génère l'équivalent des mutations, mais au lieu d'identifier les problématiques de code, il vous offre un ensemble d'invariants tels que "A == B + 1". Je pense que les invariants sont plus utile, parce que quand vous regardez découvert invariant, il vous donne l'assurance que votre code est correct si l'invariant de sens, et ensuite, vous pouvez convertir les invariants dans l'affirme et qui vous donne plus de confiance lorsque vous changer de code.

3voto

dennis Points 11

Un script python simple pour la mutation de programmes c est disponible à l'adresse suivante:

http://www.arun-babu.com/mutate.py

l'auteur dit que cela fonctionne mieux si le code testé est commenté et mis en retrait.

et il est également gratuit et opensource ... Je pense que c'est ce que vous recherchez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X