software-quality-testing · software-engineering
Pengenalan Software Quality Metrics
By Daffa Albari · 20 November 2023 · 6 min read
“If you can’t measure it, you can’t manage it.” — Tom DeMarco, 1982
Pada kesempatan kali ini, kita akan membahas sesuatu tentang salah satu materi perkuliahan Pengujian Kualitas Perangkat Lunak, yaitu Software Quality Metrics. Pada pembahasa kali ini, kita hanya akan membahas tentang hal-hal berikut:
- Definisi Sofware Quality Metrics (SQM)
- Masalah yang dapat diselesaikan menggunakan SQM dan kenapa dibutuhkannya.
- Tujuan penggunaan SQM
- Proses penilaian kualitas perangkat lunak dengan menggunakan SQM
- Jenis SQM dan masing — masing contoh penggunaannya
Tanpa berlama-lama lagi, mari kita bahas satu-satu pembahan di atas!!!
Definisi Software Quality Metrics (SQM)
Software quality metrics adalah ukuran yang digunakan untuk menilai kualitas perangkat lunak. Software quality metrics berguna untuk membantu pengembang perangkat lunak meningkatkan kualitas produk dan proses mereka, serta untuk membantu manajer proyek mengawasi dan mengendalikan proyek mereka. Ada tiga jenis utama software quality metrics, yaitu product, process, dan project.
- Product metrics: mengukur karakteristik produk perangkat lunak, seperti ukuran, kompleksitas, keandalan, efisiensi, dan kemudahan pemeliharaan.
- Process metrics: mengukur efektivitas dan efisiensi proses pengembangan perangkat lunak, seperti waktu, biaya, produktivitas, dan kepuasan pelanggan.
- Project metrics: mengukur kemajuan dan kinerja proyek perangkat lunak, seperti jadwal, anggaran, risiko, dan kualitas.

