Files
Unity-MazeRunner-Pathfindin…/Assets/Scripts/TestPlan.md

9.6 KiB

Rencana Pengujian Sistem Pathfinding

Dokumen ini menguraikan pendekatan pengujian komprehensif untuk sistem pathfinding, termasuk pengujian komponen sistem dan pengujian kinerja algoritma.

I. Pengujian Komponen Sistem

1. Pengujian Input Ukuran Grid

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
GS-01 Memasukkan ukuran grid yang valid (mis., 20x20) Grid diubah ukuran dengan benar
GS-02 Memasukkan ukuran grid maksimum (200x200) Grid diubah ukuran ke ukuran maksimum
GS-03 Memasukkan nilai melebihi maksimum (mis., 201x201) Operasi ditolak, peringatan ditampilkan
GS-04 Memasukkan nilai non-numerik Input ditolak
GS-05 Memasukkan nilai negatif atau nol Input ditolak
GS-06 Mengubah ukuran selama pathfinding Operasi diblokir selama pathfinding
GS-07 Menguji grid tidak persegi (mis., 20x30) Grid membuat bentuk persegi panjang yang benar

2. Pengujian Dropdown Algoritma

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
ALG-01 Pilih A* Algoritma berubah ke A*
ALG-02 Pilih Dijkstra Algoritma berubah ke Dijkstra
ALG-03 Pilih Greedy Algoritma berubah ke Greedy
ALG-04 Pilih Backtracking Algoritma berubah ke Backtracking
ALG-05 Pilih BFS Algoritma berubah ke BFS
ALG-06 Mengubah algoritma selama pathfinding Operasi diblokir selama pathfinding

3. Pengujian Toggle Pergerakan Diagonal

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
DIAG-01 Aktifkan pergerakan diagonal Pergerakan diagonal diaktifkan, jalur dapat menggunakan diagonal
DIAG-02 Nonaktifkan pergerakan diagonal Pergerakan diagonal dinonaktifkan, jalur hanya menggunakan arah kardinal
DIAG-03 Toggle selama pathfinding Operasi diblokir selama pathfinding

4. Pengujian Kontrol Visualisasi

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
VIS-01 Menyesuaikan kecepatan visualisasi (meningkat) Visualisasi berjalan lebih cepat
VIS-02 Menyesuaikan kecepatan visualisasi (menurun) Visualisasi berjalan lebih lambat
VIS-03 Mengatur ukuran batch ke 1 Setiap langkah divisualisasikan secara individual
VIS-04 Mengatur ukuran batch ke nilai lebih tinggi Beberapa langkah divisualisasikan bersama
VIS-05 Menyesuaikan kontrol selama pathfinding Operasi diblokir selama pathfinding

5. Pengujian Generator Labirin

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
MAZE-01 Menghasilkan labirin kecil (kepadatan rendah) Labirin dihasilkan dengan sedikit rintangan
MAZE-02 Menghasilkan labirin sedang (kepadatan sedang) Labirin dihasilkan dengan rintangan moderat
MAZE-03 Menghasilkan labirin besar (kepadatan tinggi) Labirin dihasilkan dengan banyak rintangan
MAZE-04 Menghasilkan labirin dengan kepadatan 0% Grid kosong sepenuhnya dihasilkan
MAZE-05 Menghasilkan labirin dengan kepadatan 100% Grid terisi penuh dihasilkan
MAZE-06 Menghasilkan labirin selama pathfinding Operasi diblokir selama pathfinding

6. Pengujian Simpan dan Muat

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
SAVE-01 Simpan dengan nama file valid Labirin berhasil disimpan
SAVE-02 Simpan dengan nama file kosong Pesan kesalahan ditampilkan
SAVE-03 Simpan selama pathfinding Operasi diblokir selama pathfinding
LOAD-01 Muat file yang ada Labirin berhasil dimuat
LOAD-02 Muat dengan nama file yang tidak ada Pesan kesalahan ditampilkan
LOAD-03 Muat selama pathfinding Operasi diblokir selama pathfinding

7. Pengujian Tombol Muat Ulang

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
RELOAD-01 Klik tombol muat ulang Scene dimuat ulang ke keadaan awal
RELOAD-02 Klik muat ulang selama pathfinding Scene dimuat ulang, operasi diizinkan selama pathfinding
RELOAD-03 Klik muat ulang setelah pathfinding dalam mode build Tombol diaktifkan kembali setelah reset

8. Pengujian Status UI

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
UI-01 Mulai pathfinding Semua tombol dinonaktifkan kecuali reload dan exit
UI-02 Setelah pathfinding selesai (editor) Tombol diaktifkan kembali
UI-03 Setelah pathfinding selesai (build) Tombol tetap dinonaktifkan
UI-04 Interaksi mouse selama pathfinding Repositioning NPC/tujuan diblokir

