TestForge

Bab 2 — Pengujian sepanjang SDLC

Model pengembangan, test level, test type, dan maintenance testing.

22 mntPersiapan Ujian Foundation Level

Berapa harga bab ini

Bab 2 menyumbang 6 dari 40 pertanyaan di paket latihan kami, tersebar di 10 tujuan pembelajaran — dan seperti di bab 1, setiap satunya K1 atau K2. Tidak ada di sini yang meminta Anda menerapkan sebuah teknik.

BagianTujuanYang diinginkannya
2.1 Pengujian dalam konteks sebuah SDLC6Lifecycle, praktik baik, test-first, DevOps, shift left, retrospektif
2.2 Test level dan test type3Lima level-nya, empat type-nya, confirmation versus regression
2.3 Maintenance testing1Tiga pemicunya, dan apa yang menentukan cakupannya

Perhatikan bentuknya: §2.1 adalah 6 dari 10 tujuannya, tapi §2.2 adalah tempat sebagian besar orang kehilangan nilai, karena level-versus-type adalah pasangan yang paling andal tertukar di seluruh silabusnya. Baca §2.1 untuk pengenalan dan §2.2 untuk ketepatan.

2.1 Pengujian dalam konteks sebuah lifecycle

Bagaimana lifecycle mengubah pengujian. Model yang dipakai memengaruhi waktu aktivitas pengujiannya, tingkat kerincian dokumentasi pengujiannya, teknik yang dipilih, dan seberapa jauh otomasinya. Model sekuensial (waterfall, model V) menaruh tiap level setelah tahap pengembangan yang bersesuaian; model iteratif dan inkremental (Scrum, Kanban, spiral) menjalankannya terus-menerus, dalam potongan yang lebih kecil, dan jauh lebih mengandalkan otomasi regresi karena tanah yang sama dilewati ulang setiap iterasi.

Pelajaran SDLC dan STLC di Track 1 membahas model-modelnya sendiri. Yang diinginkan ujiannya adalah konsekuensinya bagi pengujian.

Praktik baik yang berlaku di setiap lifecycle — daftar K1 yang layak dikenali:

  • setiap aktivitas pengembangan punya aktivitas pengujian yang bersesuaian
  • tiap test level punya tujuan yang khas bagi level itu, sehingga hal yang sama tidak diuji tiga kali
  • test analysis dan design untuk sebuah level dimulai selama aktivitas pengembangan yang bersesuaian, bukan setelahnya
  • tester meninjau work product segera setelah drafnya ada

Pendekatan test-first. Ketiganya menulis pengujian sebelum kodenya; ujiannya membedakan ketiganya lewat siapa dan dalam bahasa apa:

Ditulis dariDinyatakan sebagaiKebanyakan di
TDDMaksud developer atas kodenyaUnit test, lalu kode, lalu refactorTingkat komponen
ATDDAcceptance criteria, disepakati dengan bisnisnyaAcceptance testTingkat fitur
BDDPerilaku yang diinginkan, dalam bahasa bisnisSkenario Given / When / ThenTingkat fitur

DevOps. Continuous integration dan delivery, build dan pengujian otomatis, tanggung jawab bersama atas kualitas, dan umpan balik yang cepat. Manfaat dan biayanya sama-sama bisa diujikan: umpan balik lebih cepat dan keyakinan lebih tinggi pada pipeline-nya, berhadapan dengan usaha persiapan yang nyata, infrastruktur tambahan, dan fakta bahwa otomasi tidak menggantikan pengujian eksploratori dan pengujian manual lainnya — sebuah delivery pipeline hanya bisa menjalankan pemeriksaan yang sudah dipikirkan seseorang.

Shift left berarti menguji lebih awal: meninjau kebutuhan, menulis pengujian sebelum kodenya, analisis statis, dan menarik pengujian non-fungsional ke depan alih-alih meninggalkannya sampai seminggu sebelum rilis. Peringatan jujur yang dibuat silabusnya dan dilupakan para kandidat: shift left bisa berbiaya lebih besar di muka, dan ia butuh dukungan manajemen alih-alih semangat seorang tester.

Retrospektif adalah mekanisme perbaikan proses milik silabusnya. Diadakan di akhir sebuah iterasi, milestone, atau proyek, manfaatnya adalah efektivitas dan efisiensi pengujian yang meningkat, kualitas testware yang lebih baik, kualitas test basis yang lebih baik, dan pembelajaran tim. Kalau sebuah pertanyaan menanyakan di mana perbaikan proses pengujian tinggal di dalam lifecycle Agile, inilah jawaban yang diinginkannya.

2.2 Test level dan test type

Lima level-nya, dibedakan oleh objek uji, tujuan, test basis, jenis cacat yang ditemukannya, dan siapa yang bertanggung jawab:

LevelObjekBiasanya menemukan
Component (unit)Satu komponen tunggal secara terpisahKesalahan logika di komponen itu
Component integrationAntarmuka antarkomponenData yang salah diteruskan, ketidakcocokan antarmuka
SystemPerilaku sistem secara keseluruhanKebutuhan yang tidak terpenuhi, cacat alur ujung ke ujung
System integrationAntarmuka dengan sistem dan layanan lainCacat antarmuka dan interoperabilitas
AcceptanceKelayakan untuk tujuannya, kesiapan di-deployApakah ia melakukan apa yang benar-benar dibutuhkan pengguna

