Τι είναι η πυκνότητα ελαττώματος; Τύπος υπολογισμού με Παράδειγμα

Τι είναι η πυκνότητα ελαττώματος;

Πυκνότητα ελαττώματος είναι ο αριθμός των ελαττωμάτων που επιβεβαιώνονται στο λογισμικό/μονάδα κατά τη διάρκεια μιας συγκεκριμένης περίοδος λειτουργία ή ανάπτυξη διαιρούμενη με το μέγεθος του λογισμικού/ενότητας. Επιτρέπει σε κάποιον να αποφασίσει εάν ένα κομμάτι λογισμικού είναι έτοιμο να κυκλοφορήσει.

Η πυκνότητα ελαττώματος μετράται ανά χίλιες γραμμές κώδικα που είναι επίσης γνωστή ως KLOC.

Πώς να υπολογίσετε την πυκνότητα ελαττώματος

Ένας τύπος για τη μέτρηση της πυκνότητας ελαττώματος:
Defect Density = Defect count/size of the release

Το μέγεθος απελευθέρωσης μπορεί να μετρηθεί με βάση μια γραμμή κώδικα (LoC).

Παράδειγμα πυκνότητας ελαττώματος

Ας υποθέσουμε ότι έχετε 3 ενσωματωμένες ενότητες στο προϊόν λογισμικού σας. Κάθε ενότητα έχει τον ακόλουθο αριθμό σφαλμάτων που ανακαλύφθηκαν-

  • Ενότητα 1 = 10 σφάλματα
  • Ενότητα 2 = 20 σφάλματα
  • Ενότητα 3 = 10 σφάλματα

Συνολικά σφάλματα = 10+20+10 =40

Η συνολική γραμμή κώδικα για κάθε ενότητα είναι

  • Ενότητα 1 = 1000 LOC
  • Ενότητα 2 = 1500 LOC
  • Ενότητα 3 = 500 LOC

Συνολική γραμμή κώδικα = 1000+1500+500 = 3000

Η πυκνότητα ελαττώματος υπολογίζεται ως εξής:

Defect Density = 40/3000 = 0.013333 defects/loc = 13.333 defects/Kloc

Πυκνότητα ελαττώματος

Πρότυπο για την πυκνότητα ελαττώματος

Ωστόσο, δεν υπάρχει σταθερό πρότυπο για την πυκνότητα σφαλμάτων, οι μελέτες δείχνουν ότι ένα ελάττωμα ανά χίλιες γραμμές κώδικα θεωρείται γενικά ως ένδειξη καλής ποιότητας έργου.

Παράγοντες που επηρεάζουν τις μετρήσεις πυκνότητας ελαττώματος
  • Πολυπλοκότητα κώδικα
  • Το είδος των ελαττωμάτων που ελήφθησαν υπόψη για τον υπολογισμό
  • Χρονική διάρκεια που λαμβάνεται υπόψη για τον υπολογισμό της πυκνότητας ελαττώματος
  • Δεξιότητες προγραμματιστή ή δοκιμαστή

Πλεονεκτήματα της πυκνότητας ελαττώματος

  • Βοηθά στη μέτρηση της αποτελεσματικότητας των δοκιμών
  • Βοηθά στη διαφοροποίηση των ελαττωμάτων σε εξαρτήματα/μονάδες λογισμικού
  • Είναι χρήσιμο για τον εντοπισμό των περιοχών για διόρθωση ή βελτίωση
  • Είναι χρήσιμο για την κατεύθυνση προς εξαρτήματα υψηλού κινδύνου
  • Βοηθά στον προσδιορισμό των αναγκών κατάρτισης σε διάφορους πόρους
  • Μπορεί να είναι χρήσιμο για την εκτίμηση της δοκιμής και της επανάληψης της εργασίας λόγω σφαλμάτων
  • Μπορεί να εκτιμήσει τα υπόλοιπα ελαττώματα στο λογισμικό
  • Πριν από την κυκλοφορία, μπορούμε να προσδιορίσουμε εάν η δοκιμή μας είναι επαρκής
  • Μπορούμε να εξασφαλίσουμε μια βάση δεδομένων με τυπική πυκνότητα ελαττώματος