Belajar QA Tester - Regression & Smoke Testing
Episode 6 of 28

Belajar QA Tester - Regression & Smoke Testing

Menguasai regression testing dan smoke testing untuk memastikan perubahan kode tidak merusak fitur yang sudah ada dan build baru layak diuji lebih lanjut

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 5 kita mempelajari functional & usability testing, pada episode ini kita mempelajari regression & smoke testing — dua jenis testing yang krusial untuk memastikan stabilitas aplikasi. Regression testing memastikan perubahan kode tidak merusak fitur yang sudah ada, sementara smoke testing memastikan build baru layak diuji lebih lanjut.

Mengapa regression & smoke testing penting? Karena dalam siklus pengembangan yang cepat, perubahan kode bisa secara tidak sengaja merusak fitur yang sudah berfungsi. Tanpa regression testing, bug bisa lolos ke production dan membuat frustrasi pengguna.

Regression Testing

Apa itu Regression Testing?

Regression testing adalah pengulangan test yang sudah ada untuk memastikan perubahan kode tidak memperkenalkan bug baru:

text
Regression Testing Workflow:
├── 1. Developer mengubah kode (fitur baru atau bug fix)
├── 2. QA menjalankan regression suite
├── 3. Jika ada test yang gagal:
│   ├── Bug baru ditemukan → Buat bug report
│   └── Developer fix → QA retest
└── 4. Jika semua test passed → Build layak diuji lebih lanjut

Regression Suite

Regression suite adalah kumpulan test cases yang dijalankan setiap kali ada perubahan kode:

text
Regression Suite Structure:
├── Critical Path Tests (wajib)
│   ├── Login/Logout
│   ├── Core business flow
│   └── Payment process
├── High Priority Tests
│   ├── Fitur yang sering berubah
│   ├── Fitur dengan history bug tinggi
│   └── Fitur yang baru di-fix
└── Medium Priority Tests (opsional, tergantung waktu)
    ├── Fitur stabil
    └── Edge cases yang sudah tercover

Note

Regression suite harus dijalankan secara konsisten. Jika dijalankan hanya sesekali, efektivitasnya berkurang karena bug mungkin sudah lolos ke production.

Prioritization

Tidak semua test harus dijalankan setiap kali. Prioritaskan berdasarkan risiko:

PrioritasKriteriaFrekuensi
P1 (Critical)Core business, payment, securitySetiap build
P2 (High)Fitur utama, high trafficSetiap sprint
P3 (Medium)Fitur sekunderSetiap release
P4 (Low)Edge cases, nice-to-haveMonthly

Smoke Testing

Apa itu Smoke Testing?

Smoke testing adalah test singkat untuk memastikan build baru layak diuji lebih lanjut. Jika smoke test gagal, tidak perlu melanjutkan testing karena build sudah rusak.

text
Smoke Testing Purpose:
├── Validasi build baru bisa di-install dan dijalankan
├── Pastikan critical path berfungsi
├── Hindari waste time untuk testing build yang rusak
└── Quick sanity check sebelum deep testing

Smoke Test Suite

Smoke test suite harus minimal dan cepat:

text
Smoke Test Checklist (5-10 menit):
├── 1. Application bisa diakses
│   ├── URL bisa diakses
│   └── Tidak ada error 500
├── 2. Login berfungsi
│   ├── Login dengan valid credentials
│   └── Dashboard bisa diakses
├── 3. Core flow berfungsi
│   ├── Bisa browse produk
│   ├── Bisa tambah ke cart
│   └── Bisa checkout (minimal sampai payment page)
└── 4. Tidak ada crash
    ├── Tidak ada unhandled error
    └── Semua halaman utama bisa diakses

Contoh Smoke Test

text
Smoke Test - E-Commerce App:
├── TC-SMOKE-001: Akses homepage
│   ├── Buka https://app.example.com
│   ├── Expected: Homepage loaded, no error
│   └── Time: 30 detik
├── TC-SMOKE-002: Login
│   ├── Input valid credentials
│   ├── Expected: Redirect ke dashboard
│   └── Time: 1 menit
├── TC-SMOKE-003: Browse produk
│   ├── Klik "Produk"
│   ├── Expected: Produk list muncul
│   └── Time: 30 detik
├── TC-SMOKE-004: Tambah ke cart
│   ├── Klik "Tambah ke Cart"
│   ├── Expected: Cart count bertambah
│   └── Time: 30 detik
└── TC-SMOKE-005: Akses checkout
    ├── Klik "Checkout"
    ├── Expected: Checkout page loaded
    └── Time: 30 detik

Regression vs Smoke Testing

AspekRegression TestingSmoke Testing
TujuanPastikan perubahan tidak merusakPastikan build layak diuji
ScopeComprehensive (banyak test)Minimal (critical path)
Waktu1-4 jam5-15 menit
Kapan dijalankanSetiap perubahan kodeSetiap build baru
Jika gagalBug baru ditemukanBuild tidak layak diuji

Tip

Jalankan smoke test terlebih dahulu. Jika smoke test gagal, hentikan testing dan laporkan ke developer. Jangan buang waktu untuk testing build yang sudah rusak.

Practical: Regression Suite Setup

Berikut langkah setup regression suite:

text
Regression Suite Setup:
├── 1. Identifikasi critical path
│   ├── Login/Logout
│   ├── Core business flow
│   ├── Payment process
│   └── User management
├── 2. Buat test cases
│   ├── Satu test case per critical flow
│   ├── Include happy path & error cases
│   └── Estimate execution time
├── 3. Prioritize
│   ├── P1: Critical path (wajib)
│   ├── P2: High priority (sprint)
│   └── P3: Medium priority (release)
├── 4. Automate (opsional)
│   ├── Automate P1 test cases
│   ├── Gunakan Playwright/Cypress
│   └── Integrate ke CI/CD
└── 5. Maintain
    ├── Update test cases saat fitur berubah
    ├── Review suite quarterly
    └── Hapus test yang sudah tidak relevan

Penutup

Pada episode 6 ini, kalian telah mempelajari regression & smoke testing.

Inti yang harus dibawa pulang:

  • Regression testing memastikan perubahan kode tidak merusak fitur yang sudah ada.
  • Smoke testing memastikan build baru layak diuji lebih lanjut.
  • Smoke test harus cepat (5-15 menit) dan dijalankan sebelum deep testing.
  • Regression suite harus diprioritaskan berdasarkan risiko.

Di episode 7 selanjutnya, kita akan membahas exploratory testing — bagaimana menemukan bug melalui eksplorasi kreatif tanpa script test yang ketat. Sampai jumpa di episode 7!

Belajar QA Tester - Regression & Smoke Testing | Belajar QA Tester