À quoi sert ce calculateur
Cet outil calcule deux indicateurs de qualité logicielle très répandus : la densité de tests (le nombre de cas de test rapporté à la taille de votre base de code) et la densité de bugs (le nombre de défauts détectés rapporté à cette même taille). Les deux valeurs sont exprimées par LOC (Lines Of Code, lignes de code) et par KLOC (milliers de lignes de code), le KLOC étant l'unité de référence dans l'industrie. Il s'agit d'une métrique universelle, sans règle spécifique à un pays.
Comment l'utiliser
Saisissez le nombre de cas de test exécutés, le nombre de bugs détectés et la taille de votre code source. Indiquez si cette taille est exprimée en lignes brutes (LOC) ou en milliers de lignes (KLOC) : le calculateur la convertit en LOC bruts avant tout calcul. Toutes les densités sont ensuite obtenues automatiquement.
La formule expliquée
La taille du code est d'abord normalisée :
$$\text{locLines} = \text{loc} \times \text{facteur}$$où le facteur vaut 1 pour les LOC et 1000 pour les KLOC. Ensuite, la densité de tests par LOC = nombre de tests / locLines, et la densité de bugs par LOC = nombre de bugs / locLines. Les versions par KLOC se calculent simplement en multipliant la valeur par LOC par 1000. Le nombre de tests et le nombre de bugs restent des comptages entiers et ne sont jamais mis à l'échelle.
$$\begin{gathered} \text{Test Density} = \frac{\text{Test Count}}{L} \times 1000, \qquad \text{Bug Density} = \frac{\text{Bug Count}}{L} \times 1000 \\[1.5em] \text{where}\quad L = \text{Source Lines of Code} \times 1000 \;\; (\text{KLOC}) \end{gathered}$$
Exemple concret
Supposons que vous ayez exécuté 500 tests, détecté 25 bugs, et que votre base de code représente 10 KLOC. Taille normalisée = \(10 \times 1000 = 10\,000\) LOC. Densité de tests = \(500 / 10\,000 = 0{,}05\) test/LOC, soit 50 tests/KLOC. Densité de bugs = \(25 / 10\,000 = 0{,}0025\) bug/LOC, soit 2,5 bugs/KLOC.
$$\text{Densité de tests} = \frac{500}{10\,000} = 0{,}05 \text{ test/LOC} = 50 \text{ tests/KLOC}$$$$\text{Densité de bugs} = \frac{25}{10\,000} = 0{,}0025 \text{ bug/LOC} = 2{,}5 \text{ bugs/KLOC}$$FAQ
Pourquoi afficher à la fois les valeurs par LOC et par KLOC ? Les valeurs par LOC sont minuscules et peu lisibles ; l'usage dans l'industrie est donc de reporter les chiffres par KLOC. Les deux contiennent exactement la même information : l'une n'est que l'autre multipliée par 1000.
Pourquoi le résultat est-il vide ou en erreur ? Si le nombre de LOC est égal à zéro, la densité est mathématiquement indéfinie (division par zéro) : le calculateur affiche donc une erreur plutôt qu'une valeur infinie.
Peut-on comparer ces chiffres d'un projet à l'autre ? Uniquement si les règles de comptage des LOC sont identiques. Décidez une fois pour toutes si vous comptez les lignes de commentaires et les lignes vides, car ce choix modifie sensiblement les valeurs de densité.