Testing Principle & Methodologies
Testing ini dilakukan agar produk (software) dapat berfungsi sesuai kriteria dan prinsip yang ada.
7 Prinsip Testing
1.Memperlihatkan error yang terjadi,
tujuan utama dari testing untuk menemukan cacat atau bug dalam produk, ya. Nah, meskipun testing sudah dilakukan berulang kali, bukan berarti produk kita nanti bebas bug.
2. Prioritas testing,
karena terbatasnya waktu perlu membuat daftar prioritas biar bisa tahu mana yang perlu dikerjakan terlebih dahulu.
3. Pengujian lebih awal,
kegiatan testing harus dilakukan sedini mungkin. Makanya, setelah kita dapat dokumennya dari manajer atau tim bisnis, kita bisa langsung mempelajari dan mendiskusikannya.
4. Pengelompokan/clustering error,
karena banyaknya error maka kamu perlu mengelompokkan masalah berdasarkan kondisi errornya
5. Pesticide paradox,
Sebagai seorang QA, kita dituntut untuk terus update dengan cara kita menemukan cacat (bug) pada produk. Karena ada kemungkinan bug yang kita cari sudah kebal nih.
6. Testing disesuaikan konteks,
Pendekatan, metode, teknik, dan jenis testing juga disesuaikan dengan jenis aplikasi.
7. Error tidak ditemukan ≠ tidak ada error
Testing Process
- Entry Criteria: Entry Criteria memberikan item prasyarat yang harus diselesaikan sebelum pengujian dapat dimulai
- Exit Criteria: Exit Criteria mendefinisikan item yang harus diselesaikan sebelum pengujian dapat disimpulkan.
STLC (Software Testing Life Cycle)
STLC adalah urutan aktivitas yang dilakukan selama proses pengujian software atau produk.
Fase STLC
1. Requirement analysis,
menentukan persyaratan yang akan diuji pada produk atau software, bisa berupa fungsional atau non-fungsional. Misalnya, mengidentifikasi jenis tes yang akan dilakukan, mengumpulkan detail prioritas testing, hingga mengidentifikasi lingkungan pengujian. Automation feasibility analysis = (jika diperlukan).
Exit
- Requirement Traceability Matrix (RTM).
2. Test planning,
sebagai QA kita perlu menentukan perkiraan aktivitas, biaya, serta menyiapkan dan menyelesaikan test plan
Entry
- Dokumen Requirements (functional dan non-functional) atau PRD (Product Research Documentation)
- Acceptance criteria
- Dokumen Application architectural atau TRD (Technical Research Documentation)
Exit
- Dokumen test plan /strategy
- Dokumen effort estimation
3. Test case development,
Aktivitas yang dilakukan meliputi pembuatan test case, automation scripts (jika ada), melakukan review test case, dan scripts. Pada fase ini, test data yang sudah dibuat bisa diidentifikasi dan ditinjau.
Entry
- Requirements Documents/PRD
- Requirement Traceability matrix(RTM)
- Dokumen Test automation feasibility
Exit
- Dokumen test case dan test data
4. Test environment setup,
Proses ini dapat dilakukan secara paralel dengan test case development stage, ya. Pada tahap ini kita Setup test Environment dan test data serta melakukan smoke test pada fitur baru di environment tersebut.
Exit
- Environment dengan test data untuk preconditions
- Smoke Test Results
5. Test execution,
produk diuji berdasarkan test plan dan test case yang sudah ditentukan.
Test Execution Activities
- Execute tests as per plan
- Document test results, and log defects for failed cases
- Map defects to test cases in RTM
- Retest the Defect fixes
- Track the defects to closure
6. Test cycle closure,
tim testing akan berdiskusi untuk membahas dan menganalisis hasil testing. Aktivitas yang dilakukan meliputi menyiapkan test metrics, melakukan dokumentasi, dan menyediakan laporan test.
Deliverables of Test Cycle Closure
- Test Closure report
- Test metrics
Fungsi STLC
- Mengurangi bug selama pengambangan
- Meningkatkan kualitas dan transparansi proses pengembangan
- Memaksimalkan kontrol atas kualitas produk
- Mempengaruhi penerapan Agile, Scrum dan lain2
- Memberikan produk yang berkualitas tidak hanya kepada klien, tapi juga kepada pengguna