Review pada Bab 20 Pengujian
Aplikasi-aplikasi Berbasis WEB
Buku
ini merupakan peganggan bagi banyak akademisi dan praktisi dalam kelas-kelas
yang mereka selenggarakan. Pada bab ini misalnya, yang membahas tentang
pengujian Aplikasi berbasis WEB. Saya sangat tertarik dengan bab ini karena
pada era milenia ini banyak sekali bermunculan aplikasi yang menggunakan sistem
interkoneksi internet pada cross platform sekalipun.
Coba
kita bayangkan bagaimana sistem tersebut bisa saling terhubung, berkomunikasi dan
saling terintegrasi secara visual. Saya mengutip Wallace yang menyatakan bahwa
:
“Pengujian tidak harus menunggu sampai
proyek selesai. Mulailah pengujian sebelum Anda menuliskan Kode program. Uji
lah terus-menerus dan ujilah secara efektif. Dengan bagitu, Anda akan
mengembengkan situs web yang dapat bertahan Lama.”
Ada beberapa
pertanyaan awal untuk mulai membahas Bab ini. Saya sering mengumpulkan
pertanyaan lalu mencari jawabannya pada buku yang sedang saya baca. Beberapa
pertanyaan yang muncul ini di antaranya :
1. Apakah
yang dimaksud engan pengujian aplikasi berbasis web ?
Jawaban
singkat. Pengujian aplikasi web adalah aktivitas yang memiliki satu tujuan,
yaitu menghasilkan web yang handal dan sesuai dengan kebutuhan. Pengujiannya
sendiri untuk menemukan kesalahan dalam isi, fungsi, kegunaan, kemampuan
navigasi, kapasitas, kinerja, dan keamanan aplikasi.
Nah,
pengujiannya sendiri memiliki 2 skema, pengujian tinjauan teori (perancangan)
dan pengujian berbasis eksekusi program (trial and find the error)
2. Siapa
yang melakukan pengujian ?
Aplikasi
Web sendiri berkaitan dengan banyak pihak. Aplikasi web bisa diperuntukkan bagi
korporasi, perorangan, atau cross end user.
Jadi,
untuk melakukan pengujian berbasis eksekusi program kita harus mengetahui
bagaimana pola perilaku dari masing-masing pengguna (Manajer, pelangan, bag.
Keuangan, dll) sistem berbasis Web ini.
3. Mengapa
kita harus membahas pengujian Aplikasi berbasis Web ? apakah ini hal yang
penting ?
Coba
kita bandingkan pengguna internet pada tahun tahun-tahun sebelumnya. Hanya 817
miliar orang pengguna internet aktif tahun 2004, namun pada tahun 2009 melonjak
sampai 1734 miliar pengguna. 2 kalo lipatnya. Sekarang ini ada sekitar pengguna
2,5 miliar pada tahun 2014.
Dari
jumlah pengguna yang melonjak seperti itu. Pengembangan aplikasi berbasis web
juga mengamali lonjakan yang sangat besar. Dulu untuk mengajukan program
beasiswa kita tidak pernah membuka web browser, lalu submit semua syarat-syarat
yang diminta. Tapi sekarang ini, kita hanya butuh koneksi internet dan
persiapan berkas-berkasnya.
Begitu
pula muncul website-website baru serta media sosial yang membanjiri di dunia
maya.
Apabila
ada pengguna aplikasi berbasis web yang menemukan kesalahan yang membuat mereka
meragukan aplikasi web tersebut, mereka akan pergi ke tempat lain untuk mencari
isi dan fungsi yang mereka perlukan, aplikasi itu akan gagal. Karena alasan
tersebut kita harus berhati-hati dalam mengembangkan aplikasi berbasis web.
4. Apa
saja yang harus dilakukan bila ingin melakukan pengujian ?
Aplikasi
berbasis web itu ditujukan bagi manusia sebagai pengguna akhir (end user) jadi
ketika melakukan pengujian terhadap sebuah aplikasi berbasis web. Kita harus mengutamakan
aspek-aspek yang berhubungan dengan pengguna akhir. Bagaimana caranya ? gunakan
blackbox testing, baru setelah itu white box testing. Pengujian fungsi-fungsi
dan prosedur yang ada pada program aplikasi berbasis web.
Setelah
pengujian yang berhubungan dengan pengguna, kita dapat melakukan pengujian
terhadap penerapan teknologi dan infrastruktur yang digunakan dalam sistem.
5. Apa
hasilnya ?
Rangkaian
sebuah pengujian akan berakhir dengan catatan-catatan perbaikan. Dari catatan
yang terdokumentasi dengan baik, kita dapat memprediksi perbaikan mana saja
yang harus didahulukan. Perbaikan tersebut juga dapat diprediksikan membutuhkan
waktu berapa lama. Selain itu hasil catatannya juga disimpan untuk proses
maintenance pada masa yang akan datang.
Konsep pengujian aplikasi website
Dimensi
kualitas pengujian
-
ISI
Pengujian
ini lebih menekankan pada kualitas tulisan, baik itu secara tekstual terkait
tanda baca, dan tata bahasa. Selain itu juga diuji tentang kebenaran informasi
yang disajikan. Karena diera banjir informasi, banyak sekali informasi bohong
yang disebarkan.
-
FUNGSI
Pengecekan
apakah ada kesalahan-kelasahan dalam pemrograman yang dideklarasikan (sintax).
-
STRUKTUR
Pengujian
struktur memungkinkan untuk mempermudah dalam pengembangan selanjutnya sebuah
website.
-
KEGUNAAN
Untuk
memastikan bahwa setiap interface yang ada berjalan sesuai dengan fungsinya.
Ini paling vital bagi pengguna aplikasi berbasis web.
-
KEMAMPUAN NAVIGASI
Misalnya
menemukan tautan yang sudah tidak berfungsi (dead link)
-
KINERJA
Menguji
kemampuan proses kerja seperti lama waktu loading halaman tertentu.
-
KOMPATIBILITAS
Untuk
menemukan kesalahan yang khusus pada konfigurasi host yang unik.
-
INTEROPERABILITAS
Untuk
meyakinkan bahwa aplikasi web saling terhubung antar antamuka dengan aplikasi
lain (cross platform) sekalipun.
-
KEAMANAN
Mencoba
dengan berbagai cara hacking, seperti phising, bruteforce maching, dan over
loading. Setiap usaha pembobolan yang sukses itu berarti sebuah kegagalan baru
ditemukan.
Macam-macam pengujian aplikasi
berbasis Web
Pada
pengujian aplikasi berbasis web kita selalu memandang bahwa end user adalah central actor untuk sistem yang
dibangun. Kita akan lampirkan foto yang memperlihatkan bagaimana memulai sebuah
pengujian website. Gambar 20.1
-
Pengujian Isi
Pengujian
isi terdiri dari pengujian konten dan pengujian basis data. Pada buku Roger S
Pressman ini kita akan diberikan ilmu tentang konten-konten yang baik dan benar
melau pertanyaan kritis yang ia ajukan.
Misalnya,
apakah informasi yang disajikan dalam web tersebut faktual, akurat dan dapat
dipercaya ?
Lalu,
apakah telah disediakan sumber referensi yang memadai untuk pembaca ? lalu
bagai mana tata letak dari konten yang disediakan ?
Roger
juga mengkaitkan dengan hak cipta konten dan merk dagang yang diatur dalam undang-undang.
Pada
bagian pengujian basis data, ada gambar yang bisa memperlihatkan bagaimana
konsepsi layer-layer yang ada pada sebuah sistem aplikasi berbasis web.
Ada
layer klien, server dan database.
-
Pengujian AntarMuka
Antarmuka
(interface) sangat penting dalam sebuah aplikasi berbasis dekstop, mobile maupun web. Namun untuk perangkat lunak
berbasis web kita akan lebih mengedepan estetika dan fungsionalitas. Penggunaan
warna, huruf, border, tabel dan garis tepi.
Pengujian
antarmuka yang dimaksud adalah menguji visibilitasnya pada beberapa peramban (browser),
jadi sebuah aplikasi harus dapat diakses dari berbagai web browser, dan sistem
oprasi. Sehingga pengguna cross platform tidak kesusahan apabila akan
mengaksesnya.
-
Pengujian Peringkat Komponen (pengujian
fungsi)
Pengujian
ini menggunakan fungsi-fungsi yang ada pada program untuk diuji. Misalnya,
sebuah kotak form yang harus diisi dengan angka (integer) maka seharusnya ia
tidak akan bisa dimasukkan selain itu. Apabila coba dimasukkan maka akan ada feedback,
berupa pemberitahuan (error action).
Apa yang seharusnya user lakukan.
-
Pengujian Navigasi
Pengujian
navigasi pada aplikasi berbasis web itu meliputi daftar isi website, pencarian
internal pada website tersebut, tautan (linked information), redirect, frame
dan bookmark.
Menu-menu
navigasi yang ada pada website juga seharusnya mempermudah pengguna dalam
menjelajahi isi keseluruhan perangkat lunak. Sehingga pengguna (user) dapat
maksimal dalam menggali informasi pada website yang disediakan.
-
Pengujian Konfigurasi
Setting
Konfigurasi ini berhubungan dengan server aplikasi web, server basis data,
sistem operasi, perangkat lunak firewall dan aplikasi konkuren. Aplikasi web
diinstal dilingkungan server dan diuji untuk memastikan bahwa aplikasi tersebut
beroprasi tanpa kesalahan.
Tidak
lupa pada konfigurasi server juga dipikirkan keterhubungan aplikasi dengan client. Pada sisi client, kita lebih
fokus pada komponen-komponen berikut ini.
Perangkat
keras, sistem operasi, perangkat lunak peramban, komponen antarmuka, plug in,
dan konektivitas.
-
Pengujian Kinerja
Pengujian
ini untuk menyatakan apakah sebuah sistem aplikasi berbasis web itu mampu
menangani permintaan pengguna yang banyak sekali suatu saat. Apakah bandwith
yang tersedia bisa mengatasi permintaan. Kemudian menghitung seberapa besar
beban permintaan yang di ajukan oleh pengguna sistem.
Lalu
bagaimana apabila sistem berbasis web tersebut mengalami over permintaan ? atau
permintaan yang melebihi kapasitas kemampuan sistem ? apakah website akan down,
atau ada jebakan tersendiri yang memungkinkan website mampu mengontrol hal
tersebut ?
-
Keamanan
Keamanan
merupakan faktor penting bagi sebuah aplikasi berbasis web. Kalo kita amati
dalam beberapa tahun terakhir ini, banyak sekali website-website yang telah
dibobol. Salah satunya website Polri, website pemerintah, dan website yang
berada di bawah kementrian agama. Jika tidak percaya anda bisa buka di google.
Alasan
mengapa orang-orang melakukan hacking terhadap produk perangkat lunak,
sebenarnya dilandasi berbagai motif. Hacker bisa saja adalah seorang pesaing
bisnis yang sedang dibangun. Mereka mempunya berbagai motif yang bisa dibagi ke
dalam hal-hal sederhana. Misalnya mereka ingin mencuri data-data yang ada pada
database website tersebut, memodifikasi isi tampilan, menonaktifkan fungsi,
menurunkan kinerja, untuk sekedar mengasah kemampuan, atau malah pada tujuan
yang lebih keji, ia ingin mempermalukan orang lain, organisasi atau sebuah
bisnis.
Maka
dari alasan di atas. Kita harus memperhatikan kerentanan-kerentanan yang ada
pada aplikasi berbasis web yang akan atau sedang kita bangun.
Firewall
–
Otentifikasi
–
Otorisasi
–
Enkripsi
–
Comments
Post a Comment