REKAYASA PERANGKAT LUNAK : PENGUJIAN APLIKASI WEB
Selamat siang, disini saya akan sedikit membahas mengenai “PENGUJIAN APLIKASI WEB” pada mata
kuliah REKAYASA PERANGKAT LUNAK pertemuan 13. Apa saja sih yang akan saya bahas
pada pertemuan 13 kali ini?. Materi yang terdapat pada pertemuan 13 kali ini
yaitu :
1.
Konsep
Pengujian
2.
Konsep
Pengujian Aplikasi Web
3.
Pengujian
Isi
4.
Pengujian
Antar Muka
5.
Pengujian
Navigasi
6.
Pengujian
Konfigurasi
7.
Pengujian
Keamanan
Mari kita masuk ke pembahasan dari materi materi di atas.
1. Konsep
Pengujian
Serangkaian
aktivitas yang tujuannya untuk menemukan kesalahan dalam isi, fungsi, kegunaan,
kemampuan navigasi, kinerja, kapasitas dan keamanan aplikasi web sebelum
aplikasi-aplikasi web yang dibuat dikirimkan ke end user. Hal ini penting
karena jika end user menemukan kesalahan yang membuat mereka meragukan aplikasi
web tersebut, mereka akan pergi ke web lain untuk mencari isi dan informasi. Langkahnya
dimulai dengan fokus pada aspek aplikasi web yang terlihat oleh user dan
berlanjut pada pengujian yang terkait dengan teknologi dan infrastruktur.
2. Konsep
Pengujian Aplikasi Web
A. DIMENSI
KUALITAS
Kualitas
dievaluasi dengan menerapkan serangkaian tinjauan teknis yang melihat berbagai
elemen dari model perancangan dan dengan menerapkan proses pengujian.
ATRIBUT DIMENSI KUALITAS
1.
Isi
(content) Dievaluasi ditingkat sintak dan semantik. Pada tingkat sintak dokumen
berbasis teks diuji dalam hal ejaan, tanda baca dan tata bahasa. Pada tingkat
semantik aspek yang dinilai adalah kebenaran informasi yang disajikan,
konsistensi di seluruh objek isi dan objek terkait, dan rendahnya ambiguitas.
2.
Fungsi
Diuji untuk menemukan kesalahan yang menunjukkan ketidaksesuaian dengan
persyaratan customer.
3.
Struktur
Dinilai untuk memastikan bahwa aplikasi web benar-benar menyediakan isi dan
fungsi aplikasi web.
4.
Kegunaan
Diuji untuk memastikan bahwa setiap kategori user didukung oleh antarmuka yang
user friendly serta menerapkan semua sintak dan semantik navigasi yang
diperlukan.
5.
Kemampuan
untuk dapat dinavigasi Diuji untuk memastikan bahwa semua sintak dan semantik
navigasi dilakukan untuk menemukan kesalahan, seperti link yang salah dan dead
link.
6.
Kinerja
Diuji di bawah berbagai kondisi operasi, konfigurasi, dan loading.
7.
Kompatibilitas
Diuji dengan menjalankan aplikasi web dalam berbagai konfigurasi host yang
berbeda baik di sisi server maupun client.
8.
Interoperabilitas
Diuji untuk memastikan bahwa aplikasi web berantarmuka dengan benar dengan
aplikasi lain dan database.
9.
Keamanan
Diuji dengan menilai kerentanan potensial.
KESALAHAN
ATRIBUT PADA PENGUJIAN APLIKASI WEB
a.
Pengujian
web mengungkap masalah yang didapatkan pertama kali di sisi client, melalui
antarmuka yang implementasinya pada sebuah browser atau perangkat komunikasi
pribadi.
b.
Aplikasi
web diimplementasikan pada beberapa konfigurasi dan lingkungan yang berbeda,
kemungkinan sulit untuk menemukan kesalahan di luar lingkungan tempat kesalahan
pertama kali ditemukan.
c.
Kesalahan
akibat kode program yang tidak tepat (misalnya HTML), seperti kesalahan
penelusuran dokumen.
d.
Kesalahan
pada client-server sulit dilacak di tiga lapisan: client, server, atau
jaringan.
e.
Beberapa
kesalahan yang berada di lingkungan operasi yang bersifat statis, sementara
yang lain terkait dengan ligkungan operasi yang bersifat dinamis
B. STRATEGI
PENGUJIAN
Langkah-langkahnya:
1.
Model
konten untuk aplikasi web ditinjau untuk menemukan kesalahan.
2.
Model
antarmuka ditinjau untuk memastikan bahwa semua use-case dapat diakomodasi
3.
Model
perancangan ditinjau untuk mengungkap kesalahan navigasi
4.
Antarmuka
pengguna diuji untuk menggungkap kesalahan dalam presentasi dan/atau mekanik
navigasi
5.
Komponen
fungsional diuji untuk setiap unit.
6.
Navigasi
untuk seluruh arsitektur diuji
7.
Aplikasi
web diimplementasikan dalam berbagai konfigurasi lingkungan yang berbeda dan
diuji kompatibilitasnya
8.
Pengujian
keamanan dilakukan dalam upaya untuk mengungkap kelemahan aplikasi web
9.
Pengujian
kinerja dilakukan
10.
Aplikasi
web diuji oleh end user, hasil interaksinya dievaluasi untuk menemukan
kesalahan isi dan navigasi, keamanan, keandalan, dan kinerja aplikasi web
C. PERENCANAAN
PENGUJIAN
Sebuah
rencana aplikasi web mengidentifikasikan:
a.
Himpunan
tugas-tugas yang diterapkan ketika pengujian dimulai
b.
Produk
kerja yang dihasilkan ketika setiap tugas pengujian dijalankan
c.
Cara
dimana hasil pengujian dievaluasi, dicatat, dan digunakan kembali saat
pengujian regresi dilakukan
3. Pengujian
Isi
Pengujian
isi menggabungkan baik peninjauan maupun pembuatan test case yang dapat
dilaksanakan.
A. TUJUAN
PENGUJIAN ISI ✓ Untuk
mengungkap kesalahan sintak dengan memeriksa ejaan dan tata bahasa otomatis ✓ Untuk
mengungkap kesalahan semantik yang fokus pada informasi pada setiap isi objek ✓ Untuk
mencari kesalahan dalam pengaturan atau struktur isi dalam susunan dan hubungan
yang tepat
CONTOH
B. PENGUJIAN
BASIS DATA
Pengujian
basis data menjadi sulit dikarenakan:
a.
Permintaan
dari client jarang disajikan dalam bentuk yang dapat dimasukkan ke sistem
manajemen basis data.
b.
Basis
data dapat berada jauh dari server .
c.
Data
mentah yang diperoleh dari basis data harus dikirim ke server aplikasi web dan
diformat dengan benar untuk pengiriman selanjutnya kepada client.
d.
Objek
isi yang bersifat dinamis harus dikirim ke client dalam bentuk yang dapat
ditampilkan kepada end user.
Pengujian
basis data harus memastikan bahwa:
a.
Informasi
yang valid dilewatkan antara client dan server dari lapisan antarmuka
b.
Proses
aplikasi web menuliskan ekstraksi atau format data user dengan baik dan benar
c.
Data
user diberikan dengan tepat untuk fungsi transformasi data pada sisi server yang
membentuk query yang sesuai
d.
Query
yang dilewatkan ke layer manajemen data yang berkomunikasi dengan rutin-rutin
akses basis data terletak di komputer lain
4. Pengujian
Antar Muka
Untuk
memastikan bahwa script yang benar dibangun untuk setiap permintaan user dan
benar dikirimkan ke server. Verifikasi dan validasi antarmuka user terjadi
pada:
a.
Model
antarmuka memastikan bahwa telah sesuai dengan kebutuhan stakeholder dan elemen
lain.
b.
Model
perancangan antarmuka ditinjau untuk memastikan bahwa kriteria kualitas generik
telah ditetapkan untuk semua antarmuka.
c.
Selama
pengujian fokus pada interaksi user.
A. STRATEGI
PENGUJIAN ANTARMUKA
Langkah-langkahnya:
1.
Fitur-fitur
antarmuka diuji seperti jenis huruf, warna, gambar, border, tabel dll
2.
Mekanisme
antarmuka diuji dengan cara yang sama dengan pengujian unit, misalnya pengujian
untuk keranjang belanja pada e-commerce, isi streaming, penulisan script dll
3.
Mekanisme
antarmuka diuji dalam konteks penggunaan use case untuk kategori user tertentu
4.
Antarmuka
lengkap diuji terhadap test case terpilih 5. Antarmuka diuji dalam berbagai
lingkungan
Contoh penggunaan
warna, teks dan gambar pada antarmuka
Contoh pengujian
pada antarmuka yang berbeda
Contoh Antarmuka
diuji dalam berbagai lingkungan:
B. MEKANISME
PENGUJIAN ANTARMUKA
1.
Formulir.
Pengujian untuk memastikan:
a.
Label
formulir dapat diidentifikasikan secara visual
b.
Server
menerima semua informasi form
c.
Default
yang tepat saat user tidak memilih dari menu pull down atau dari tombol
d.
Fungsi-fungsi
perambah seperti tanda panah back tidak merusak data yang diisikan ke dalam
form
e.
Script
yang memeriksa kesalahan input data
f.
Lebar
kolom dan jenis data yang tepat
g.
Mencegah
user memasukkan string text lebih panjang dari jumlah max. yang telah
ditetapkan
h.
Menu
pull down diurutkan dan dapat dipahami user
i.
Auto-fill
tidak mengarah ke kesalahan input data
j.
Key
tab memicu perpindahan di antara kolom
CONTOH INPUT DATA
Contoh untuk user yang mengisi data sendiri
2.
Link.
Setiap link navigasi diuji untuk memastikan bahwa objek isi atau fungsi yang
tepat dapat dicapai
3.
Client-side
scripting. Pengujian dilakukan untuk menemukan kesalahan saat script dijalankan
4.
HTML
dinamis. Dijalankan untuk memastikan bahwa tampilan dinamis sudah benar
5.
Pop-up
windows. Memastikan bahwa :
a.
Pop-up
diukur dan diposisikan dengan benar
b.
Pop-up
tidak menutupi jendela aplikasi web asli
c.
Perancangan
pop-up konsisten dengan perancangan antarmuka
d.
Scroll
bar dan mekalisme kontrol lainnya yang ditambahkan ke pop-up diletakkan dengan
benar
6.
Script
CGI. Pengujian kotak hitam dilakukan dengan penekanan pada integritas data saat
dilewatkan ke script CGI
7.
Streaming
content. Pengujian menunjukkan bahwa data streaming terbarukan, ditampilkan
dengan benar dan dapat dihentikan tanpa kesalahan dan restart tanpa kesulitan
8.
Mekanisme
aplikasi antarmuka spesifik. Pengujian sesuai dengan daftar fungsi dan fitur
yang didefinisikan pada antarmuka
Contoh fitur yang tidak disediakan pada Input Data
C. PENGUJIAN
KOMPATIBILITAS
Aplikasi
web harus dapat dijalankan pada komputer yang berbeda, berupa:
1.
Perangkat
tampilan
2.
Sistem
Operasi
3.
Browser
4.
Kecepatan
koneksi jaringan
Langkah-langkah
uji kompatibilitas:
1.
Mendefinisikan
sekumpulan konfigurasi komputasi di sisi client, mengidentifikasi platform,
perangkat layar, sistem operasi, browser yang tersedia, kecepatan koneksi
internet, dll.
2.
Melakukan
serangkaian uji validasi kompatibilitas berupa pengujian navigasi, pengujian
kinerja, dan pengujian keamanan
5. Pengujian
Navigasi
Tugas
pengujian navigasi:
1.
Memastikan
bahwa semua mekanisme yang memungkinkan pengguna aplikasi web melakukan penelusuran
melalui aplikasi web.
2.
Untuk
memvalidasi bahwa setiap unit semantik navigasi dapat dicapai oleh kategori
pengguna yang tepat.
PENGUJIAN
SINTAKS NAVIGASI
1. Link
Navigasi
Mekanisme
menyertakan link internal dalam aplikasi web dan link eksternal ke aplikasi web
lain, dan anchor pada halaman web tertentu
2. Redirect
Link
beraksi saat user meminta URL yang tidak ada atau memilih sebuah link yang
isinya telah dihapus atau namanya telah berubah
3. Bookmark
Memastikan
bahwa judul halaman yang berarti dapat diekstraksi saat bookmark dibuat
4. Frame
and frameset:
Frameset
berisi beberapa frame dan memungkinkan untuk menampilkan beberapa halaman web
secara bersamaan. Oleh karena itu harus diuji dalam hal isi, tata letak layar
dan ukuran yang tepat, kinerja download, dan kompatibilitas browser.
5. Site
map
Berisi
daftar isi lengkap pada semua halaman web, setiap entry harus diuji untuk
memastikan bahwa link membawa user membaca isi/fungsionalitas yang tepat
6. Search
engine internal
User
mengetikkan kata kunci untuk menemukan isi yang diperlukan
6. Pengujian
Konfigurasi
A. MASALAH
DI BAGIAN SERVER
·
Aplikasi
web sepenuhnya kompatibel dengan server OS
·
Berkas
sistem, direktori, dan data yang terkait dibuat dengan benar saat aplikasi web
dioperasikan
·
Keamanan
sistem mengijinkan aplikasi web untuk berjalan dan melayani user tanpa gangguan
atau penurunan kinerja
·
Aplikasi
web terintegrasi secara tepat dengan perangkat lunak basis data
·
Script
aplikasi web sisi server mengeksekusi dgn benar
·
Jika
proxy server yang digunakan, apakah perbedaan konfigurasi telah diatasi melalui
pengujian
B. MASALAH
DI BAGIAN CLIENT
Pengujian
konfigurasi fokus pada kompatibilitas aplikasi web pada komponen berikut:
1.
Hardware :
CPU, memori, penyimpanan, perangkat cetak
2.
Sistem
operasi
3.
Browser :
Firefox, Safari, IE, Opera, Chrome
4.
Komponen
antarmuka : Active-X, Java applet
5.
Plug
in : Quick Time, RealPlayer
6.
Konektivitas : kabel, DSL, Wifi
7. Pengujian
Keamanan
Untuk
menyelidiki kerentanan lingkungan di sisi client, komunikasi jaringan yang
terjadi saat data dilewatkan dari client ke server, dan di lingkungan server
itu sendiri. Contoh kerentanan yang dapat terjadi:
1.
Buffer
overflow, seperti memasukkan URL yang lebih panjang dari ukuran buffer
2.
Akses
tidak sah
3.
Spoofing
4.
Serangan
DOS
Implementasi keamanan:
1.
Firewall
2.
Authentication
3.
Encryption
4.
Authorization
Komentar
Posting Komentar