11
votes

Qu'est-ce que la couverture de code?

J'ai 3 questions:

  • Qu'est-ce que le codécouverage?
  • Qu'est-ce que c'est bon?
  • Quels outils sont utilisés pour Analyser la couverture de code?

0 commentaires

9 Réponses :


1
votes

Le terme fait référence à la manière dont votre programme est couvert par vos tests. Voir l'article Wikipedia suivant pour plus d'informations:

http://fr.wikipedia.org/wiki/code_coverage


0 commentaires

4
votes

de Article Wikipedia

la couverture du code est une mesure utilisée dans Test de logiciel. Il décrit le degré auquel le code source d'un programme a été testé. C'est une forme des tests qui inspectent le code directement et est donc une forme de Test de boîte blanche 1 . Actuellement, le L'utilisation de la couverture de code est étendue à le domaine du matériel numérique, le Méthodologie de design contemporain de qui repose sur la description du matériel Langues (HDLS).

Promouvoir l'utilisation de la couverture de code

Un outil de couverture de code permet simplement de garder Suivi de laquelle les parties de votre code obtiennent exécuté et quelles parties ne le font pas.

généralement, les résultats sont granulés vers le bas au niveau de chaque ligne de code. Donc Dans une situation typique, vous lancez Votre application avec une couverture de code outil configuré pour le surveiller. Lorsque Vous quittez l'application, l'outil produira un rapport de couverture de code qui montre quelles lignes de code étaient exécuté et lesquels n'étaient pas. Si vous comptez le nombre total de lignes qui ont été exécutés et divisent par le nombre total de lignes qui auraient pu été exécuté, vous obtenez un pourcentage. Si vous croyez en la couverture du code, le plus élevé le pourcentage, mieux c'est. Dans pratique, atteindre 100% est extrêmement rare.

L'utilisation d'un outil de couverture de code est généralement combiné avec l'utilisation de certains type de suite de test automatisé. Sans Tests automatisés, une couverture de code outil ne vous dit que cela comporte un l'utilisateur humain se souvient d'utiliser. Tel que l'outil est beaucoup plus utile quand il est Mesurer dans quelle mesure votre suite de test complète est par rapport au code que vous avez écrit.

articles connexes

L'avenir des outils de couverture de code

L'efficacité des outils de couverture de code dans les tests logiciels

outils

Outils de couverture de code source Open Source en Java


0 commentaires

2
votes

La couverture de code est une mesure utilisée dans les tests logiciels. Il décrit la mesure dans laquelle le code source d'un programme a été testé.

http://fr.wikipedia.org/wiki/code_coverage

La définition Wikipedia est plutôt bonne, mais dans mes propres mots Code, la couverture de code vous indique la quantité de tests automatisés que vous avez comptabilisés. 100% signifierait que la seule ligne de code unique dans votre demande est couverte par un test unitaire.

NCOVER est une application pour .NET


0 commentaires

13
votes

Vous pouvez obtenir de très bonnes informations à partir de Site Web SO

Outils de couverture de code GRATUIT

Qu'est-ce que la couverture de code et comment mesurez-vous il?

couverture de code est une mesure du nombre de lignes / blocs / arcs de votre code sont exécutés pendant que les tests automatisés sont en cours d'exécution.cc est collecté à l'aide d'un outil spécialisé pour instrument les fichiers binaires pour ajouter des traçages appelle et exécutez un ensemble complet de tests automatisés contre le produit instrumenté. Un bon outil CC vous donnera non seulement le pourcentage du code exécuté, mais vous permettra également de percer dans les données et de voir exactement quelles lignes de code ont été exécutées lors d'un test particulier.

Les algorithmes de couverture de code ont d'abord été créés pour résoudre le problème de l'évaluation d'un code source en regardant directement le code source. La couverture de code appartient à la catégorie de test structurelle en raison des affirmations effectuées sur les parties internes du programme et non sur les sorties du système. Par conséquent, la couverture de code vise à trouver des parties du code qui ne valent pas la peine d'être testée.

http://www.stickyds.com/sitewide.asp ? Fonction = eDetail & ObjectType = Art & ObjecteD = 7580 Texte alt http://www.codecoveragetools.com/images/stories/software_lifecycle.jpg < / a>

