Software Quality Assurance (Penjaminan Kualitas Software) merupakan suatu istilah dalam dunia teknologi informasi yang ditujukan pada suatu usaha untuk menjamin terciptanya perangkat lunak (software) yang berkualitas. Kualitas yang dimaksud di sini secara prinsip dapat dilihat dari dua kacamata, yaitu dari perspektif perancang dan pembuat software dan dari perspektif pemakai atau pengguna software yang bersangkutan (users). Dewasa ini terdapat berbagai macam institusi, asosiasi, maupun organisasi baik formal atau informal yang secara tegas dan rinci memperkenalkan berbagai macam kriteria atau standar kualitas yang harus dipenuhi oleh sebuah software agar mencapai kualitas yang diharapkan. Lepas dari beragam kriteria yang diperkenalkan, setidak-tidaknya terdapat sejumlah kriteria standar yang untuk pertama kalinya diperkenalkan oleh McCall, seorang praktisi teknologi informasi dari Eropa yang hingga saat ini masih secara luas dipergunakan oleh para vendor pengembang software.
Dalam salah satu referensi disebutkan bahwa yang dimaksud dengan software quality adalah pemenuhan terhadap kebutuhan fungsional dan kinerja yang didokumentasikan secara eksplisit, pengembangan standar yang didokumentasikan secara eksplisit, dan sifat-sifat implisit yang diharapkan dari sebuah software yang dibangun secara profesional (Dunn, 1990). Berdasarkan definisi di atas terlihat bahwa sebuah software dikatakan berkualitas apabila memenuhi tiga ketentuan pokok:
• Memenuhi kebutuhan pemakai – yang berarti bahwa jika software tidak dapat memenuhi kebutuhan pengguna software tersebut, maka yang bersangkutan dikatakan tidak atau kurang memiliki kualitas;
• Memenuhi standar pengembangan software – yang berarti bahwa jika cara pengembangan software tidak mengikuti metodologi standar, maka hampir dapat dipastikan bahwa kualitas yang baik akan sulit atau tidak tercapai
• Memenuhi sejumlah kriteria implisit – yang berarti bahwa jika salah satu kriteria implisit tersebut tidak dapat dipenuhi, maka software yang bersangkutan tidak dapat dikatakan memiliki kualitas yang baik.
McCall dan kawan-kawan pada tahun 1977 telah mengusulkan suatu penggolongan faktor-faktor atau kriteria yang mempengaruhi kualitas software. Pada dasarnya, McCall menitikberatkan faktor-faktor tersebut menjadi tiga aspek penting, yaitu yang berhubungan dengan:
1) Sifat-sifat operasional dari software (Product Operations);
2) Kemampuan software dalam menjalani perubahan (Product Revision); dan
3) Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).