2010-02-03 22 views
3

Je suis à la recherche d'un outil qui peut me donner des mesures plus significatives sur la couverture de code pour mon équipe. Par exemple, deux choses que j'aimerais voir:Y a-t-il des outils de couverture de code qui peuvent me dire juste sur le code que j'ai écrit pendant mon dernier sprint?

  • Quelle couverture de code avons-nous eu en tant qu'équipe pour le code écrit lors de notre dernier sprint?
  • Quelle couverture de code le nouveau code a-t-il été décomposé par le développeur?

Est-ce que quelqu'un a déjà fait quelque chose comme ça auparavant? Quels outils sont disponibles? Plus précisément, je travaille en Java et je suis intéressé par des solutions libres ou commerciales.

Répondre

0

Regardez dans sonar. Il peut être renseigné sur les versions par sprint.

0

Vous avez deux problèmes:

1) Quelle est la couverture du code que j'ai actuellement? 2) Quelle est la couverture par rapport à ce que j'avais l'habitude d'avoir?

Je pense que vous avez besoin de trois outils:

a) pour calculer la couverture de votre application de cet instant,

b) quelque chose qui calcule la différence entre ce que vous avez maintenant, et ce que vous aviez la dernière temps que vous avez calculé couverture de code,

c) quelque chose pour choisir les données de couverture qui change.

Vous pouvez obtenir a) à partir d'un certain nombre d'outils de couverture de test Java, mais vous le souhaitez sous une forme que vous pouvez traiter pour l'étape c). Le SD Java Test Coverage Tool fournit ces données sous une forme utilisable. La couverture de test est signalée en XML avec les données de numéro de ligne afin que vous puissiez facilement créer un outil pour extraire ce que vous voulez.

b) N'importe quel outil diff permettra d'identifier les différences de fichiers sous l'hypothèse que les fichiers de la version précédente et de cette version s'alignent les uns avec les autres. Si ce n'est pas le cas, vous pouvez simplement supposer que les données de couverture de test sont complètement différentes: -} Cependant, vous voulez le plus petit diff que vous pouvez obtenir; voir le SD Java Smart Differencer Tool pour un outil qui calcule souvent des deltas beaucoup plus petits que les diff conventionnels. La sortie du Smart Differencer est lisible par machine.

c) Ne disposez pas d'une réponse standard pour cela, mais un script Perl combinant les informations de a) et b) ferait probablement l'affaire. Ce que vous voulez signaler est, pour chaque delta explicite identifié par l'outil diff, quelles sont les données de couverture, et pour tout code non modifié selon l'outil de comparaison, si la nouvelle couverture est inférieure à l'ancienne couverture.