6.6 KiB
6.6 KiB
Blackbox Testing - Equivalence Partitioning
Dokumen ini berisi test case blackbox berbasis Equivalence Partitioning untuk aplikasi mobile_monitoring.
Ruang Lingkup
- Login
- Register
- Forgot Password
- Profile Update
- Change Password
- Home Monitoring Section
- Flow Monitoring + Rekap
- Growth Phase
- Graph
Aturan Umum Equivalence Partition
- Setiap input dibagi ke kelas ekuivalen
validdaninvalid. - Satu test case mewakili satu kelas input.
- Fokus pada perilaku output UI (pesan, navigasi, tampilan data), bukan implementasi internal.
A. Login
| ID | Kelas Ekuivalen | Data Uji | Langkah Uji | Expected Result |
|---|---|---|---|---|
| LGN-01 | Valid email + valid password | email: user@test.com, pass: 123456 |
Isi form login, klik Masuk | Login sukses, navigasi ke Home |
| LGN-02 | Invalid email format | email: usertest.com, pass: 123456 |
Isi form login, klik Masuk | Validasi gagal, tampil pesan error email |
| LGN-03 | Empty email | email: ``, pass: 123456 |
Isi form login, klik Masuk | Validasi gagal, tidak submit |
| LGN-04 | Empty password | email: user@test.com, pass: `` |
Isi form login, klik Masuk | Validasi gagal, tidak submit |
| LGN-05 | Wrong credential (kelas invalid backend) | email valid, pass salah | Isi form login, klik Masuk | Tetap di login, tampil error dari service |
B. Register
| ID | Kelas Ekuivalen | Data Uji | Langkah Uji | Expected Result |
|---|---|---|---|---|
| REG-01 | Semua field valid | name: Budi, email valid, pass 123456, confirm 123456 |
Isi form register, klik Daftar | Register sukses, navigasi ke Home |
| REG-02 | Nama kosong | name: ``, email valid, pass valid | Isi form register, klik Daftar | Validasi gagal, pesan Nama tidak boleh kosong |
| REG-03 | Email tidak valid | email: budi.com |
Isi form register, klik Daftar | Validasi gagal, pesan email tidak valid |
| REG-04 | Password < 6 karakter | pass: 12345, confirm 12345 |
Isi form register, klik Daftar | Validasi gagal, pesan minimal 6 karakter |
| REG-05 | Confirm password tidak sama | pass: 123456, confirm: 123457 |
Isi form register, klik Daftar | Validasi gagal, pesan konfirmasi password |
| REG-06 | Email sudah terdaftar | email existing | Isi form register, klik Daftar | Register gagal, tampil pesan error backend |
C. Forgot Password
| ID | Kelas Ekuivalen | Data Uji | Langkah Uji | Expected Result |
|---|---|---|---|---|
| FGP-01 | Email valid terdaftar | user@test.com |
Di login, klik lupa password | Tampil notifikasi sukses kirim reset |
| FGP-02 | Email kosong | `` | Klik lupa password tanpa isi email | Tampil error minta isi email |
| FGP-03 | Email format tidak valid | user.com |
Klik lupa password | Tampil error email tidak valid |
| FGP-04 | Email valid tidak terdaftar | none@test.com |
Klik lupa password | Tampil error dari auth provider |
D. Profile Update
| ID | Kelas Ekuivalen | Data Uji | Langkah Uji | Expected Result |
|---|---|---|---|---|
| PRF-01 | Nama valid | Nama Baru |
Buka profile, ubah nama, simpan | Update sukses, snackbar sukses |
| PRF-02 | Nama kosong/whitespace | |
Ubah nama lalu simpan | Update gagal, tampil pesan error |
| PRF-03 | User belum login (invalid precondition) | - | Akses profile saat sesi tidak valid | Muncul error autentikasi / redirect sesuai alur |
E. Change Password
| ID | Kelas Ekuivalen | Data Uji | Langkah Uji | Expected Result |
|---|---|---|---|---|
| CHP-01 | Old password benar + new password valid | old benar, new abcdef |
Buka dialog, submit | Password berhasil diubah |
| CHP-02 | Old password salah | old salah, new valid | Submit dialog | Gagal, tampil error |
| CHP-03 | New password < 6 karakter | new 12345 |
Submit dialog | Validasi gagal, tidak kirim request |
| CHP-04 | Confirm new password mismatch | new 123456, confirm 123457 |
Submit dialog | Validasi gagal, pesan mismatch |
F. Home Monitoring Section
| ID | Kelas Ekuivalen | Data Uji/State | Langkah Uji | Expected Result |
|---|---|---|---|---|
| HOM-01 | Valid user + data tersedia | user login, data sensor ada | Buka Home | Muncul 2 MonitoringCard (pH dan Nutrisi) |
| HOM-02 | Valid user + data kosong | user login, koleksi kosong | Buka Home | Section monitoring kosong (tidak crash) |
| HOM-03 | User tidak terautentikasi | userId null/kosong | Buka Home | Stream error ditangani, UI tetap stabil |
G. Flow Monitoring + Rekap
| ID | Kelas Ekuivalen | Data Uji/State | Langkah Uji | Expected Result |
|---|---|---|---|---|
| FLW-01 | Data sensor tersedia | data latest ada | Buka Flow | MonitoringCard pH dan Nutrisi tampil |
| FLW-02 | Data sensor tidak ada | latest null | Buka Flow | Bagian card tidak tampil, halaman tetap normal |
| FLW-03 | Histori tersedia | docs histori > 0 | Buka Flow | MonitoringRecapTable terisi data |
| FLW-04 | Histori kosong | docs histori = 0 | Buka Flow | MonitoringRecapTable tampil state kosong |
| FLW-05 | User tidak login | userId invalid | Buka Flow | Stream error, tidak crash |
H. Growth Phase
| ID | Kelas Ekuivalen | Data Uji/State | Langkah Uji | Expected Result |
|---|---|---|---|---|
| GPH-01 | User login + belum ada siklus | cycle null | Buka Home | GrowthPhaseCard tampil tombol Mulai Tanam |
| GPH-02 | Set tanggal tanam valid | pilih tanggal 2020..hari ini | Klik Mulai Tanam |
Data siklus tersimpan, snackbar sukses |
| GPH-03 | User batalkan date picker | cancel picker | Klik Mulai Tanam lalu batal |
Tidak ada perubahan data |
| GPH-04 | Siklus aktif | start_date ada | Buka Home | Tampil fase aktif, progress, aksi Reset/Panen |
| GPH-05 | Reset siklus dikonfirmasi | pilih Reset + konfirmasi |
Klik reset | Siklus dihapus/reset, snackbar hasil |
| GPH-06 | Panen pada siklus aktif | klik Panen |
Klik panen | Status panen ter-update, snackbar hasil |
I. Graph
| ID | Kelas Ekuivalen | Data Uji/State | Langkah Uji | Expected Result |
|---|---|---|---|---|
| GRF-01 | User valid + histori tersedia | docs > 0 | Buka menu Grafik | Muncul grafik pH dan TDS |
| GRF-02 | User valid + histori kosong | docs = 0 | Buka menu Grafik | Tampil state Belum Memulai Tanam |
| GRF-03 | User tidak login | userId kosong | Buka menu Grafik | Tampil state Silakan Login |
| GRF-04 | Error stream backend | putus koneksi/permission | Buka menu Grafik | Tampil state error + tombol Coba Lagi |
Prioritas Eksekusi
- P1: LGN-01..05, REG-01..06, FLW-01..05
- P2: PRF-01..03, CHP-01..04, GRF-01..04
- P3: GPH-01..06, HOM-01..03
Catatan Eksekusi
- Gunakan 2 akun:
akun_validdanakun_tidak_valid. - Siapkan 3 kondisi data Firestore:
kosong,normal,error/permission. - Dokumentasikan hasil actual per test case:
PASS/FAIL, screenshot, dan timestamp.