Apa Itu Software Testing Life Cycle (STLC)?
Software Testing Life Cycle (STLC) adalah serangkaian proses sistematis yang dilakukan dalam testing perangkat lunak untuk memastikan kualitasnya. STLC mencakup proses verifikasi dan validasi, bukan hanya sekadar eksekusi testing.
Banyak yang mengira bahwa testing hanyalah satu aktivitas tunggal, padahal sebenarnya testing mencakup beberapa fase yang dilakukan secara metodologis untuk menjamin bahwa produk perangkat lunak memenuhi standar kualitas yang diharapkan.
Fase-Fase dalam STLC
Terdapat enam fase utama dalam STLC:
- Requirement Analysis
- Test Planning
- Test Case Development
- Test Environment Setup
- Test Execution
- Test Cycle Closure
Setiap fase dalam STLC memiliki Entry Criteria, Exit Criteria, serta aktivitas dan deliverables yang harus dipenuhi sebelum berpindah ke fase berikutnya.
Entry dan Exit Criteria dalam STLC
- Entry Criteria: Syarat atau dokumen yang harus tersedia sebelum memulai suatu fase testing.
- Exit Criteria: Target yang harus dicapai sebelum fase testing dinyatakan selesai.
Idealnya, fase berikutnya tidak boleh dimulai sebelum Exit Criteria fase sebelumnya terpenuhi. Namun, dalam praktiknya, sering terjadi overlap antar fase untuk menghemat waktu.
Penjelasan Detail Setiap Fase STLC
1. Requirement Analysis
Pada fase ini, tim QA menganalisis dokumen kebutuhan proyek (baik fungsional maupun non-fungsional) untuk mengidentifikasi persyaratan yang bisa diuji. Jika perlu, QA Engineer akan berdiskusi dengan pemangku kepentingan untuk memahami lebih dalam kebutuhan proyek.
Aktivitas dalam Requirement Analysis:
ā
Mengidentifikasi jenis testing yang akan dilakukan.
ā
Menyusun Requirement Traceability Matrix (RTM).
ā
Menentukan prioritas testing dan fokus pengujian.
ā
Menganalisis kemungkinan otomasi testing.
Deliverables (Hasil Akhir):
š RTM
š Laporan analisis kelayakan otomasi
2. Test Planning
Fase ini berfokus pada pembuatan strategi testing dan estimasi biaya serta waktu yang dibutuhkan. Biasanya, QA Manager yang bertanggung jawab atas fase ini.
Aktivitas dalam Test Planning:
ā
Menyusun test plan dan strategi testing.
ā
Memilih tools untuk testing (misalnya Selenium, JMeter).
ā
Estimasi usaha dan biaya testing.
ā
Menentukan peran dan tanggung jawab tim QA.
Deliverables:
š Dokumen Test Plan
š Dokumen Estimasi Usaha
3. Test Case Development
Setelah test plan siap, QA mulai membuat test case berdasarkan kebutuhan proyek. Pada fase ini juga dilakukan pembuatan test scripts untuk automation testing jika diperlukan.
Aktivitas dalam Test Case Development:
ā
Membuat test case manual dan automated test scripts.
ā
Melakukan review test case untuk validasi dan perbaikan.
ā
Menyiapkan test data untuk eksekusi testing.
Deliverables:
š Test cases & test scripts
š Test data
4. Test Environment Setup
Fase ini menentukan lingkungan testing (hardware, software, database, dll.) di mana testing akan dilakukan. Biasanya, tahap ini dilakukan bersamaan dengan fase pengembangan test case.
Aktivitas dalam Test Environment Setup:
ā
Menentukan kebutuhan arsitektur sistem dan konfigurasi server.
ā
Menginstal software dan tools yang diperlukan.
ā
Melakukan smoke testing untuk memastikan lingkungan siap digunakan.
Deliverables:
š Test environment yang siap digunakan
š Hasil smoke testing
5. Test Execution
Di tahap ini, QA Engineer mulai mengeksekusi test cases yang telah dibuat. Jika ditemukan bug, tim akan melaporkan dan menguji ulang setelah perbaikan dari tim developer.
Aktivitas dalam Test Execution:
ā
Menjalankan test cases sesuai test plan.
ā
Melaporkan defect dan melakukan retesting setelah diperbaiki.
ā
Melakukan regression testing untuk memastikan fitur lain tidak terdampak oleh perbaikan bug.
Deliverables:
š RTM yang diperbarui dengan hasil eksekusi
š Laporan defect
6. Test Cycle Closure
Fase ini menandakan bahwa testing telah selesai dan dilakukan evaluasi terhadap hasilnya. Tim QA juga mendokumentasikan pengalaman serta perbaikan yang bisa dilakukan di masa depan.
Aktivitas dalam Test Cycle Closure:
ā
Meninjau apakah testing telah mencapai cakupan yang diharapkan.
ā
Menganalisis metrik testing dan defect severity.
ā
Menyusun Test Closure Report.
Deliverables:
š Laporan Test Closure
š Metrik Testing
Kesimpulan
Software Testing Life Cycle (STLC) adalah proses sistematis yang memastikan bahwa setiap aspek dari software diuji secara menyeluruh sebelum dirilis. Dengan mengikuti fase STLC, QA Engineer dapat meningkatkan efisiensi testing serta memastikan kualitas produk yang optimal.