L'ingegneria del software è una professione dedicata all'analisi, alla progettazione, all'implementazione e alla modifica del software in modo che sia di alta qualità. La qualità del software è un attributo che misura le caratteristiche del software. Per misurare la qualità del software si utilizzano diverse metriche. Le metriche sono la misura quantitativa del grado in cui un sistema, un componente o un processo possiede un determinato attributo. La qualità del software viene misurata in termini di fattori di qualità del software che la influenzano. Essi possono essere ampiamente suddivisi in due categorie. La classificazione viene effettuata sulla base della misurabilità. La prima categoria di fattori è costituita da quelli che possono essere misurati direttamente, come la testabilità, l'usabilità, la flessibilità e l'efficienza.