QA Pengujian & Jaminan Kualitas Perangkat LunakDoni Winarso
Roadmap QA ↗
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)

KodeKeteranganBobot
CPMK 102Mampu menjelaskan konsep dasar, prinsip, standar, dan dimensi kualitas perangkat lunak serta peran pengujian dalam menjamin mutu perangkat lunak.15%
CPMK 103Mampu merancang dan menerapkan berbagai teknik pengujian (black-box, white-box, integration, regression, dan acceptance testing) berdasarkan kebutuhan sistem.50%
CPMK 104Mampu menggunakan tools pengujian (mis. JUnit, Selenium), mengevaluasi hasil pengujian dengan metrik kualitas, serta menerapkan praktik QA secara profesional dan etis.35%

Sub-CPMK

KodeKemampuan akhirPertemuan
102.1Menjelaskan konsep dasar QA dan pengujian perangkat lunak dalam SDLC1
102.2Menguraikan standar dan dimensi kualitas perangkat lunak (ISO 25010, TMMi, CMMI)2
103.1Menjelaskan berbagai jenis pengujian dan proses pelaksanaannya3–4
103.2Menyusun rancangan test plan dan test case sederhana untuk sistem informasi5–8
104.1Menganalisis hasil pengujian dengan metrik kualitas perangkat lunak9, 11, 12
104.2Mengidentifikasi peran etika profesional dalam kegiatan QA di organisasi10, 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

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

AspekQuality Assurance (QA)Quality Control (QC)Testing
FokusProsesProdukEksekusi produk
SifatPreventif — mencegah cacatDetektif — menemukan cacatBagian dari QC
ContohStandar coding, review proses, auditInspeksi, review hasil kerja, pengujianMenjalankan test case, membandingkan hasil

Tujuh prinsip pengujian

  1. Testing menunjukkan adanya defect, bukan membuktikan tidak ada defect.
  2. Exhaustive testing tidak mungkin; kita memilih tes berdasarkan risiko dan prioritas.
  3. Early testing menghemat biaya; cacat yang ditemukan di tahap kebutuhan jauh lebih murah diperbaiki.
  4. Defect clustering: sebagian besar cacat sering terkumpul di sedikit modul.
  5. Pesticide paradox: tes yang sama diulang terus akan berhenti menemukan cacat baru.
  6. Testing bergantung konteks: aplikasi bank berbeda kebutuhan ujinya dengan game.
  7. Absence-of-errors fallacy: sistem tanpa bug tetap gagal jika tidak memenuhi kebutuhan pengguna.

QA di setiap tahap SDLC

Tahap SDLCKegiatan QA / Testing
Analisis kebutuhanReview kebutuhan: lengkap, jelas, dapat diuji; menyusun kriteria penerimaan
DesainReview desain, merancang test plan dan skenario uji
ImplementasiCode review, unit testing, analisis statis
PengujianIntegration, system, dan acceptance testing
Deployment & pemeliharaanSmoke 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:

  1. Mana yang termasuk error, defect, dan failure?
  2. Pada tahap SDLC mana cacat ini seharusnya bisa dicegah atau ditemukan?
  3. Kegiatan QA apa yang bisa mencegah kejadian serupa?
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).

KarakteristikPertanyaan kunciContoh sub-karakteristik
Functional suitabilityApakah fungsi lengkap dan benar?Completeness, correctness, appropriateness
Performance efficiencySeberapa cepat dan hemat sumber daya?Time behaviour, resource utilization, capacity
CompatibilityBisa berdampingan/bertukar data dengan sistem lain?Co-existence, interoperability
UsabilityMudah dipelajari dan dipakai?Learnability, operability, accessibility
ReliabilityStabil dan bisa pulih dari gangguan?Maturity, availability, fault tolerance, recoverability
SecurityData terlindungi dari akses tidak sah?Confidentiality, integrity, authenticity, accountability
MaintainabilityMudah diubah dan diperbaiki?Modularity, reusability, analysability, testability
PortabilityMudah dipindah ke lingkungan lain?Adaptability, installability, replaceability

CMMI — kematangan proses organisasi

Capability Maturity Model Integration (CMMI) mengukur seberapa matang proses pengembangan di sebuah organisasi.

LevelNamaCiri
1InitialProses tidak terduga, bergantung pada individu
2ManagedProyek direncanakan, dipantau, dan dikendalikan
3DefinedProses standar berlaku di seluruh organisasi
4Quantitatively ManagedProses diukur dan dikendalikan dengan data
5OptimizingPerbaikan 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.

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

Pemantauan dan pengendalian (monitoring & control) berjalan sepanjang proses.

Empat level pengujian

LevelObjekDasar ujiPelaku umum
Unit / ComponentFungsi, kelas, modulDesain detail, kodeProgrammer
IntegrationAntarmuka antar modul/sistemDesain arsitektur, spesifikasi APIProgrammer / tester
SystemSistem utuhSpesifikasi kebutuhanTim tester independen
AcceptanceSistem di lingkungan nyataKebutuhan bisnis, proses bisnisPengguna / klien

