Pengantar Modul
Pengujian dan Jaminan Kualitas Perangkat Lunak
Mata kuliah ini membahas konsep dasar, prinsip, dan standar kualitas perangkat lunak serta peran pengujian dalam menjamin mutu. Fokusnya adalah pemahaman konseptual dan analisis studi kasus Quality Assurance (QA).
Kode: 040270402 SKSSemester 7Mata Kuliah ProdiSistem Informasi · FIK UMRI
Capaian Pembelajaran Mata Kuliah (CPMK)
| Kode | Keterangan | Bobot |
| CPMK 102 | Mampu menjelaskan konsep dasar, prinsip, standar, dan dimensi kualitas perangkat lunak serta peran pengujian dalam menjamin mutu perangkat lunak. | 15% |
| CPMK 103 | Mampu merancang dan menerapkan berbagai teknik pengujian (black-box, white-box, integration, regression, dan acceptance testing) berdasarkan kebutuhan sistem. | 50% |
| CPMK 104 | Mampu menggunakan tools pengujian (mis. JUnit, Selenium), mengevaluasi hasil pengujian dengan metrik kualitas, serta menerapkan praktik QA secara profesional dan etis. | 35% |
Sub-CPMK
| Kode | Kemampuan akhir | Pertemuan |
| 102.1 | Menjelaskan konsep dasar QA dan pengujian perangkat lunak dalam SDLC | 1 |
| 102.2 | Menguraikan standar dan dimensi kualitas perangkat lunak (ISO 25010, TMMi, CMMI) | 2 |
| 103.1 | Menjelaskan berbagai jenis pengujian dan proses pelaksanaannya | 3–4 |
| 103.2 | Menyusun rancangan test plan dan test case sederhana untuk sistem informasi | 5–8 |
| 104.1 | Menganalisis hasil pengujian dengan metrik kualitas perangkat lunak | 9, 11, 12 |
| 104.2 | Mengidentifikasi peran etika profesional dalam kegiatan QA di organisasi | 10, 13–16 |
Komponen Penilaian
Kuis — Pertemuan 2
Standar dan dimensi kualitas (CPMK 102, 100% dari asesmen CPMK 102).
Tugas — Pertemuan 5
Test plan & test case sederhana (40% dari asesmen CPMK 103).
UTS — Pertemuan 8
Teori dan studi kasus QA (60% dari asesmen CPMK 103).
UAS — Pertemuan 16
QA process, Agile QA, dan etika profesional (100% dari asesmen CPMK 104).
Cara memakai modul ini: setiap bab sesuai dengan satu pertemuan pada RPS. Baca bab sebelum kelas, kerjakan bagian Aktivitas bersama kelompok, lalu gunakan Ringkasnya untuk mengulang materi.
Pertemuan 01 · Sub-CPMK 102.1 · Ceramah & Case-Based Learning
Kontrak Kuliah & Pengantar QA dan Testing dalam SDLC
Perangkat lunak yang “jalan” belum tentu berkualitas. Pertemuan ini memperkenalkan apa itu kualitas, apa bedanya QA, QC, dan testing, serta di mana kegiatan tersebut berada dalam siklus hidup pengembangan perangkat lunak (SDLC).
Kontrak perkuliahan
- Perkuliahan 16 pertemuan × 2×50 menit; pertemuan 8 UTS dan pertemuan 16 UAS.
- Metode: case-based, problem-based, project-based, dan reflective learning. Mahasiswa diharapkan aktif berdiskusi.
- Media: SIKULI, Google Drive, Google Meet, dan WhatsApp untuk koordinasi.
- Tugas dikerjakan secara jujur; plagiarisme dan penyalinan laporan termasuk pelanggaran etika akademik.
Apa itu kualitas perangkat lunak?
Kualitas perangkat lunak adalah sejauh mana sebuah produk memenuhi kebutuhan yang dinyatakan maupun tersirat dari penggunanya ketika dipakai dalam kondisi tertentu. Kualitas bukan hanya “tidak ada bug”, tetapi juga mudah digunakan, cepat, aman, dan mudah dipelihara.
Error, defect, dan failure
Error (kesalahan manusia)→Defect / bug (cacat di kode atau dokumen)→Failure (sistem berperilaku salah saat dijalankan)
Contoh: analis salah memahami aturan diskon (error), programmer menulis > padahal seharusnya >= (defect), pelanggan dengan belanja tepat Rp100.000 tidak mendapat diskon (failure).
QA, QC, dan Testing
| Aspek | Quality Assurance (QA) | Quality Control (QC) | Testing |
| Fokus | Proses | Produk | Eksekusi produk |
| Sifat | Preventif — mencegah cacat | Detektif — menemukan cacat | Bagian dari QC |
| Contoh | Standar coding, review proses, audit | Inspeksi, review hasil kerja, pengujian | Menjalankan test case, membandingkan hasil |
Tujuh prinsip pengujian
- Testing menunjukkan adanya defect, bukan membuktikan tidak ada defect.
- Exhaustive testing tidak mungkin; kita memilih tes berdasarkan risiko dan prioritas.
- Early testing menghemat biaya; cacat yang ditemukan di tahap kebutuhan jauh lebih murah diperbaiki.
- Defect clustering: sebagian besar cacat sering terkumpul di sedikit modul.
- Pesticide paradox: tes yang sama diulang terus akan berhenti menemukan cacat baru.
- Testing bergantung konteks: aplikasi bank berbeda kebutuhan ujinya dengan game.
- Absence-of-errors fallacy: sistem tanpa bug tetap gagal jika tidak memenuhi kebutuhan pengguna.
QA di setiap tahap SDLC
| Tahap SDLC | Kegiatan QA / Testing |
| Analisis kebutuhan | Review kebutuhan: lengkap, jelas, dapat diuji; menyusun kriteria penerimaan |
| Desain | Review desain, merancang test plan dan skenario uji |
| Implementasi | Code review, unit testing, analisis statis |
| Pengujian | Integration, system, dan acceptance testing |
| Deployment & pemeliharaan | Smoke test, regression test, pemantauan cacat di produksi |
Model V (V-Model) menggambarkan pasangan ini: setiap tahap pengembangan di sisi kiri memiliki tahap pengujian yang sesuai di sisi kanan (kebutuhan ↔ acceptance test, desain sistem ↔ system test, desain arsitektur ↔ integration test, desain modul ↔ unit test).
Aktivitas: studi kasus
Sistem KRS online kampus mengalami gangguan: mahasiswa bisa mengambil mata kuliah yang kelasnya sudah penuh. Diskusikan dalam kelompok:
- Mana yang termasuk error, defect, dan failure?
- Pada tahap SDLC mana cacat ini seharusnya bisa dicegah atau ditemukan?
- Kegiatan QA apa yang bisa mencegah kejadian serupa?
Ringkasnya: QA berfokus pada proses untuk mencegah cacat, QC dan testing berfokus pada produk untuk menemukan cacat. Kegiatan kualitas harus dimulai sejak tahap kebutuhan, bukan hanya di akhir proyek.
Pertemuan 02 · Sub-CPMK 102.2 · Case-Based Learning · Kuis
Standar & Model Kualitas: ISO 25010, CMMI, TMMi
Agar kualitas bisa dibicarakan dan diukur secara objektif, industri memakai standar. ISO/IEC 25010 menilai kualitas produk, sedangkan CMMI dan TMMi menilai kematangan proses organisasi.
ISO/IEC 25010 — model kualitas produk
ISO/IEC 25010 (keluarga SQuaRE) mendefinisikan karakteristik kualitas produk perangkat lunak. Versi 2011 memiliki delapan karakteristik berikut; revisi 2023 menambahkan safety dan mengganti beberapa nama (mis. usability menjadi interaction capability, portability menjadi flexibility).
| Karakteristik | Pertanyaan kunci | Contoh sub-karakteristik |
| Functional suitability | Apakah fungsi lengkap dan benar? | Completeness, correctness, appropriateness |
| Performance efficiency | Seberapa cepat dan hemat sumber daya? | Time behaviour, resource utilization, capacity |
| Compatibility | Bisa berdampingan/bertukar data dengan sistem lain? | Co-existence, interoperability |
| Usability | Mudah dipelajari dan dipakai? | Learnability, operability, accessibility |
| Reliability | Stabil dan bisa pulih dari gangguan? | Maturity, availability, fault tolerance, recoverability |
| Security | Data terlindungi dari akses tidak sah? | Confidentiality, integrity, authenticity, accountability |
| Maintainability | Mudah diubah dan diperbaiki? | Modularity, reusability, analysability, testability |
| Portability | Mudah dipindah ke lingkungan lain? | Adaptability, installability, replaceability |
CMMI — kematangan proses organisasi
Capability Maturity Model Integration (CMMI) mengukur seberapa matang proses pengembangan di sebuah organisasi.
| Level | Nama | Ciri |
| 1 | Initial | Proses tidak terduga, bergantung pada individu |
| 2 | Managed | Proyek direncanakan, dipantau, dan dikendalikan |
| 3 | Defined | Proses standar berlaku di seluruh organisasi |
| 4 | Quantitatively Managed | Proses diukur dan dikendalikan dengan data |
| 5 | Optimizing | Perbaikan berkelanjutan berbasis data |
TMMi — kematangan proses pengujian
Test Maturity Model integration (TMMi) mirip CMMI tetapi khusus untuk proses pengujian: (1) Initial, (2) Managed — ada kebijakan, test plan, desain dan eksekusi tes; (3) Defined — organisasi tes, pelatihan, siklus hidup tes terintegrasi, non-functional testing, peer review; (4) Measured — pengukuran tes dan evaluasi kualitas produk; (5) Optimization — pencegahan cacat dan optimasi proses tes.
Ingat perbedaannya: ISO 25010 menjawab “seberapa baik produknya?”, sedangkan CMMI/TMMi menjawab “seberapa matang proses organisasinya?”.
Persiapan kuis
Pilih satu aplikasi yang sering kamu gunakan (mis. aplikasi m-banking atau SIKULI). Untuk masing-masing karakteristik ISO 25010, tuliskan satu contoh kebutuhan kualitas yang dapat diuji. Contoh: Performance efficiency — halaman jadwal tampil kurang dari 3 detik untuk 500 pengguna serentak.
Ringkasnya: Kualitas produk dinilai dengan karakteristik ISO 25010; kematangan proses dinilai dengan CMMI (umum) dan TMMi (khusus pengujian). Kebutuhan kualitas yang baik harus spesifik dan dapat diukur.
Pertemuan 03 · Sub-CPMK 103.1 · Problem-Based Learning
Proses & Level Pengujian
Pengujian dilakukan bertahap, dari bagian terkecil kode hingga sistem utuh yang diterima pengguna. Setiap level memiliki tujuan, pelaku, dan dasar uji yang berbeda.
Proses pengujian dasar
Perencanaan→Analisis→Desain tes→Implementasi→Eksekusi→Penyelesaian
- Perencanaan: menentukan ruang lingkup, pendekatan, sumber daya, dan jadwal.
- Analisis: menentukan apa yang diuji (test condition) dari dokumen kebutuhan.
- Desain: menentukan bagaimana menguji — test case dan data uji.
- Implementasi: menyiapkan lingkungan, data, dan script tes.
- Eksekusi: menjalankan tes, mencatat hasil, melaporkan defect.
- Penyelesaian: membuat laporan akhir, mengarsipkan aset tes, mencatat pelajaran.
Pemantauan dan pengendalian (monitoring & control) berjalan sepanjang proses.
Empat level pengujian
| Level | Objek | Dasar uji | Pelaku umum |
| Unit / Component | Fungsi, kelas, modul | Desain detail, kode | Programmer |
| Integration | Antarmuka antar modul/sistem | Desain arsitektur, spesifikasi API | Programmer / tester |
| System | Sistem utuh | Spesifikasi kebutuhan | Tim tester independen |
| Acceptance | Sistem di lingkungan nyata | Kebutuhan bisnis, proses bisnis | Pengguna / klien |
Strategi integration testing
- Big bang: semua modul digabung sekaligus — cepat, tetapi sulit melacak sumber cacat.
- Top-down: mulai dari modul atas, modul bawah diganti stub.
- Bottom-up: mulai dari modul bawah, modul pemanggil diganti driver.
- Sandwich: gabungan top-down dan bottom-up.
Jenis acceptance testing
User Acceptance Testing (UAT), operational acceptance (backup, pemulihan), contractual/regulatory acceptance, serta alpha testing (di lokasi pengembang) dan beta testing (di lokasi pengguna).
Tipe pengujian
Functional
Menguji apa yang dilakukan sistem sesuai kebutuhan fungsional.
Non-functional
Menguji seberapa baik: performa, keamanan, usability, kompatibilitas.
Confirmation (re-testing)
Memastikan defect yang sudah diperbaiki benar-benar hilang.
Regression
Memastikan perubahan tidak merusak fitur lain yang sebelumnya berjalan.
Aktivitas: problem-based
Sebuah toko online menambahkan fitur “voucher ongkir”. Setelah rilis, fitur checkout lama tiba-tiba gagal untuk metode bayar transfer. Tentukan: level dan tipe pengujian apa yang terlewat? Susun urutan level pengujian yang seharusnya dilakukan untuk fitur baru ini.
Ringkasnya: Pengujian mengikuti proses dari perencanaan sampai penyelesaian, dan dilakukan berlapis pada level unit, integrasi, sistem, dan penerimaan. Regression testing wajib setiap kali ada perubahan.
Pertemuan 04 · Sub-CPMK 103.1 · Problem-Based Learning
Teknik Pengujian: Black-box & White-box
Teknik desain tes membantu kita memilih data uji yang paling berpeluang menemukan cacat dengan jumlah tes sesedikit mungkin.
Black-box testing
Menguji berdasarkan spesifikasi tanpa melihat kode. Penguji hanya memperhatikan input dan output.
1. Equivalence Partitioning (EP)
Bagi input menjadi kelompok (partisi) yang diperlakukan sama oleh sistem, lalu ambil satu wakil dari setiap partisi.
Kasus: nilai angka mata kuliah valid 0–100.
| Partisi | Rentang | Wakil | Hasil diharapkan |
| Tidak valid (bawah) | < 0 | -5 | Ditolak |
| Valid | 0 – 100 | 75 | Diterima |
| Tidak valid (atas) | > 100 | 120 | Ditolak |
2. Boundary Value Analysis (BVA)
Cacat sering muncul di batas. Uji nilai tepat di batas dan tepat di luarnya: -1, 0, 100, 101 (BVA dua titik) atau -1, 0, 1, 99, 100, 101 (tiga titik).
3. Decision Table
Cocok untuk aturan bisnis dengan kombinasi kondisi. Kasus: mahasiswa boleh ikut UAS jika kehadiran ≥ 75% dan sudah membayar UKT.
| Aturan | R1 | R2 | R3 | R4 |
| Kehadiran ≥ 75% | Y | Y | T | T |
| UKT lunas | Y | T | Y | T |
| Boleh UAS | Ya | Tidak | Tidak | Tidak |
4. State Transition
Untuk sistem yang berperilaku berbeda tergantung status. Contoh status pesanan: Baru → Dibayar → Dikirim → Selesai, dengan transisi tidak sah seperti Baru → Dikirim yang harus ditolak.
5. Use Case Testing
Menurunkan tes dari skenario utama dan alternatif pada use case, misalnya alur login berhasil, password salah, dan akun terkunci setelah 3 kali gagal.
White-box testing
Menguji berdasarkan struktur internal kode. Ukurannya adalah coverage.
function statusKelulusan(nilai) {
if (nilai < 0 || nilai > 100) { // keputusan 1
return "INVALID";
}
if (nilai >= 60) { // keputusan 2
return "LULUS";
}
return "TIDAK LULUS";
}
- Statement coverage: setiap baris dieksekusi minimal sekali. Tes:
-1, 70, 40 → 100% statement.
- Branch/decision coverage: setiap cabang true dan false dijalankan. Tes yang sama juga mencapai 100% branch karena setiap keputusan bernilai true dan false.
- Path coverage: setiap jalur unik dari awal sampai akhir.
Cyclomatic complexity
V(G) = jumlah keputusan + 1. Fungsi di atas memiliki 2 keputusan, maka V(G) = 3, artinya minimal 3 jalur independen yang perlu diuji. (Jika kondisi majemuk || dihitung terpisah, V(G) = 4.)
Memilih teknik
| Black-box | White-box |
| Dasar | Spesifikasi | Kode/struktur |
| Level dominan | System, acceptance | Unit, integration |
| Kelebihan | Sudut pandang pengguna, tidak butuh akses kode | Mengukur cakupan, menemukan kode mati |
| Kelemahan | Tidak tahu bagian kode mana yang belum teruji | Tidak menemukan fitur yang lupa dibuat |
Selain itu ada experience-based testing seperti error guessing dan exploratory testing yang mengandalkan pengalaman penguji.
Latihan
Form pendaftaran mensyaratkan umur 17–60 tahun dan password 8–16 karakter. Susun partisi ekuivalen dan nilai batas untuk kedua field, lalu hitung jumlah minimum test case yang kamu perlukan.
Ringkasnya: Black-box (EP, BVA, decision table, state transition, use case) menguji perilaku dari spesifikasi; white-box (statement, branch, path coverage) menguji struktur kode. Keduanya saling melengkapi.
Pertemuan 05 · Sub-CPMK 103.2 · Project-Based Learning · Tugas
Menyusun Test Plan & Test Case
Test plan menjelaskan strategi pengujian sebuah proyek; test case adalah langkah konkret untuk memverifikasi satu kondisi. Pada pertemuan ini kamu mulai mengerjakan tugas terstruktur.
Isi test plan (mengacu IEEE 829 / ISO/IEC/IEEE 29119-3)
- Identitas & pendahuluan: nama sistem, versi, tujuan dokumen.
- Ruang lingkup: fitur yang diuji dan tidak diuji.
- Pendekatan: level, tipe, dan teknik pengujian yang dipakai.
- Kriteria masuk & keluar: kapan pengujian boleh dimulai dan dinyatakan selesai.
- Kriteria suspend/resume: kapan pengujian dihentikan sementara.
- Lingkungan uji: perangkat, browser, database, data uji.
- Deliverable: test case, laporan defect, laporan ringkasan.
- Jadwal & sumber daya: siapa mengerjakan apa dan kapan.
- Risiko & mitigasi.
Format test case
| Field | Contoh |
| ID | TC-LOGIN-002 |
| Judul | Login gagal dengan password salah |
| Prasyarat | Akun mhs01 terdaftar dan aktif |
| Langkah | 1. Buka halaman login 2. Isi username mhs01 3. Isi password salah123 4. Klik “Masuk” |
| Data uji | username = mhs01, password = salah123 |
| Hasil diharapkan | Muncul pesan “Username atau password salah”; tetap di halaman login |
| Hasil aktual | (diisi saat eksekusi) |
| Status | Pass / Fail / Blocked |
| Prioritas | Tinggi |
Ciri test case yang baik
- Satu test case menguji satu tujuan yang jelas.
- Langkah dapat diulang oleh orang lain dan hasil diharapkan dapat diverifikasi.
- Dapat dilacak ke kebutuhan melalui Requirement Traceability Matrix (RTM).
- Mencakup skenario positif, negatif, dan batas.
| Kebutuhan | Deskripsi | Test case |
| REQ-01 | Pengguna login dengan username & password | TC-LOGIN-001, 002, 003 |
| REQ-02 | Akun terkunci setelah 3 kali gagal | TC-LOGIN-004 |
Tugas (40% asesmen CPMK 103)
Secara berkelompok, pilih satu sistem informasi sederhana (mis. perpustakaan, presensi, atau kasir). Susun:
- Test plan ringkas (2–4 halaman) memuat poin 1–9 di atas.
- Minimal 15 test case untuk 3 fitur, menggunakan setidaknya dua teknik black-box (EP/BVA/decision table).
- RTM yang menghubungkan kebutuhan dengan test case.
Indikator: test plan dan test case sesuai kebutuhan sistem, lengkap, dan dapat dieksekusi oleh orang lain.
Ringkasnya: Test plan adalah peta strategi; test case adalah langkah uji yang dapat diulang dan dilacak ke kebutuhan melalui RTM.
Pertemuan 06 · Sub-CPMK 103.2 · Project-Based Learning
Evaluasi Hasil Pengujian & Pelaporan QA
Menjalankan tes baru setengah pekerjaan. Hasilnya harus dicatat, dianalisis, dan dikomunikasikan sehingga pemangku kepentingan bisa memutuskan apakah produk siap dirilis.
Status hasil eksekusi
- Pass: hasil aktual sama dengan hasil diharapkan.
- Fail: hasil berbeda — buat laporan defect.
- Blocked: tes tidak bisa dijalankan karena hambatan (mis. fitur lain rusak, lingkungan mati).
- Not run / skipped: belum atau sengaja tidak dijalankan.
Laporan defect yang baik
ID : BUG-017
Judul : Total belanja tidak mendapat diskon saat tepat Rp100.000
Lingkungan : Staging v1.3.2, Chrome 130, Windows 11
Langkah : 1. Login sebagai pelanggan
2. Tambah produk hingga subtotal Rp100.000
3. Buka halaman checkout
Diharapkan : Diskon 10% diterapkan (total Rp90.000)
Aktual : Tidak ada diskon (total Rp100.000)
Severity : Major Priority : High
Lampiran : screenshot-checkout.png
Test case : TC-DISKON-003
Severity vs priority: severity = seberapa parah dampak teknisnya; priority = seberapa cepat harus diperbaiki menurut bisnis. Salah ketik nama perusahaan di halaman depan: severity rendah, priority tinggi.
Test summary report
- Ringkasan: apa yang diuji, kapan, versi berapa.
- Statistik eksekusi: total test case, pass, fail, blocked.
- Ringkasan defect: jumlah per severity, status open/closed.
- Penyimpangan dari test plan dan alasannya.
- Evaluasi terhadap kriteria keluar dan risiko yang tersisa.
- Rekomendasi: go / no-go / rilis bersyarat.
Contoh perhitungan: dari 120 test case, 102 pass, 12 fail, 6 blocked. Pass rate = 102/120 = 85%. Jika kriteria keluar adalah pass rate ≥ 95% dan tidak ada defect critical yang masih open, maka rekomendasinya belum siap rilis.
Aktivitas
Jalankan 5 test case dari tugas pertemuan 5 pada aplikasi contoh. Tulis minimal 2 laporan defect dengan format di atas dan satu paragraf rekomendasi rilis.
Ringkasnya: Laporan defect harus dapat direproduksi, dan laporan ringkasan harus membantu pengambil keputusan menilai kesiapan rilis berdasarkan data.
Pertemuan 07 · Sub-CPMK 103.2 · Reflective Learning
Review Konsep QA & Pengujian
Pertemuan ini menghubungkan seluruh konsep sebelum UTS dengan penerapan pengujian di dunia nyata.
Peta konsep
Kualitas (ISO 25010)→Proses QA (CMMI/TMMi)→Level & tipe tes→Teknik desain tes→Test plan & test case→Eksekusi & laporan
Pengujian statis vs dinamis
Selain menjalankan program (dinamis), cacat juga dapat ditemukan tanpa menjalankan kode (statis): review kebutuhan, walkthrough, inspeksi formal, dan analisis kode otomatis (linter, SonarQube). Pengujian statis efektif menemukan kebutuhan yang ambigu dan kode yang sulit dipelihara sejak dini.
Studi kasus nyata untuk direfleksikan
Ariane 5 (1996)
Roket meledak 37 detik setelah peluncuran karena konversi angka 64-bit ke 16-bit yang tidak diuji ulang untuk konteks baru — contoh prinsip “testing bergantung konteks”.
Knight Capital (2012)
Kode lama yang aktif kembali saat deployment menyebabkan kerugian sekitar USD 440 juta dalam 45 menit — pentingnya regression test dan proses rilis.
Therac-25 (1985–87)
Race condition pada perangkat terapi radiasi menyebabkan overdosis pasien — kualitas perangkat lunak berdampak pada keselamatan manusia.
Gangguan sistem layanan publik
Diskusikan satu kasus gangguan aplikasi layanan publik di Indonesia: level dan tipe uji apa yang kemungkinan terlewat?
Pertanyaan refleksi
- Konsep mana yang paling sulit kamu pahami sejauh ini? Mengapa?
- Jika kamu menjadi QA di proyek tugas kelompok, risiko kualitas terbesar apa yang kamu lihat?
- Bagaimana kamu menjelaskan perbedaan QA dan testing kepada manajer non-teknis?
Ringkasnya: QA adalah rangkaian kegiatan terpadu — dari standar kualitas hingga pelaporan — dan kegagalan di salah satu mata rantai dapat berdampak besar di dunia nyata.
Pertemuan 08 · Sub-CPMK 103.2 · UTS (60% asesmen CPMK 103)
UTS — Teori dan Studi Kasus QA
UTS menguji kemampuan menjawab soal analitis dan studi kasus QA berdasarkan konsep standar dan teknik pengujian (materi pertemuan 1–7).
Kisi-kisi
| Materi | Bentuk soal yang mungkin |
| Konsep QA, QC, testing; error–defect–failure | Menjelaskan dan membedakan dengan contoh |
| Tujuh prinsip pengujian | Mengidentifikasi prinsip dalam sebuah kasus |
| ISO 25010, CMMI, TMMi | Memetakan kebutuhan ke karakteristik kualitas; menentukan level kematangan |
| Level & tipe pengujian | Menentukan level/tipe yang tepat untuk sebuah skenario |
| Black-box & white-box | Menyusun EP, BVA, decision table; menghitung coverage dan cyclomatic complexity |
| Test plan, test case, laporan | Menyusun test case dan laporan defect dari studi kasus |
Contoh soal latihan
- Aplikasi beasiswa menerima IPK 3,00–4,00 dan penghasilan orang tua ≤ Rp5.000.000. Susun tabel keputusan dan nilai batasnya.
- Hitung cyclomatic complexity sebuah fungsi yang memiliki satu
if, satu else if, dan satu perulangan for.
- Sebuah startup belum memiliki dokumen test plan dan pengujian bergantung pada satu orang senior. Pada level TMMi berapa organisasi tersebut? Apa langkah untuk naik satu level?
Tips: pada soal studi kasus, selalu sebutkan alasan pilihanmu dengan mengaitkannya ke konsep atau standar. Jawaban tanpa justifikasi dinilai kurang lengkap.
Pertemuan 09 · Sub-CPMK 104.1 · Case-Based Learning
QA Process & Defect Tracking
Di organisasi profesional, setiap defect dikelola melalui alur yang jelas sehingga tidak ada temuan yang hilang dan setiap perbaikan terverifikasi.
Siklus hidup defect
New→Assigned→Open / In Progress→Fixed→Retest→Verified→Closed
Cabang lain: Rejected (bukan defect), Duplicate, Deferred (ditunda ke rilis berikutnya), dan Reopened (gagal saat retest).
Tingkat severity
| Severity | Arti | Contoh |
| Critical / Blocker | Sistem tidak dapat dipakai, kehilangan data, celah keamanan | Aplikasi crash saat login |
| Major | Fungsi utama salah, ada jalan memutar | Perhitungan diskon salah |
| Minor | Fungsi sekunder salah, dampak kecil | Filter tanggal tidak menyimpan pilihan |
| Trivial | Kosmetik | Salah eja label tombol |
Tools defect tracking
Jira, Azure DevOps Boards, GitHub Issues, Bugzilla, Redmine, atau Mantis. Test management seperti TestRail, Zephyr, atau Qase menghubungkan test case dengan defect.
Root cause analysis (RCA)
Setelah defect diperbaiki, QA yang matang bertanya “mengapa cacat ini bisa lolos?”. Teknik umum: 5 Whys dan diagram fishbone (Ishikawa) dengan kategori manusia, proses, alat, kebutuhan, dan lingkungan.
Masalah: diskon tidak diterapkan pada Rp100.000
Why 1 → kondisi memakai ">" bukan ">="
Why 2 → kebutuhan menulis "di atas Rp100.000" (ambigu)
Why 3 → kebutuhan tidak di-review oleh QA
Why 4 → proses review kebutuhan belum wajib
Why 5 → belum ada checklist review kebutuhan
Tindakan: wajibkan review kebutuhan + tambahkan BVA di unit test
Aktivitas: studi kasus
Diberikan 10 laporan defect dari sebuah proyek (dibagikan di kelas). Tentukan severity dan priority masing-masing, kelompokkan menurut modul (cek prinsip defect clustering), lalu lakukan 5 Whys untuk satu defect critical.
Ringkasnya: Defect dikelola melalui siklus hidup yang terdokumentasi di tools tracking, diberi severity dan priority, dan dianalisis akar penyebabnya agar tidak terulang.
Pertemuan 10 · Sub-CPMK 104.2 · Reflective Learning
Etika & Tanggung Jawab Profesional QA
Penguji sering menjadi pihak terakhir yang melihat produk sebelum sampai ke pengguna. Karena itu QA memikul tanggung jawab etis terhadap pengguna, organisasi, dan masyarakat.
Kode etik rujukan
- ACM/IEEE Software Engineering Code of Ethics: delapan prinsip — Public, Client & Employer, Product, Judgment, Management, Profession, Colleagues, Self.
- ISTQB Code of Ethics untuk penguji perangkat lunak dengan prinsip serupa.
- Regulasi: UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi (UU PDP) mengatur pemrosesan data pribadi, termasuk saat pengujian.
Dilema etis yang sering dihadapi QA
Tekanan tenggat
Manajer meminta laporan “semua lulus” agar rilis tepat waktu, padahal masih ada defect critical.
Data produksi
Memakai data asli pelanggan untuk pengujian tanpa anonimisasi atau izin.
Menyembunyikan temuan
Defect keamanan tidak dilaporkan karena “tidak ada yang akan tahu”.
Konflik kepentingan
Menguji pekerjaan sendiri atau rekan dekat tanpa objektivitas.
Prinsip praktik QA yang etis
- Melaporkan hasil secara jujur dan lengkap, termasuk risiko yang belum teruji.
- Menggunakan data uji sintetis atau data yang sudah dianonimkan/di-masking.
- Menjaga kerahasiaan informasi klien dan temuan keamanan (responsible disclosure).
- Mengkritik produk, bukan orangnya — komunikasi defect yang netral dan sopan.
- Terus meningkatkan kompetensi dan mengakui batas kemampuan.
Nilai-nilai AIK seperti amanah (dapat dipercaya) dan shidiq (jujur) sejalan dengan tanggung jawab penguji: laporan QA adalah amanah bagi pengguna yang tidak pernah melihat prosesnya.
Aktivitas reflektif
Pilih satu dilema di atas. Tuliskan (1) pihak yang terdampak, (2) prinsip kode etik yang relevan, dan (3) tindakan yang akan kamu ambil beserta cara mengomunikasikannya kepada atasan.
Ringkasnya: Profesional QA wajib jujur dalam pelaporan, melindungi data, menjaga kerahasiaan, dan mengutamakan kepentingan publik di atas tekanan jadwal.
Pertemuan 11 · Sub-CPMK 104.1 · Case-Based Learning
QA dalam Agile & DevOps Environment
Dalam Agile dan DevOps, kualitas menjadi tanggung jawab seluruh tim dan pengujian berlangsung terus-menerus, didukung otomasi.
Peran QA di Agile/Scrum
- Ikut sprint planning dan refinement untuk memastikan user story memiliki acceptance criteria yang dapat diuji.
- Menyepakati Definition of Done (mis. unit test lulus, code review selesai, tidak ada defect critical).
- Menguji di dalam sprint, bukan setelah sprint berakhir.
Behavior-Driven Development (BDD)
Fitur: Pengambilan KRS
Skenario: Kelas sudah penuh
Diberikan kelas "Basis Data A" memiliki kuota 40 dan sudah terisi 40
Ketika mahasiswa mengambil kelas "Basis Data A"
Maka sistem menolak dengan pesan "Kuota kelas penuh"
Agile Testing Quadrants & Test Pyramid
Test pyramid menyarankan banyak unit test (cepat, murah), lebih sedikit integration/API test, dan paling sedikit UI/end-to-end test (lambat, rapuh).
Banyak: Unit test→Sedang: Integration / API→Sedikit: UI / E2E
Tools pengujian otomatis
Unit test dengan JUnit 5
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
class KelulusanTest {
@ParameterizedTest
@CsvSource({ "-1, INVALID", "0, TIDAK LULUS", "59, TIDAK LULUS",
"60, LULUS", "100, LULUS", "101, INVALID" })
void statusSesuaiNilaiBatas(int nilai, String harapan) {
assertEquals(harapan, Kelulusan.status(nilai));
}
}
Perhatikan bahwa data uji diambil langsung dari Boundary Value Analysis pada pertemuan 4.
UI test dengan Selenium WebDriver (Python)
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
try:
driver.get("http://localhost:8000/login")
driver.find_element(By.NAME, "username").send_keys("mhs01")
driver.find_element(By.NAME, "password").send_keys("salah123")
driver.find_element(By.CSS_SELECTOR, "button[type=submit]").click()
pesan = driver.find_element(By.CLASS_NAME, "alert").text
assert "Username atau password salah" in pesan # TC-LOGIN-002
finally:
driver.quit()
Tools lain: PHPUnit (PHP/Laravel), pytest (Python), Cypress/Playwright (web), Postman/Newman (API), JMeter/k6 (performa), OWASP ZAP (keamanan).
CI/CD dan Shift-Left / Shift-Right
Commit→Build→Unit test + analisis statis→Integration test→Deploy staging + E2E→Produksi + monitoring
- Shift-left: menguji sedini mungkin (review kebutuhan, unit test, analisis statis di pipeline).
- Shift-right: memantau kualitas di produksi (monitoring, canary release, A/B test).
- Quality gate: pipeline otomatis gagal jika tes gagal atau coverage di bawah ambang.
Aktivitas
Tulis tiga user story untuk sistem tugas kelompokmu lengkap dengan acceptance criteria format Gherkin (Diberikan–Ketika–Maka), lalu tentukan tes mana yang sebaiknya otomatis di level unit, API, atau UI.
Ringkasnya: Di Agile/DevOps, QA terlibat sejak perencanaan, mengandalkan otomasi (JUnit, Selenium, dll.) dalam pipeline CI/CD, dan mengikuti prinsip test pyramid.
Pertemuan 12 · Sub-CPMK 104.1 · Project-Based Learning
Review Dokumentasi QA & Metrik Kualitas
“Apa yang tidak diukur tidak bisa dikelola.” Metrik membantu menilai kualitas produk dan efektivitas proses pengujian secara objektif.
Metrik produk dan proses
| Metrik | Rumus | Makna |
| Defect density | Jumlah defect ÷ ukuran (KLOC atau function point) | Kepadatan cacat dalam kode |
| Test pass rate | Test pass ÷ test dieksekusi × 100% | Kesiapan fitur |
| Test execution progress | Test dieksekusi ÷ total test direncanakan × 100% | Kemajuan pengujian |
| Requirement coverage | Kebutuhan yang punya test ÷ total kebutuhan × 100% | Kelengkapan pengujian |
| Code coverage | Baris/cabang dieksekusi ÷ total × 100% | Cakupan white-box |
| Defect Removal Efficiency (DRE) | Defect sebelum rilis ÷ (sebelum rilis + setelah rilis) × 100% | Efektivitas QA menyaring cacat |
| Defect leakage | Defect ditemukan pengguna ÷ total defect × 100% | Cacat yang lolos ke produksi |
| Defect reopen rate | Defect reopened ÷ defect fixed × 100% | Kualitas perbaikan |
| MTTR / MTBF | Rata-rata waktu perbaikan / antar-kegagalan | Reliabilitas operasional |
Contoh perhitungan
Modul pembayaran berukuran 8 KLOC. Tim QA menemukan 36 defect sebelum rilis; pengguna melaporkan 4 defect setelah rilis.
- Defect density = (36 + 4) ÷ 8 = 5 defect/KLOC
- DRE = 36 ÷ 40 × 100% = 90%
- Defect leakage = 4 ÷ 40 × 100% = 10%
Checklist review dokumentasi QA
- Apakah ruang lingkup dan kriteria keluar di test plan jelas dan terukur?
- Apakah setiap kebutuhan memiliki test case (cek RTM)?
- Apakah laporan defect dapat direproduksi dan memiliki severity yang wajar?
- Apakah metrik disajikan dengan konteks (tren, target, interpretasi)?
- Apakah kesimpulan laporan didukung data?
Hati-hati: metrik bisa disalahgunakan. Menilai kinerja tester dari jumlah bug yang ditemukan dapat mendorong laporan bug remeh. Gunakan beberapa metrik bersama dan selalu interpretasikan.
Aktivitas: peer review
Tukar laporan QA (test plan, test case, laporan defect) dengan kelompok lain. Nilai menggunakan checklist di atas, hitung minimal tiga metrik dari data mereka, dan beri masukan tertulis.
Ringkasnya: Metrik seperti defect density, pass rate, coverage, dan DRE memberi gambaran objektif kualitas — selama dihitung dengan benar dan diinterpretasikan dalam konteks.
Pertemuan 13 · Sub-CPMK 104.2 · Project-Based Learning
Menyusun Laporan QA Konseptual
Laporan QA konseptual merangkum strategi, hasil, analisis, dan rekomendasi kualitas sebuah sistem informasi, disusun sesuai standar dan etika profesional.
Struktur laporan
- Ringkasan eksekutif — satu halaman untuk pembaca non-teknis: kondisi kualitas dan rekomendasi.
- Profil sistem — tujuan, pengguna, fitur utama.
- Kebutuhan kualitas — dipetakan ke karakteristik ISO 25010.
- Strategi pengujian — level, tipe, teknik, tools, lingkungan.
- Hasil pengujian — statistik eksekusi dan daftar defect utama.
- Analisis metrik — pass rate, coverage, defect density/DRE, interpretasi.
- Analisis risiko & akar masalah.
- Pertimbangan etika — perlakuan data uji, keterbukaan risiko.
- Rekomendasi — perbaikan produk dan proses (mis. menuju level TMMi berikutnya).
- Lampiran — test plan, test case, RTM, laporan defect.
Menulis secara profesional
- Gunakan bahasa objektif dan berbasis data; hindari menyalahkan individu.
- Nyatakan keterbatasan pengujian dengan jujur (apa yang belum diuji dan mengapa).
- Sajikan angka dengan grafik sederhana dan beri penjelasan maknanya.
- Cantumkan sumber standar dan referensi yang dipakai.
Proyek kelompok
Lanjutkan tugas pertemuan 5–6 menjadi laporan QA konseptual lengkap mengikuti struktur di atas. Laporan dipresentasikan pada pertemuan 14.
Ringkasnya: Laporan QA yang baik menghubungkan kebutuhan kualitas, strategi, hasil, metrik, dan rekomendasi dalam narasi yang jujur dan mudah dipahami pengambil keputusan.
Pertemuan 14 · Sub-CPMK 104.2 · Reflective Learning
Presentasi & Diskusi QA Report
Setiap kelompok mempresentasikan laporan QA dan menerima umpan balik dari dosen dan teman sejawat.
Format presentasi (± 10 menit + 5 menit diskusi)
- Sistem yang diuji dan kebutuhan kualitas utamanya.
- Strategi dan teknik pengujian yang dipilih — beserta alasannya.
- Temuan penting dan metrik kunci.
- Rekomendasi rilis dan perbaikan proses.
- Pelajaran dan pertimbangan etis selama pengerjaan.
Rubrik umpan balik sejawat
| Aspek | Pertanyaan |
| Ketepatan konsep | Apakah standar dan teknik pengujian digunakan dengan benar? |
| Kualitas analisis | Apakah kesimpulan didukung metrik dan data? |
| Etika & profesionalisme | Apakah risiko dan keterbatasan disampaikan secara jujur? |
| Komunikasi | Apakah presentasi jelas bagi audiens non-teknis? |
Berikan umpan balik dengan pola apresiasi – saran – pertanyaan. Sama seperti laporan defect, kritik ditujukan pada karya, bukan pribadi.
Ringkasnya: Mempresentasikan hasil QA melatih kemampuan mengomunikasikan risiko kualitas dan menerima umpan balik secara profesional.
Pertemuan 15 · Sub-CPMK 104.2 · Reflective Learning
Review & Refleksi Akhir
Pertemuan terakhir sebelum UAS digunakan untuk merefleksikan capaian pembelajaran dan nilai profesional QA.
Rangkuman perjalanan
| CPMK | Yang sudah dipelajari |
| 102 | Konsep QA dalam SDLC, prinsip pengujian, ISO 25010, CMMI, TMMi |
| 103 | Level & tipe pengujian, teknik black-box/white-box, test plan, test case, pelaporan |
| 104 | Defect tracking, Agile/DevOps QA, tools (JUnit, Selenium), metrik, laporan QA, etika |
Pertanyaan refleksi
- Kemampuan QA apa yang paling berkembang dalam dirimu selama semester ini?
- Bagaimana cara pandangmu tentang “kode yang berkualitas” berubah?
- Nilai profesional apa yang akan kamu pegang jika bekerja sebagai QA engineer atau developer?
- Langkah belajar berikutnya: sertifikasi (mis. ISTQB Foundation), otomasi tes, atau performance/security testing?
Jalur karier QA
Manual QA / Tester→QA Engineer→SDET / Automation Engineer→QA Lead→QA Manager / Head of Quality
Gunakan roadmap.sh/qa untuk memetakan keterampilan yang perlu dikuasai.
Ringkasnya: Kualitas adalah kebiasaan profesional, bukan tahap di akhir proyek. Refleksi membantu menetapkan langkah belajar berikutnya.
Pertemuan 16 · Sub-CPMK 104.2 · Authentic Assessment · UAS
UAS — QA Process, Agile QA, dan Etika Profesional
UAS menilai kemampuan menganalisis kasus QA modern dan menerapkan etika profesional dalam menyusun solusi QA (materi pertemuan 9–15).
Kisi-kisi
| Materi | Kemampuan yang diuji |
| QA process & defect tracking | Menentukan siklus defect, severity/priority, melakukan RCA |
| QA dalam Agile & DevOps | Menyusun acceptance criteria, strategi otomasi, desain pipeline CI/CD |
| Tools pengujian | Membaca dan menjelaskan unit test (JUnit) dan UI test (Selenium) |
| Metrik kualitas | Menghitung dan menginterpretasikan defect density, DRE, leakage, coverage |
| Etika profesional QA | Menganalisis dilema etis dan merumuskan tindakan yang bertanggung jawab |
Contoh kasus
Sebuah fintech akan merilis fitur pinjaman cepat dalam 3 hari. Pass rate saat ini 88%, ada 2 defect critical terkait perhitungan bunga, dan tim QA memakai salinan data nasabah asli di server staging. Product owner meminta QA menyetujui rilis.
- Hitung dan interpretasikan risiko berdasarkan data yang ada.
- Identifikasi masalah etika dan regulasi (UU PDP) dalam kasus ini.
- Rancang rekomendasi: keputusan rilis, perbaikan proses QA, dan strategi otomasi di pipeline.
Selamat belajar. Jawaban terbaik tidak hanya benar secara teknis, tetapi juga dapat dipertanggungjawabkan secara etis.
Lampiran
Pustaka
Utama
- ACM/IEEE Joint Task Force. Computing Curricula 2020 (CC2020), Bab 5 & 7.
- ACM/AIS. Information Systems 2020 (IS2020), Section 6.4 dan Body of Knowledge “Systems Analysis, Design, and Quality”.
Pendukung
- Pressman, R.S. & Maxim, B.R. (2020). Software Engineering: A Practitioner’s Approach. McGraw-Hill.
- Sommerville, I. (2020). Software Engineering (10th ed.). Pearson.
- Kaner, C., Falk, J., & Nguyen, H.Q. (2013). Testing Computer Software. Wiley.
- roadmap.sh — QA Roadmap.
- Slalom Build (2022). “Quality Engineer Learning Roadmap”. Medium.
- Agati, F. (2023). “Belajar Software Quality Assurance Mulai dari Mana Ya?”. Medium.
- ISO/IEC 25010 — Systems and software Quality Requirements and Evaluation (SQuaRE).
- ISTQB — Certified Tester Foundation Level Syllabus.