c'est bon pour

  1. Couverture fonctionnelle visant à trouver combien de fonctions ou de procédures exécutées.

  2. Couverture de la déclaration ou de la ligne identifiant le nombre de lignes du code source a été exécutée.

  3. Couverture de condition ou couverture de la décision répond à la question sur le nombre de conditions de boucle ont été exécutées dans le programme.

  4. Couverture de chemin qui se concentre sur la recherche de tous les chemins possibles d'un point de départ donné dans le code a été exécuté.

  5. Couverture d'entrée et de sortie qui trouve le nombre de fonctions (C / C ++, Java) ou des procédures (Pascal) exécutaient du début à la fin.

    outils

    http://www.codecoveragetools.com/

    http://java-source.net/open-source/code-couvernement

    http: //www.codecoveragetools .com / index.php / couverture-processus / codes-couverture-outils-java.html

    http://open-tube.com/10-code- couverture-outils-cc /

    http://cshaarp-source.net/open-source/code-couvernement

    http://www.kdevelopers.org/node/3190


0 commentaires

3
votes

La couverture de code est une métrique, montrant comment "bien" le code source est testé. Il existe plusieurs types de couverture de code: couverture de ligne, couverture de fonction, couverture de la branche.

Afin de mesurer la couverture, vous devez exécuter l'application manuellement ou par test automatisé.

Les outils peuvent être divisés en deux catégories: - ceux qui exécutent le code compilé dans un environnement modifié (comme le débogueur), en comptant les points requis (fonctions, lignes, etc.); - ceux qui nécessitent une compilation spéciale - dans ce cas, le binaire résultant contient déjà le code qui comptait réellement le comptage.

Il existe plusieurs outils pour mesurer et visualiser le résultat, ils dépendent de la plate-forme, de la langue du code source.

Veuillez lire l'article sur Wikipedia

Pour vous fournir des outils, veuillez définir pour quels OS et langue utilisez-vous.


2 commentaires

La couverture de code ne signifie pas directement que vous avez testé votre code bien. Si vous faites de très bons tests et faites-les d'une valeur de test élevée, vous aurez une bonne couverture de code


D'accord, cependant d'obtenir une valeur de couverture élevée, il faut créer des tests pour les nombreux cas d'erreur généralement que le code contient. Cela impliquera des tests "bons"



0
votes

Les autres réponses couvrent déjà quelle est la couverture du code. La pensée que je voudrais souligner, c'est que vous devez faire attention à ne pas traiter une couverture élevée, ce qui signifie implicitement que vous avez testé tous les scénarios. Cela ne dit pas nécessairement comment Eh bien Vous avez testé le code ou la qualité de vos tests, juste que vous avez frappé un certain pourcentage de code dans le cadre des tests en cours d'exécution.

La couverture haute code ne signifie pas nécessairement une qualité de test élevée, mais une qualité de test élevée signifie une couverture de code élevée

En pratique, je vise généralement à 90 à 95% de couverture de code qui est souvent réalisable. Les derniers% sont souvent trop chers pour avoir la peine d'être essayé de frapper.


0 commentaires

0
votes

Il existe de nombreuses façons de développer des applications. Un de ceux-ci est "Programmation extrême" ou "Design piloté par tests (TDD)". Il indique que tout le code doit être testé. La couverture de code est un moyen de mesurer la quantité de test.

J'aimerais faire une petite remarque à ce sujet: je ne pense pas que tous les codes soient testés, ni permettre de définir un pourcentage spécifique de la couverture du code. Je ne pense pas non plus que le code ne doit pas être testé avec des tests d'unités (code de test de code). Je pense que l'on devrait décider de ce qui est logique de tester. En raison de cette raison, je n'utilise généralement pas la couverture de code.

Une chose que certains outils fournissent, se met en surbrillance les pièces testées. De cette façon, vous pourriez rencontrer du code qui n'est pas testé mais devrait être, ce qui est la seule chose que je l'utilise.


0 commentaires

0
votes

bonnes réponses.

Mes deux cents est qu'il n'ya pas de méthode de test qui attrape toutes les erreurs, mais moins de tests ne contribueront jamais plus d'erreurs, de sorte que tout test est bon. À mon avis, les tests de couverture ne doivent pas montrer quel code a été exercé a été exercé, mais de montrer quel code a été exercé par non été, car c'est là que c'est là que c'est là que les bugs adorent à Lurk. < / p>

Si vous le combinez avec une seule étape, c'est un très bon moyen de revoir le code et de capturer des bugs. Voici un exemple.


0 commentaires

0
votes

Un autre outil utile pour assurer la qualité du code (qui englobe la couverture du code) que j'ai récemment utilisé est sonar. Voici le lien http://www.sonarqube.org/


0 commentaires