Pengujian operasi pada back-end SI

2. Pengiriman data XML ke server menggunakan interface POST dan kode respon yang diterima dari server harus bernilai “201” yang menunjukkan resource tersebut berhasil dibuat. 3. Pembacaan terhadap resource baru tersebut untuk menunjukkan bahwa resource tersebut saat itu telah ada. Parameter yang digunakan pada pengujian penulisan baru dari resource gardenbunch terdapat pada Tabel 17. Pada operasi pembuatan baru, id dari resource yang hendak dibuat tidak dimasukkan pada URL karena id tersebut dibangkitkan secara otomatis oleh server. Hasil pengujian penulisan terhadap seluruh resource adalah berhasil. Tabel 17 Parameter pengujian pembuatan resource baru dari gardenbunch Parameter Nilai URL http:api.semv1gardenbunch Interface POST Body item number0001number label g10101d -0001-2012label link reltreerel hrefhttp:api.semv1gardentreeg10101d href link item Headers Authorization: Basic c2VtOmxldG1laW4= Pengujian terhadap operasi penyuntingan dilakukan dalam tiga tahap: 1. Pembacaaan terhadap resource tersebut untuk menunjukkan resource yang ingin disunting telah ada sebelumnya. 2. Pengiriman representasi XML terhadap URL resource tersebut yang memiliki isi berbeda dengan isi pada tahap pertama. Kode respon yang diterima harus bernilai “200” yang menunjukkan bahwa resource yang ada telah berhasil disunting. 3. Pembacaan terhadap resource tersebut untuk menunjukkan bahwa resource tersebut telah berubah sesuai dengan representasi XML yang dikirim pada tahap kedua. Parameter yang digunakan pada operasi penyuntingan ditunjukkan pada Tabel 18. Pada dasarnya parameternya mirip dengan operasi pembuatan baru, bedanya terletak pada URL yang dituju telah memuat id dari resource yang bersangkutan. Perbedaan lainnya adalah body dari operasi penyuntingan tidak harus berisi seluruh atribut dari resource tersebut. Atribut yang ingin disunting sajalah yang dimasukkan pada body. Hasil pengujian penulisan terhadap seluruh resource adalah berhasil, baik penyuntingan seluruh atribut resource maupun sebagian dari atribut yang ada. Tabel 18 Parameter pengujian penyuntingan resource dari gardenbunch1 Parameter Nilai URL http:api.semv1gardenbunch Interface PUT Body item number0002number item Headers Authorization: Basic c2VtOmxldG1laW4= Pengujian terhadap operasi penghapusan dilakukan dalam tiga tahap: 1. Pembacaan resource yang ingin dihapus untuk menunjukkan bahwa resource tersebut sebelumnya telah ada, dan hendak dihapus. 2. Pengiriman operasi menggunakan interface DELETE terhadap URL resource tersebut. Kode respon yang diterima dari server harus bernilai “200” yang menunjukkan bahwa proses penghapusan berhasil dilakukan. 3. Pembacaan terhadap resource yang telah dihapus pada tahap kedua. Hasil kode respon yang diterima harus “404” yang berarti resource yang dibaca pada tahap ini tidak ditemukan karena telah terhapus. Parameter yang digunakan pada penghapusan ditunjukkan pada Tabel 19. Pada operasi penghapusan yang berhasil, server tidak mengirim body kepada client, yang dikirim hanya kode “200” yang menunjukkan operasi berhasil. Hasil pengujian penghapusan terhadap seluruh resource adalah berhasil. Tabel 19 Parameter pengujian penghapusan resource dari gardenbunch1 Parameter Nilai URL http:api.semv1gardenbunch1 Interface DELETE Body Headers Authorization: Basic c2VtOmxldG1laW4=

4.8.2 Pengujian kode respon pada back-end SI

