Langsung ke konten utama

Pengujian Aplikasi Web

Konsep Pengujian

Konsep Pengujian 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

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. 
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:
  • Himpunan tugas-tugas yang diterapkan ketika pengujian dimulai.
  • Produk kerja yang dihasilkan ketika setiap tugas pengujian dijalankan.
  • Cara dimana hasil pengujian dievaluasi, dicatat, dan digunakan kembali saat pengujian regresi dilakukan.

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.
B. Pengujian basis data
Pengujian basis data menjadi sulit dikarenakan:
  • Permintaan dari client jarang disajikan dalam bentuk yang dapat dimasukkan ke sistem manajemen basis data.
  • Basis data dapat berada jauh dari server. .
  • Data mentah yang diperoleh dari basis data harus dikirim ke server aplikasi web dan diformat dengan benar untuk pengiriman selanjutnya kepada client.
  • Objek isi yang bersifat dinamis harus dikirim ke client dalam bentuk yang dapat ditampilkan kepada end user.
Pengujian basis data harus memastikan bahwa:
  • Informasi yang valid dilewatkan antara client dan server dari lapisan antarmuka.
  • Proses aplikasi web menuliskan ekstraksi atau format data user dengan baik dan benar.
  • Data user diberikan dengan tepat untuk fungsi transformasi data pada sisi server yang membentuk query yang sesuai.
  • Query yang dilewatkan ke layer manajemen data yang berkomunikasi dengan rutin-rutin akses basis data terletak di komputer lain.

Pengujian Antar Muka
Pengujian antar muka bertujuan untuk memastikan bahwa script yang benar dibangun untuk setiap permintaan user dan benar dikirimkan ke server.
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.
B. Mekanisme Pengujian Antarmuka
1. Formulir. Pengujian untuk memastikan:
  • Label formulir dapat diidentifikasikan secara visual
  • Server menerima semua informasi form
  • Default yang tepat saat user tidak memilih dari menu pull down atau dari tombol
  • Fungsi-fungsi perambah seperti tanda panah back tidak merusak data yang diisikan ke dalam form
  • Script yang memeriksa kesalahan input data
  • Lebar kolom dan jenis data yang tepat
  • Mencegah user memasukkan string text lebih panjang dari jumlah max. yang telah ditetapkan
  • Menu pull down diurutkan dan dapat dipahami user
  • Auto-fill tidak mengarah ke kesalahan input data
  • Key tab memicu perpindahan di antara kolom
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:
  • Pop-up diukur dan diposisikan dengan benar
  • Pop-up tidak menutupi jendela aplikasi web asli
  • Perancangan pop-up konsisten dengan perancangan antarmuka
  • 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
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.

Pengujian Navigasi
Tugas pengujian navigasi adalah memastikan bahwa semua mekanisme yang memungkinkan pengguna aplikasi web melakukan penelusuran melalui aplikasi web, dan 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.

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

Pengujian Keamanan
Pengujian keamanan bertujuan 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

Postingan populer dari blog ini

PERANCANGAN BERORIENTASI OBJEK

PBO 1. Identifikasi Kelas Objek Tujuan mengidentifikasi kelas objek dalam sistem berorientasi objek: 1. Gunakan analisis gramatikal dari deskripsi bahasa alami. Objek dan atribut adalah kata benda; operasi atau layanan adalah kata kerja. 2. Gunakan entitas nyata (benda) dalam domain aplikasi seperti mobil, peran seperti manajer atau dokter, acara seperti permintaan, interaksi seperti pertemuan, lokasi seperti kantor, unit organisasi seperti perusahaan. 3. Gunakan analisis berbasis skenario dimana berbagai skenario penggunaan sistem diidentifikasi dan dianalisis secara bergantian. 2. Istilah dalam Objek Oriented 1. Objek (Object) Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti untuk aplikasi yang akan dikembangkan.  Objek diwakili dengan kata benda Objek dapat berupa: Objek orang/manusia: Karyawan, Mahasiswa Objek tempat: Kantor, Gedung, Toko Objek abstrak: Transaksi, Jadwal, Peminjaman Objek organisasi: Divisi-IT, HRD Objek peralatan/benda: Mobil, Buku, Ba

Pengujian Perangkat Lunak

1. Dasar-dasar pengujian perangkat lunak Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Pengujian bertujuan untuk mencari kesalahan. Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan sebanyak mungkin dengan usaha sekecil mungkin. A. Tujuan Pengujian a. Menilai apakah perangkat lunak yang dikembangkantelah memenuhi kebutuhan pemakai. b. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan. c. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan. B. Testability Testability adalah kemampuan PL untuk dapat diuji artinyaseberapa mudah sebuah program komputer untuk bisa diuji. Karakteristik testa