tugas RPL Pertemuan 13
Pertemuan 13
PENGUJIAN APLIKASI WEB
1. PENGERTIAN
• Adalah 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 UNTUK
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 di tingkat 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 benarbenar menyediakan isi dan fungsi aplikasi web
Atribut Dimensi Kualitas (Lanjutan)
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
Atribut Dimensi Kualitas (Lanjutan)
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
Kesalahan Atribut pada Pengujian Aplikasi Web
c. Kesalahan akibat kode program yang tidak tepat (misal
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
Langkah-Langkah Strategi Pengujian (Lanjutan)
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:
Penulisan sintak yang
salah, dapat memberikan
semantik yang berbeda
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 (Lanjutan)
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 ANTARMUKA
• 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
Teks sulit dibaca
Contoh pengujian pada antarmuka yang berbeda
Data tidak sama
Contoh
Antarmuka diuji dalam berbagai lingkungan:
Lingkungan Administratortetapi
login untuk User
Gunakan simbol
icon yang umum
untuk exit
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:
Sebaiknya user tidak
diberikan pilihan dengan
combo box
Contoh untuk user yang mengisi data sendiri
User memasukkan
data sendiri,
seharusnya tampil
pada saat kode
kereta dipilih
Mekanisme Pengujian Antarmuka (Lanjutan)
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
Mekanisme Pengujian Antarmuka (Lanjutan)
Contoh fitur yang tidak disediakan pada Input Data
Command yang
membingungkan
dan tidak ada
command SIMPAN
C. Pengujian Kompatibilitas
Aplikasi web harus dapat dijalankan pada komputer yang
berbeda, berupa:
▪ Perangkat tampilan
▪ Sistem Operasi
▪ Browser
▪ Kecepatan koneksi jaringan
Pengujian Kompatibilitas (Lanjutan)
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
Pengujian Sintaks Navigasi (Lanjutan)
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:
• Hardware: CPU, memori, penyimpanan, perangkat cetak
• Sistem operasi
• Browser: Firefox, Safari, IE, Opera, Chrome
• Komponen antarmuka: Active-X, Java applet
• Plug in: Quick Time, RealPlayer
• 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:
• Buffer overflow, seperti memasukkan URL yang lebih
panjang dari ukuran buffer
• Akses tidak sah
• Spoofing
• Serangan DOS
• Implementasi keamanan:
• Firewall
• Authentication
• Encryption
• Authorization
Komentar
Posting Komentar