Setiap kode respon yang telah didefinisikan sebelumnya diuji dengan sekenario yang berbeda-beda sedemikian hingga kode tersebut muncul sesuai dengan yang diharapkan. Pengujian dilakukan terhadap seluruh resource yang ada dan untuk semua interface yang digunakan. Secara garis besar, pengujian setiap interface dilakukan menggunakan kode respon seperti GET Tabel 20, PUT Tabel 21, POST Tabel 22, dan DELETE Tabel 23. Tabel 20 Skenario umum pengujian kode respon pada interface GET Kode Skenario Status 200 Membaca resource yang ada. Server memberikan kode “200” beserta representasi XML dari resource yang bersangkutan Berhasil 204 Resource di basis data dikosongkan, kemudian dilakukan pembacaan terhadap resource tersebut. Server memberikan kode “204” tanpa ada tambahan representasi resource. Berhasil 401 Pembacaan dilakukan tanpa menyertakan header untuk otorisasi Berhasil 404 Pembacaan resource yang tidak ada atau membaca resource dengan id tertentu yang tidak ada pada basis data Berhasil 406 Pembacaan dengan header tambahan berupa permintaan format representasi lain seperti CSV, XLS, dll yang tidak didukung oleh server server hanya mendukung XML Berhasil 500 Server dikondisikan error sehingga tidak dapat melayani segala macam operasi Berhasil Tabel 21 Skenario umum pengujian kode respon pada interface PUT Kode Deskripsi Status 200 Penyuntingan terhadap resource dilakukan, saat server merespon dengan kode “200” kemudia diperiksa di basis data apakah telah berubah sesuai proses suntingan. Saat data di basis data berubah maka kode “200” tersebut adalah benar Berhasil 401 Operasi dilakukan tanpa menyertakan header untuk otorisasi Berhasil 404 Penyuntingan suatu resource dengan id yang tidak terdaftar di sistem Berhasil 409 Penyuntingan dilakukan dengan mengubah id dengan id yang telah terdaftar sehingga server mendeteksi potensi duplikasi Berhasil 415 Body representasi data yang dikirim dalam bentuk selain XML, misalnya JSON dan CSV Berhasil 500 Server dikondisikan error sehingga tidak dapat melayani segala macam operasi Berhasil Tabel 22 Skenario umum pengujian kode respon pada interface POST Kode Deskripsi Status 201 Pembuatan suatu resource yang berhasil seharusnya memberikan kode “201” Berhasil 400 Body yang dikirim saat pembuatan resource dirancang memiliki atribut yang tidak lengkap sehingga server mengirimkan kode “400” Berhasil 401 Operasi dilakukan tanpa menyertakan header untuk otorisasi Berhasil 404 Pembuatan resource dengan URL ditujukan pada resource yang tidak terdaftar di sistem, misalnya gardenweeding Berhasil 409 Pembuatan suatu resource dengan nama atau id yang telah terdaftar sebelumnya. Misalnya gardenbunch1 memiliki atribut label bernilai “abc”, sistem diuji dengan mencoba membuat resource di gardenbunch dengan label berisi “abc” Berhasil 415 Pengiriman representasi data dalam format yang tidak didukung oleh server, misalnya CSV Berhasil 500 Server dikondisikan error sehingga tidak dapat melayani segala macam operasi Berhasil Tabel 23 Skenario umum pengujian kode respon pada interface DELETE Kode Deskripsi Status 200 Penghapusan salah satu resource, kemudian diperiksa di basis data apakah telah berhasil dihapus. Saat data berhasil dihapus dan server memberikan kode “200” maka kode tersebut valid Berhasil 401 Operasi dilakukan tanpa menyertakan header untuk otorisasi Berhasil 404 Pengujian dengan mencoba menghapus suatu resource dengan id yang tidak terdaftar pada sistem Berhasil 500 Server dikondisikan error sehingga tidak dapat melayani segala macam operasi Berhasil Kode respon yang memiliki makna sama adalah kode 401, 404, dan 500 terlepas dari jenis operasi yang dilakukan. Hal tersebut disebabkan karena kode tersebut merupakan respon terhadap kesalahan yang dilakukanterjadi terlepas dari operasi yang dilakukan. Sebagai contoh kode 500 yang terjadi akibat kesalahan konfigurasi server atau kode pemrograman, akan menyebabkan segala bentuk operasi menjadi gagal dan tidak dapat diolah.

4.8.3 Pengujian operasi pada back-end SIG

Pengujian dilakukan untuk memastikan Geoserver telah terkoneksi dengan basis data PostgreSQL dan menampilkan data spasial yang dimaksud. Pengujian koneksi dilakukan dengan cara sederhana yaitu mematikan basis data lalu mencoba menjalankan Geoserver untuk menampilkan peta yang dimaksud. Geoserver harus tidak dapat menampilkan peta karena koneksi terputus. Pengujian keabsahan tampilan peta dilakukan dengan cara menghapus baris yang ada pada basis data dengan tujuan melihat perubahan yang dimunculkan oleh Geoserver seperti pada Gambar 24. Pada Gambar 24a tanaman terpilih ditampilkan pada peta. Titik berwarna abu-abu yang ditunjuk oleh panah merah dalam kondisi sebagai tanaman tidak terpilih. Selanjutnya satu baris ditambahkan pada basis data yang berisi daftar tanaman yang terpilih, kemudian dilakukan pemuatan ulang peta tersebut untuk melihat perubahan yang terjadi pada peta. Pengujian berhasil saat peta yang ditampilkan telah merefleksikan keadaan pada basis data yang ada, yaitu titik berwarna hijau Gambar 24b.