Software-Engineering ist ein Beruf, der sich der Analyse, dem Entwurf, der Implementierung und der Änderung von Software widmet, damit diese von hoher Qualität ist. Die Softwarequalität ist das Attribut zur Messung der Softwareeigenschaften. Um die Softwarequalität zu messen, werden eine Reihe von Softwaremetriken verwendet. Metriken sind ein quantitatives Maß für den Grad, in dem ein System, eine Komponente oder ein Prozess ein bestimmtes Attribut besitzt. Die Softwarequalität wird anhand von Softwarequalitätsfaktoren gemessen, die sie beeinflussen. Sie lassen sich grob in zwei Kategorien einteilen. Die Einteilung erfolgt auf der Grundlage der Messbarkeit. Zur ersten Kategorie gehören die Faktoren, die direkt gemessen werden können, z. B. Testbarkeit, Benutzerfreundlichkeit, Flexibilität und Effizienz.