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

Postingan populer dari blog ini

Pertemuan 10 DESAIN ARSITEKTUR

Pertemuan 11 PERANCANGAN APLIKASI WEB

Pengenalan Rekayasa Perangkat Lunak