Strategi integration testing

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.

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.

PartisiRentangWakilHasil diharapkan
Tidak valid (bawah)< 0-5Ditolak
Valid0 – 10075Diterima
Tidak valid (atas)> 100120Ditolak

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.

AturanR1R2R3R4
Kehadiran ≥ 75%YYTT
UKT lunasYTYT
Boleh UASYaTidakTidakTidak

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";
}

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-boxWhite-box
DasarSpesifikasiKode/struktur
Level dominanSystem, acceptanceUnit, integration
KelebihanSudut pandang pengguna, tidak butuh akses kodeMengukur cakupan, menemukan kode mati
KelemahanTidak tahu bagian kode mana yang belum terujiTidak 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.

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)

  1. Identitas & pendahuluan: nama sistem, versi, tujuan dokumen.
  2. Ruang lingkup: fitur yang diuji dan tidak diuji.
  3. Pendekatan: level, tipe, dan teknik pengujian yang dipakai.
  4. Kriteria masuk & keluar: kapan pengujian boleh dimulai dan dinyatakan selesai.
  5. Kriteria suspend/resume: kapan pengujian dihentikan sementara.
  6. Lingkungan uji: perangkat, browser, database, data uji.
  7. Deliverable: test case, laporan defect, laporan ringkasan.
  8. Jadwal & sumber daya: siapa mengerjakan apa dan kapan.
  9. Risiko & mitigasi.

Format test case

FieldContoh
IDTC-LOGIN-002
JudulLogin gagal dengan password salah
PrasyaratAkun mhs01 terdaftar dan aktif
Langkah1. Buka halaman login
2. Isi username mhs01
3. Isi password salah123
4. Klik “Masuk”
Data ujiusername = mhs01, password = salah123
Hasil diharapkanMuncul pesan “Username atau password salah”; tetap di halaman login
Hasil aktual(diisi saat eksekusi)
StatusPass / Fail / Blocked
PrioritasTinggi

Ciri test case yang baik

KebutuhanDeskripsiTest case
REQ-01Pengguna login dengan username & passwordTC-LOGIN-001, 002, 003
REQ-02Akun terkunci setelah 3 kali gagalTC-LOGIN-004

Tugas (40% asesmen CPMK 103)

Secara berkelompok, pilih satu sistem informasi sederhana (mis. perpustakaan, presensi, atau kasir). Susun:

  1. Test plan ringkas (2–4 halaman) memuat poin 1–9 di atas.
  2. Minimal 15 test case untuk 3 fitur, menggunakan setidaknya dua teknik black-box (EP/BVA/decision table).
  3. RTM yang menghubungkan kebutuhan dengan test case.

Indikator: test plan dan test case sesuai kebutuhan sistem, lengkap, dan dapat dieksekusi oleh orang lain.

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

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

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.

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

  1. Konsep mana yang paling sulit kamu pahami sejauh ini? Mengapa?
  2. Jika kamu menjadi QA di proyek tugas kelompok, risiko kualitas terbesar apa yang kamu lihat?
  3. Bagaimana kamu menjelaskan perbedaan QA dan testing kepada manajer non-teknis?
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

MateriBentuk soal yang mungkin
Konsep QA, QC, testing; error–defect–failureMenjelaskan dan membedakan dengan contoh
Tujuh prinsip pengujianMengidentifikasi prinsip dalam sebuah kasus
ISO 25010, CMMI, TMMiMemetakan kebutuhan ke karakteristik kualitas; menentukan level kematangan
Level & tipe pengujianMenentukan level/tipe yang tepat untuk sebuah skenario
Black-box & white-boxMenyusun EP, BVA, decision table; menghitung coverage dan cyclomatic complexity
Test plan, test case, laporanMenyusun test case dan laporan defect dari studi kasus

Contoh soal latihan

  1. Aplikasi beasiswa menerima IPK 3,00–4,00 dan penghasilan orang tua ≤ Rp5.000.000. Susun tabel keputusan dan nilai batasnya.
  2. Hitung cyclomatic complexity sebuah fungsi yang memiliki satu if, satu else if, dan satu perulangan for.
  3. 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

SeverityArtiContoh
Critical / BlockerSistem tidak dapat dipakai, kehilangan data, celah keamananAplikasi crash saat login
MajorFungsi utama salah, ada jalan memutarPerhitungan diskon salah
MinorFungsi sekunder salah, dampak kecilFilter tanggal tidak menyimpan pilihan
TrivialKosmetikSalah 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.

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

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

  1. Melaporkan hasil secara jujur dan lengkap, termasuk risiko yang belum teruji.
  2. Menggunakan data uji sintetis atau data yang sudah dianonimkan/di-masking.
  3. Menjaga kerahasiaan informasi klien dan temuan keamanan (responsible disclosure).
  4. Mengkritik produk, bukan orangnya — komunikasi defect yang netral dan sopan.
  5. 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.

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

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

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.

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