II. Pengujian Kinerja Algoritma

1. Pengujian Algoritma A*

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
ASTAR-01 Grid kecil (20x20), kepadatan rendah Jalur ditemukan secara efisien
ASTAR-02 Grid sedang (50x50), kepadatan sedang Jalur ditemukan dengan kinerja wajar
ASTAR-03 Grid besar (100x100), kepadatan tinggi Jalur ditemukan tanpa waktu/memori berlebihan
ASTAR-04 Jalur mustahil (kepadatan 100%) Dengan benar melaporkan tidak ada jalur yang ditemukan
ASTAR-05 Dengan pergerakan diagonal Jalur diagonal yang lebih pendek digunakan
ASTAR-06 Tanpa pergerakan diagonal Hanya jalur kardinal yang digunakan

2. Pengujian Algoritma Dijkstra

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
DIJK-01 Grid kecil (20x20), kepadatan rendah Jalur ditemukan dengan eksplorasi lebih dari A*
DIJK-02 Grid sedang (50x50), kepadatan sedang Jalur ditemukan dengan waktu/memori lebih tinggi dari A*
DIJK-03 Grid besar (100x100), kepadatan tinggi Jalur ditemukan, mungkin dengan penggunaan sumber daya tinggi
DIJK-04 Jalur mustahil (kepadatan 100%) Dengan benar melaporkan tidak ada jalur yang ditemukan
DIJK-05 Dengan pergerakan diagonal Jalur optimal ditemukan
DIJK-06 Tanpa pergerakan diagonal Jalur kardinal optimal ditemukan
ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
GREEDY-01 Grid kecil (20x20), kepadatan rendah Kinerja cepat, jalur berpotensi tidak optimal
GREEDY-02 Grid sedang (50x50), kepadatan sedang Kinerja cepat dengan memori lebih sedikit dari A*/Dijkstra
GREEDY-03 Grid besar (100x100), kepadatan tinggi Lebih cepat dari A*/Dijkstra, tetapi mungkin tidak optimal
GREEDY-04 Jalur mustahil (kepadatan 100%) Dengan benar melaporkan tidak ada jalur yang ditemukan
GREEDY-05 Labirin dengan bottleneck Mungkin menghasilkan jalur yang tidak optimal

4. Pengujian Algoritma Backtracking

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
BACK-01 Grid kecil (20x20), kepadatan rendah Jalur ditemukan, kemungkinan lebih lambat dari algoritma lain
BACK-02 Grid sedang (50x50), kepadatan sedang Degradasi kinerja dengan ukuran meningkat
BACK-03 Labirin kecil dengan kepadatan tinggi Mungkin kesulitan dengan labirin kompleks
BACK-04 Jalur mustahil (kepadatan 100%) Dengan benar melaporkan tidak ada jalur yang ditemukan

5. Pengujian Algoritma BFS

ID Tes Kasus Uji Hasil yang Diharapkan Lulus/Gagal
BFS-01 Grid kecil (20x20), kepadatan rendah Jalur optimal untuk grid tanpa bobot
BFS-02 Grid sedang (50x50), kepadatan sedang Penggunaan memori lebih tinggi dari A*
BFS-03 Grid besar (100x100), kepadatan tinggi Konsumsi memori tinggi
BFS-04 Jalur mustahil (kepadatan 100%) Dengan benar melaporkan tidak ada jalur yang ditemukan

III. Matriks Kinerja Sistem Keseluruhan

Algoritma Grid Kecil Grid Sedang Grid Besar Kepadatan Rendah Kepadatan Tinggi Dengan Diagonal Tanpa Diagonal
A*
Dijkstra
Greedy
Backtracking
BFS

IV. Instruksi Pelaksanaan Pengujian

  1. Persiapan:

    • Pastikan proyek dalam keadaan bersih
    • Untuk pengujian sistem, uji satu komponen pada satu waktu
    • Untuk pengujian algoritma, gunakan penguji otomatis dengan berbagai kombinasi
  2. Dokumentasi:

    • Tandai setiap pengujian sebagai Lulus/Gagal dalam daftar periksa
    • Catat anomali atau perilaku tidak terduga
    • Dokumentasikan metrik kinerja jika berlaku
  3. Pengujian Regresi:

    • Setelah memperbaiki bug, jalankan kembali pengujian terkait untuk memastikan lulus
    • Secara berkala jalankan rangkaian pengujian lengkap untuk menangkap regresi
  4. Pengujian Otomatis:

    • Gunakan PathfindingTester untuk pengujian algoritma otomatis
    • Rekam dan analisis output CSV untuk perbandingan komprehensif