Masalah Yang Dapat Diselesaikan Menggunakan SQM dan Kenapa dibutuhkan
Ada banyak masalah yang dapat diselesaikan menggunakan SQM, misalnya:
- Mencegah terjadinya kesalahan atau cacat pada perangkat lunak yang dapat mengakibatkan kerugian finansial, reputasi, atau bahkan keselamatan bagi pengguna atau pelanggan.
- Meningkatkan kepuasan dan loyalitas pelanggan dengan menyediakan produk perangkat lunak yang memenuhi atau bahkan melebihi harapan mereka.
- Menghemat biaya dan waktu pengembangan dengan mengurangi pemborosan, rework, dan risiko yang terkait dengan kualitas perangkat lunak.
- Meningkatkan produktivitas dan efisiensi tim pengembang dengan menggunakan metode, alat, dan standar yang terbaik untuk mengelola kualitas perangkat lunak.
- Meningkatkan kompetensi dan motivasi tim pengembang dengan memberikan umpan balik, penghargaan, dan pelatihan yang berkaitan dengan kualitas perangkat lunak.
SQM dibutuhkan karena kualitas perangkat lunak adalah salah satu faktor penting yang menentukan keberhasilan atau kegagalan suatu proyek perangkat lunak. Tanpa SQM, produk perangkat lunak yang dihasilkan mungkin tidak dapat memenuhi kebutuhan atau harapan pelanggan, tidak dapat bersaing di pasar, atau bahkan berbahaya bagi pengguna atau pelanggan. Oleh karena itu, SQM adalah suatu investasi yang sepadan untuk meningkatkan nilai dan manfaat dari produk perangkat lunak.
Tujuan Penggunaan SQM
Tujuan penggunaan Software Quality Metrics (SQM) dapat dijelaskan sebagai berikut:
- Memfasilitasi Pengendalian Manajemen, Perencanaan, dan Intervensi Manajerial
SQM bertujuan untuk membantu pengendalian manajemen, perencanaan, dan intervensi manajerial. Ini dilakukan dengan memantau dan mengevaluasi kinerja aktual perangkat lunak dalam perbandingan dengan yang telah direncanakan. SQM mengidentifikasi deviasi atau penyimpangan dari kinerja yang seharusnya, baik dari segi waktu maupun anggaran.
- Deviasi dari Kinerja yang Direncanakan: Mengacu pada perbedaan antara kinerja aktual perangkat lunak dengan yang telah direncanakan sebelumnya.
- Deviasi Jadwal dan Anggaran Aktual dari yang Direncanakan: Mengukur sejauh mana jadwal waktu dan anggaran aktual perangkat lunak bervariasi dari yang telah direncanakan sebelumnya.
2. Mengidentifikasi Situasi yang Memerlukan Perbaikan Proses Pengembangan atau Pemeliharaan
SQM juga bertujuan untuk mengidentifikasi situasi yang memerlukan perbaikan dalam proses pengembangan atau pemeliharaan. Ini dapat berupa tindakan pencegahan atau korektif yang diterapkan untuk meningkatkan kualitas perangkat lunak dan proses pengembangan.
- Akumulasi Informasi Metrik tentang Kinerja Tim, Unit, dll.: SQM mengumpulkan informasi metrik terkait kinerja tim, unit, atau elemen lainnya yang terlibat dalam pengembangan perangkat lunak. Dengan menganalisis informasi ini, kita dapat mengidentifikasi area yang memerlukan perbaikan.
Dengan demikian, penggunaan SQM tidak hanya bertujuan untuk mengukur kinerja perangkat lunak, tetapi juga untuk memberikan pandangan yang mendalam tentang bagaimana proses pengembangan berjalan dan di mana perbaikan dapat diterapkan.
Proses penilaian kualitas perangkat lunak dengan menggunakan SQM
Proses penilaian kualitas perangkat lunak dengan menggunakan software quality metrics meliputi beberapa langkah, yaitu:
- Menentukan tujuan penilaian. Tujuan penilaian bisa berbeda-beda tergantung pada konteks dan kebutuhan pengguna. Misalnya, tujuan penilaian bisa untuk membandingkan beberapa perangkat lunak yang sejenis, untuk menemukan kelemahan atau kekurangan dari perangkat lunak yang sedang dikembangkan, atau untuk mengukur tingkat kepuasan pengguna terhadap perangkat lunak yang digunakan.
- Memilih software quality metrics yang sesuai. Software quality metrics yang dipilih harus relevan dengan tujuan penilaian dan karakteristik perangkat lunak yang dinilai. Ada banyak software quality metrics yang bisa digunakan, seperti cyclomatic complexity, code coverage, defect density, mean time to failure, usability testing, customer satisfaction survey, dan lain-lain.
- Mengumpulkan data yang dibutuhkan. Data yang dibutuhkan bisa berasal dari berbagai sumber, seperti dokumentasi perangkat lunak, kode sumber, hasil pengujian, umpan balik pengguna, dan lain-lain. Data yang dikumpulkan harus akurat, lengkap, dan konsisten agar hasil penilaian bisa valid dan reliabel.
- Menganalisis data dengan menggunakan software quality metrics. Data yang telah dikumpulkan kemudian diolah dengan menggunakan software quality metrics yang telah dipilih. Hasil olahan data bisa berupa angka, grafik, tabel, atau laporan yang menunjukkan nilai-nilai dari software quality metrics yang digunakan.
- Menafsirkan hasil penilaian dan memberikan rekomendasi. Hasil penilaian harus ditafsirkan dengan memperhatikan konteks dan tujuan penilaian. Hasil penilaian bisa digunakan untuk mengambil keputusan, membuat perbaikan, atau memberikan saran terkait dengan kualitas perangkat lunak.
Jenis SQM dan masing — masing contoh penggunaannya
Dalam pengembangan perangkat lunak, penggunaan Software Quality Metrics (SQM) dapat dibagi menjadi beberapa jenis, masing-masing dengan fokus dan metriknya sendiri. Terdapat beberapa jenis metrik antara lain :
- Metrik internal: Metrik internal adalah metrik yang digunakan untuk mengukur properti yang dipandang lebih penting bagi pengembang perangkat lunak. Misalnya, Lines of Code (LOC) mengukur.
- Metrik eksternal: Metrik eksternal adalah metrik yang digunakan untuk mengukur properti yang dipandang lebih penting bagi pengguna, mis., Portabilitas, keandalan, fungsionalitas, kegunaan, dll.
- Metrik hibrid: Metrik hibrid adalah metrik yang menggabungkan metrik produk, proses, dan sumber daya. Misalnya, biaya per FP tempat FP merupakan singkatan dari Function Point Metric.
- Metrik proyek: Metrik proyek adalah metrik yang digunakan oleh manajer proyek untuk memeriksa kemajuan proyek. Data dari proyek sebelumnya digunakan untuk mengumpulkan berbagai metrik, seperti waktu dan biaya; perkiraan ini digunakan sebagai basis perangkat lunak baru. Perhatikan bahwa ketika proyek berlanjut, manajer proyek akan memeriksa perkembangannya dari waktu ke waktu dan akan membandingkan upaya, biaya, dan waktu dengan upaya, biaya, dan waktu semula. Juga pahami bahwa metrik ini digunakan untuk mengurangi biaya pengembangan, upaya waktu, dan risiko. Kualitas proyek juga dapat ditingkatkan. Ketika kualitas meningkat, jumlah kesalahan dan waktu, serta biaya yang dibutuhkan, juga berkurang.
Kesimpulan
Dalam dunia yang dipenuhi dengan persaingan ketat, tidak ada tempat untuk perangkat lunak berkualitas rendah. Menggali potensi SQM memberikan kita keunggulan untuk mengatasi tantangan tersebut. Dengan memahami definisi, manfaat, tujuan, dan prosesnya, kita dapat lebih siap menghadapi perubahan dan memastikan setiap garis kode kita bermakna.
Semoga tulisan ini memberikan wawasan baru dan memberda
yakan kita untuk menciptakan perangkat lunak yang lebih baik. Sampai jumpa di tulisan selanjutnya! 👨💻✨
Share this piece
Originally published on Medium. View original →