Qu'est-ce que la couverture de code?
La couverture du code est connue comme la mesure dans laquelle nous décrivons le degré de code source du programme qui doit être testé. La couverture du code, en bref, est un type de technique de test de boîte blanche dans laquelle nous localisons les parties du programme qui n'ont pas été exécutées par l'ensemble de cas de test. Ils intègrent également dans la création de quelques cas de test afin d'augmenter la couverture ainsi que la détermination de la très bonne mesure de la couverture du code. Cependant, dans de nombreux cas, ce système collecte des informations concernant le programme en cours d'exécution. La couverture du code, en outre, l'intègre avec les informations du code source afin de retirer le rapport concernant la couverture du code de la suite de tests.
Comment fonctionne la couverture de code?
Il existe en fait différentes approches pour mesurer la couverture du code. Si nous considérons de manière large, il existe 3 des approches qui sont les suivantes:
- Instrumentation du code source : L' instrumentation du code source ajoutera les instructions d'instrumentation au code source, puis elle compilera le code avec l'outil de compilation normal afin de nous obtenir un assemblage instrumenté.
- Instrumentation de code intermédiaire: dans l'instrumentation de code intermédiaire, les fichiers compilés sont instrumentés par l'ajout de bytecodes qui sont nouveaux et après cela, la nouvelle classe est générée.
- Collecte d'informations d'exécution: dans la collecte d'informations d'exécution, nous collectons les informations de l'environnement qui est à l'exécution puisque le code est exécuté afin de déterminer les informations de couverture.
Étant donné que le code est exécuté dans le cadre du test, le système de couverture du code collecterait des informations sur lesquelles des instructions sont exécutées. Désormais, ces informations serviront de base aux rapports. En outre, les méthodes de couverture de code diffèrent selon les différentes formes des informations de couverture collectées. Il existe différentes méthodes de couverture de code si nous allons au-delà des méthodes de couverture des instructions de base.
Méthodes de couverture du code
Il existe de nombreuses méthodes de couverture de code. Peu d'entre eux sont énumérés ci-dessous:
- Couverture de la condition
- Couverture FSM
- Couverture du relevé
- Couverture des décisions
- Couverture des succursales
1. Couverture du relevé
- Il s'agit de la technique de conception de test en boîte blanche dans laquelle nous traitons l'exécution de toutes les instructions exécutables au moins une fois qui existe dans le code source. La couverture du code est nécessaire dans le calcul ainsi que dans la mesure de nombreuses instructions qui existent dans le code source ainsi que celles qui peuvent être exécutées à condition que les exigences soient données.
- Cette méthode est nécessaire dans la dérivation des scénarios en fonction de la structure du code qui existe sous le test.
2. Couverture des décisions
- Cette méthode est utile pour signaler les résultats vrais ou faux de chaque expression booléenne. Les expressions de cette couverture deviennent souvent compliquées. C'est pourquoi il est assez difficile d'obtenir une couverture à 100%.
- C'est la raison même pour laquelle il existe différentes méthodes pour signaler ce type de métrique. Ces méthodes entières traitent essentiellement de la couverture des combinaisons les plus importantes. La couverture de décision offre une grande sensibilité afin de contrôler le flux.
3. Couverture des succursales
- Lorsque nous parlons de ce type, nous voulons dire que chaque sortie provenant du module de code est testée. À titre d'exemple, nous pouvons considérer que si les sorties sont binaires, nous testerons les sorties Vrai et Faux.
- La couverture des succursales nous aide à garantir que toutes les succursales possibles provenant de chacune des décisions, la condition soit exécutée au moins une fois.
- Grâce à la méthode de couverture des succursales, nous pouvons calculer la fraction des segments de code qui sont indépendants. De plus, cette méthode nous permet de découvrir quelles sections du code n'ont pas de branches.
Il existe la formule de calcul de la couverture des succursales:
Couverture des succursales = nombre de succursales exécutées / nombre total de succursales exécutées
4. Couverture des conditions
- La couverture de condition, également appelée couverture d'expression, nous indique comment les variables ou les sous-expressions qui existent dans l'instruction conditionnelle sont évaluées.
- Prenons un exemple dans lequel une expression se compose des opérations booléennes telles que AND, OR ou XOR qui se compose du nombre total de possibilités.
- Cette méthode nous donne en fait une bien meilleure sensibilité pour contrôler le flux par rapport à la couverture de décision. Cette méthode ne nous donne aucune garantie quant à la couverture complète de la décision.
Il existe la formule de calcul de la couverture des succursales:
Couverture de la condition = nombre d'opérandes exécutées / nombre total d'opérandes exécutées
5. Couverture des machines à états finis
- Cette méthode est considérée comme le type de méthode de couverture de code le plus complexe. La raison en est que cette méthode fonctionne réellement sur le comportement de la conception.
- De plus, dans cette méthode, nous avons pu découvrir combien d'états spécifiques au temps étaient visités et transités. De plus, cette méthode vérifie également combien de séquences sont prises en compte dans la machine à états finis.
Avantages de la couverture du code
Certains des avantages sont donnés ci-dessous:
- Il est très utile dans l'évaluation de la mesure quantitative de la couverture du code
- Cela nous permet également de créer des cas de tests supplémentaires afin d'augmenter la couverture
- La couverture du code nous permet également de localiser les parties du programme qui ne sont pas utilisées par les cas de test.
Inconvénients de la couverture du code
Certains des inconvénients sont indiqués ci-dessous:
- Chaque fois qu'une fonctionnalité particulière n'est pas bien implémentée à l'intérieur de la conception, la couverture du code serait toujours une couverture de 100%.
- Il est impossible de comprendre si vous testez toutes les valeurs possibles de la fonctionnalité via la couverture du code
- Cela ne dit pas non plus combien et à quel point nous avons couvert notre logique.
Conclusion
La couverture du code est considérée comme la mesure dans laquelle nous décrivons le degré auquel le code source d'un programme a été testé. Cela nous aide également à calculer l'efficacité de l'implémentation des tests. En outre, la couverture des instructions signifie l'exécution de toutes les instructions exécutables au moins une fois.
Articles recommandés
Ceci est un guide pour la couverture du code. Nous discutons ici des méthodes et du fonctionnement de la couverture de code? ainsi que des avantages et des inconvénients. Vous pouvez également consulter les articles suivants pour en savoir plus -
- Comment la couverture des tests facilite-t-elle le travail?
- Divers outils de test GUI
- Types de tests de mutation
- Qu'est-ce que CodeIgniter?
- Outils de couverture de code | Les 6 meilleurs outils de couverture de code
- Qu'est-ce qu'un cas de test? | Trucs et astuces