Gemäß der Definition der Qualität teilt sich die Software-Qualität in Software-Prozessqualität und Software-Produktqualität. Die Produktqualität lässt sich gemäß der verschiedenen möglichen Software-Produkte differenzieren; Quellcode ist eines dieser Produkte. Für Quellcode gilt die Besonderheit, dass er zwei prinzipiell verschiedenen Prüfverfahren unterworfen werden kann:
Ausführungsbasierte Prüfung: Quellcode kann getestet werden, d.h. sein Verhalten kann für eine Auswahl der möglichen Umgebungsbedingungen, also stichprobenartig untersucht werden.
Nicht ausführungsbasierte Prüfung: Quellcode kann einer Inspektion unterzogen werden, also einer Lektüre und Bewertung durch Experten.
Andere Arbeitsergebnisse als Quellcode lassen sich nicht ausführen, d.h. ausführungsbasierte Prüfverfahren stehen nur für Quellcode zur Verfügung.
Die bei Produktmerkmalen übliche Unterscheidung in interne und externe Merkmale trifft auch auf Quellcode zu. Die Unterschiedlichkeit der Prüfverfahren:
Quellcodeeigenschaften, die man nur durch eine Form der Ausführung, also unter Beachtung der Hardware, des Betriebssystems, der Eingaben und weiterer Einsatzbedingungen feststellen kann, heißen extern. Ein typisches Beispiel ist die Ausfallhäufigkeit eines Programms, etwa gemessen in Ausfällen pro Tag. Diese ist i.Allg. abhängig von der Benutzungsweise des Programms in einer konkreten Umgebung, sie lässt sich also prinzipiell nicht am Quellcode allein ablesen. Ein anderes Beispiel ist die Bearbeitungszeit des Systems für gewisse Eingaben.
Interne Quellcodeeigenschaften dagegen sind solche, die sich allein durch die Inspektion des Quellcodes feststellen lassen. Ein typisches Beispiel ist die Einhaltung eines vorgegebenen Codierstandards, ein anderes ist die Übereinstimmung der Struktur des Quellcodes mit einem gegebenen Entwurfsdokument.
Interne Quellcodequalität bezeichnet die Gesamtheit solcher Qualitäten von Quellcode, die sich ohne Berücksichtigung der konkreten Ausführungsbedingungen, also allein aufgrund der Lektüre des Quellcodes bestimmen lassen. Diese Begriffsbestimmung legt die Ziele, die mit solchen Qualitätsbegriffen verbunden werden sollen, nicht fest.
Tests und Quellcode-Inspektionen konkurrieren nicht notwendigerweise, sondern adressieren die gezeigten unterschiedlichen Qualitätsziele. Der Baustein Gegenüberstellung von Tests und Quellcode-Inspektionen stellt weitere Eigenschaften beider Verfahren vergleichend gegenüber.