MetrikRumusMakna
Defect densityJumlah defect ÷ ukuran (KLOC atau function point)Kepadatan cacat dalam kode
Test pass rateTest pass ÷ test dieksekusi × 100%Kesiapan fitur
Test execution progressTest dieksekusi ÷ total test direncanakan × 100%Kemajuan pengujian
Requirement coverageKebutuhan yang punya test ÷ total kebutuhan × 100%Kelengkapan pengujian
Code coverageBaris/cabang dieksekusi ÷ total × 100%Cakupan white-box
Defect Removal Efficiency (DRE)Defect sebelum rilis ÷ (sebelum rilis + setelah rilis) × 100%Efektivitas QA menyaring cacat
Defect leakageDefect ditemukan pengguna ÷ total defect × 100%Cacat yang lolos ke produksi
Defect reopen rateDefect reopened ÷ defect fixed × 100%Kualitas perbaikan
MTTR / MTBFRata-rata waktu perbaikan / antar-kegagalanReliabilitas operasional

Contoh perhitungan

Modul pembayaran berukuran 8 KLOC. Tim QA menemukan 36 defect sebelum rilis; pengguna melaporkan 4 defect setelah rilis.

Checklist review dokumentasi QA

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.

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

  1. Ringkasan eksekutif — satu halaman untuk pembaca non-teknis: kondisi kualitas dan rekomendasi.
  2. Profil sistem — tujuan, pengguna, fitur utama.
  3. Kebutuhan kualitas — dipetakan ke karakteristik ISO 25010.
  4. Strategi pengujian — level, tipe, teknik, tools, lingkungan.
  5. Hasil pengujian — statistik eksekusi dan daftar defect utama.
  6. Analisis metrik — pass rate, coverage, defect density/DRE, interpretasi.
  7. Analisis risiko & akar masalah.
  8. Pertimbangan etika — perlakuan data uji, keterbukaan risiko.
  9. Rekomendasi — perbaikan produk dan proses (mis. menuju level TMMi berikutnya).
  10. Lampiran — test plan, test case, RTM, laporan defect.

Menulis secara profesional

Proyek kelompok

Lanjutkan tugas pertemuan 5–6 menjadi laporan QA konseptual lengkap mengikuti struktur di atas. Laporan dipresentasikan pada pertemuan 14.

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)

  1. Sistem yang diuji dan kebutuhan kualitas utamanya.
  2. Strategi dan teknik pengujian yang dipilih — beserta alasannya.
  3. Temuan penting dan metrik kunci.
  4. Rekomendasi rilis dan perbaikan proses.
  5. Pelajaran dan pertimbangan etis selama pengerjaan.

Rubrik umpan balik sejawat

AspekPertanyaan
Ketepatan konsepApakah standar dan teknik pengujian digunakan dengan benar?
Kualitas analisisApakah kesimpulan didukung metrik dan data?
Etika & profesionalismeApakah risiko dan keterbatasan disampaikan secara jujur?
KomunikasiApakah presentasi jelas bagi audiens non-teknis?
Berikan umpan balik dengan pola apresiasi – saran – pertanyaan. Sama seperti laporan defect, kritik ditujukan pada karya, bukan pribadi.
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

CPMKYang sudah dipelajari
102Konsep QA dalam SDLC, prinsip pengujian, ISO 25010, CMMI, TMMi
103Level & tipe pengujian, teknik black-box/white-box, test plan, test case, pelaporan
104Defect tracking, Agile/DevOps QA, tools (JUnit, Selenium), metrik, laporan QA, etika

Pertanyaan refleksi

  1. Kemampuan QA apa yang paling berkembang dalam dirimu selama semester ini?
  2. Bagaimana cara pandangmu tentang “kode yang berkualitas” berubah?
  3. Nilai profesional apa yang akan kamu pegang jika bekerja sebagai QA engineer atau developer?
  4. 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.

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

MateriKemampuan yang diuji
QA process & defect trackingMenentukan siklus defect, severity/priority, melakukan RCA
QA dalam Agile & DevOpsMenyusun acceptance criteria, strategi otomasi, desain pipeline CI/CD
Tools pengujianMembaca dan menjelaskan unit test (JUnit) dan UI test (Selenium)
Metrik kualitasMenghitung dan menginterpretasikan defect density, DRE, leakage, coverage
Etika profesional QAMenganalisis 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.

  1. Hitung dan interpretasikan risiko berdasarkan data yang ada.
  2. Identifikasi masalah etika dan regulasi (UU PDP) dalam kasus ini.
  3. Rancang rekomendasi: keputusan rilis, perbaikan proses QA, dan strategi otomasi di pipeline.
Lampiran

Pustaka

Utama

  1. ACM/IEEE Joint Task Force. Computing Curricula 2020 (CC2020), Bab 5 & 7.
  2. ACM/AIS. Information Systems 2020 (IS2020), Section 6.4 dan Body of Knowledge “Systems Analysis, Design, and Quality”.

Pendukung