Acceptance testing punya beberapa bentuk, dan semuanya layak dikenali namanya: user acceptance testing, operational acceptance testing (backup, restore, keamanan, pemulihan bencana), acceptance kontraktual dan regulasi, serta alpha dan beta testing — alpha di lokasi organisasi pengembangnya, beta di lokasi pelanggannya.

Empat test type-nya:

TypeMenanyakan
FungsionalApa yang dilakukannya?
Non-fungsionalSeberapa baik ia melakukannya?
Black-boxPerilaku yang diturunkan dari sebuah spesifikasi, tanpa memandang isi dalamnya
White-boxDiturunkan dari struktur internalnya

Jebakannya, dan ini yang terbesar di bab ini: setiap type bisa diterapkan di setiap level. Pengujian performa di tingkat komponen itu normal. Teknik black-box di tingkat komponen itu normal. Pertanyaan yang menawarkan "pengujian non-fungsional dilakukan hanya di tingkat sistem" sedang menawarkan pernyataan yang keliru kepada Anda.

Jebakan kedua adalah level versus type secara umum:

Sebuah level adalah kelompok aktivitas pengujian yang ditata di sekitar sebuah objek uji — ia menjawab kapan dan pada apa. Sebuah type mengelompokkan aktivitas di sekitar sebuah karakteristik kualitas atau pendekatan — ia menjawab apa yang sedang dievaluasi.

Pelajaran test level dan test type di Track 1 mengajarkan keduanya; ujiannya menguji apakah Anda tidak pernah mencampur kedua katanya.

Confirmation versus regression — keduanya pengujian terkait perubahan:

  • Confirmation testing mengeksekusi ulang apa yang gagal, untuk memeriksa bahwa perbaikannya bekerja.
  • Regression testing memeriksa bahwa perubahannya tidak merusak sesuatu yang tadinya bekerja, di tempat lain.

Suite regresi bertambah besar, sering dijalankan, dan jarang berubah — dan persis itulah profil yang menjadikannya kandidat terkuat untuk otomasi.

2.3 Maintenance testing

Satu tujuan pembelajaran, dan andal menghasilkan satu pertanyaan. Tiga pemicu:

PemicuContoh
ModifikasiPeningkatan, perubahan korektif, peningkatan environment, patch, hot fix
MigrasiPindah ke platform lain; konversi data, plus pengujian operasional environment barunya
PemensiunanPengarsipan data, dan menguji prosedur restore dan pengambilan-nya

Pemensiunan adalah yang dilupakan orang, dan ia yang muncul di sebuah pertanyaan: menonaktifkan sebuah sistem tetap butuh pengujian, karena data yang diarsipkan harus bisa dibaca sesudahnya.

Cakupannya bergantung pada risiko perubahannya, ukuran sistem yang sudah ada, dan ukuran perubahannya. Impact analysis adalah yang mengidentifikasi area yang terdampak dan karenanya seberapa banyak pengujian regresi yang layak diterima perubahannya — dan silabusnya jelas bahwa impact analysis bisa sulit ketika spesifikasinya sudah usang atau tidak ada.

Perbedaan yang menentukan nilai

Pasangan yang tertukarGaris pemisahnya
Test level / test typeObjek dan waktunya / apa yang sedang dievaluasi
"Type itu milik level"Type apa pun bisa diterapkan di level mana pun
Confirmation / regressionApakah perbaikannya bekerja / apakah perbaikannya merusak hal lain
Component integration / system integrationAntarkomponen kita / antarsistem
Alpha / betaDi lokasi pengembangnya / di lokasi pelanggannya
TDD / ATDD / BDDTingkat unit dan digerakkan developer / dari acceptance criteria / dalam skenario yang terbaca bisnis
Shift left sebagai gratis / shift left sebagai investasiIa berbiaya usaha di muka dan butuh dukungan
Pemicu maintenanceModifikasi, migrasi, dan pemensiunan

Latih dengan drill

Delapan pertanyaan, tanpa batas waktu, setiap jawabannya dijelaskan:

Kuis bab 2 → — simulator ujiannya berbahasa Inggris.

Kalau Anda melewatkan satu, periksa apakah kekeliruannya berupa sebuah fakta atau sebuah kata — di bab ini nyaris selalu katanya.

Selanjutnya: Bab 3 — pengujian statis, dan cacat yang bisa Anda temukan sebelum apa pun berjalan.

Uji pemahaman Anda

3 pertanyaan. Tidak perlu akun, dan tidak ada yang dikirim ke mana pun selain ke pemeriksa jawaban.

  1. 1. Pernyataan mana tentang test level dan test type yang benar?

  2. 2. Sebuah cacat sudah diperbaiki. Timnya menjalankan ulang pengujian yang semula gagal, lalu menjalankan suite yang lebih luas yang mencakup fitur di sekitarnya. Apa kedua aktivitas itu?

  3. 3. Mana di antara ini yang merupakan pemicu maintenance testing?(pilih semua yang sesuai)

Jawab semua pertanyaan dulu.

ISTQB® adalah merek dagang terdaftar milik International Software Testing Qualifications Board. TestForge QA Academy tidak berafiliasi dengan, tidak didukung oleh, dan tidak terakreditasi oleh ISTQB maupun member board mana pun di bawahnya. Soal latihan ditulis berdasarkan learning objective pada silabus yang diterbitkan dan bukan salinan dari ujian sungguhan mana pun.