Terminologi
Pengujian adalah kegiatan yang dilakukan untuk mengevaluasi kualitas produk dan untuk memperbaikinya dengan mengidentifikasi cacat dan masalah.
Gambar 7-1 menunjukkan bahwa pengujian merupakan bagian dari analisis tindakan jaminan mutu (Bourque dan Dupuis 2005). Dengan menemukan kesalahan yang ada, keadaan kualitas program yang diuji ditentukan, menciptakan dasar untuk peningkatan kualitas, kebanyakan hanya dengan menghapus kesalahan ditemukan.
7.1 Struktur kualitas software
Karakteristik Kualitas
Seorang pengguna tidak hanya mengharapkan aplikasi untuk berperilaku dengan cara tertentu, dia juga mengharapkan bahwa fungsi tertentu akan tersedia 24 jam per hari dan 7 hari seminggu (24×7). Selain itu, pengguna mengharapkan aplikasi yang mudah digunakan, handal, cepat, kompatibel dengan sistem lain dan versi masa depan, dan sejenisnya. Oleh karena itu, penting untuk menguji aplikasi apakah memenuhi persyaratan kualitas atau tidak, seperti jenis karakteristik kualitas yang diharapkan oleh pengguna.
Pengujian Tujuan
Pengujian tidak akan mengarah pada peningkatan mutu kecuali kesalahan yang terdeteksi dan dihapus. Tujuan utama pengujian adalah untuk menemukan kesalahan.
Pengujian Tingkat
Menurut tahap pembangunan yang berbeda di mana kita dapat menghasilkan hasil yang diuji, kami mengidentifikasi tingkat uji untuk memfasilitasi pengujian hasil ini.
- Tes Unit : menguji unit terkecil yang dapat diuji (kelas, halaman Web, dll), tidak tergantung pada Unit pengujian yang telah dilakukan oleh pengembang selama implementasi.
- Tes Integrasi: mengevaluasi interaksi antara unit yang berbeda dan terpisah diuji oleh mereka yang telah terintegrasi. Tes integrasi dilakukan oleh tester, pengembang, atau keduanya.
- Tes Sistem: menguji kesempurnaan, perpaduan sistem. Tes sistem biasanya dilakukan oleh tim uji khusus.
- Tes Penerimaan: mengevaluasi sistem kerja sama dengan atau di bawah naungan klien dalam suatu lingkungan yang berasal paling dekat dengan lingkungan produksi. Tes Penerimaan menggunakan kondisi nyata dan data nyata.
- Tes Beta : biarkan pengguna yang bersahabat bekerja dengan produk versi awal dengan tujuan untuk memberikan umpan balik awal.
Peranan Tester
“Tester terbaik bukanlah orang yang menemukan banyak bug atau yang mepermalukan kebanyakan programmer. Tester terbaik adalah orang yang dapat memperbaiki bug yang ada “. (Kaner et al. 1999). Sejak tim proyek web biasanya multidisiplin, dan tim kerjasama biasanya singkat, ini bisa saja sulit bagi anggota tim untuk membangun kepercayaan yang dibutuhkan untuk kolaborasi yang erat antara pengembang dan penguji.
Uji Spesifikasi dalam Rekayasa Web
Poin-poin berikut ini menguraikan spesifik yang paling penting dan tantangan dalam pengujian aplikasi web berdasarkan karakteristik aplikasi.
- Kesalahan dalam “isi” sering bisa ditemukan hanya dengan manual mahal atau tindakan organisasi, misalnya, oleh proofreading.
- Ketika pengujian struktur hypertext, kita harus memastikan bahwa halaman yang terhubung dengan benar, misalnya, setiap halaman harus dapat diakses melalui link dan, pada gilirannya, harus memiliki link kembali ke struktur hypertext. Selain itu, semua link harus menunjuk ke halaman yang sudah ada, yaitu, mereka tidak harus dipatahkan.
- Jumlah besar dari potensi perangkat dan karakteristik kinerja yang berbeda mereka (multi-platform) merupakan tantangan lain.
- Tantangan utama adalah untuk saling mengenal ketergantungan budaya dan menganggap mereka memadai dalam ujian. Misalnya, membaca pesanan dalam budaya yang berbeda (misalnya, Arab, Cina) menyiratkan bantu navigasi tertentu lateral di jendela browser.
- aplikasi Web terdiri dari sejumlah komponen perangkat lunak yang berbeda (misalnya, web server, database, middleware) dan sistem terintegrasi (misalnya, sistem ERP, sistem manajemen konten), yang sering disediakan oleh vendor yang berbeda, dan dilaksanakan dengan teknologi yang berbeda.
Pendekatan Konvensional
- Perencanaan: Langkah perencanaan mendefinisikan kualitas tujuan, strategi pengujian umum, hasil uji rencana untuk semua tingkat pengujian, metrik dan metode pengukuran, dan lingkungan pengujian.
- Persiapan: Langkah ini melibatkan memilih teknik pengujian alat dan menentukan kasus uji (termasuk data pengujian).
- Penampilan: Langkah ini menyiapkan infrastruktur tes, menjalankan uji kasus, dan kemudian mendokumentasikan dan mengevaluasi hasilnya.
- Pelaporan: Langkah terakhir merangkum hasil tes dan menghasilkan laporan uji.
7.2 Uji Skema
Tiga Pengujian Dimensi
7.3 Teknik dan Metode Pengujian
Pengujian Link
Link dalam struktur navigasi hypertext yang mengarah ke sebuah node yang tidak ada (halaman, gambar, dll) atau jangkar disebut broken link dan menyatakan sering terjadi kesalahan dalam aplikasi Web. Untuk menguji penge-link-an halaman yang benar (pemeriksaan link), semua link yang sistematis diikuti dimulai pada sebuah halaman awal, dan kemudian dikelompokkan dalam grafik link (peta situs).
Pengujian Browser
Selama pengujian ini, seseorang harus mengajukan pertanyaan-pertanyaan berikut:
- Apakah aplikasi Web dikelola dengan benar, atau bisa menyatakan tidak konsisten terjadi ketika menavigasi langsung ke halaman, misalnya, dengan menggunakan browser tombol “Back”?
- Dapatkah sebuah halaman Web (yang dihasilkan secara dinamis) akan bookmarked selama transaksi, dan dapatkah pengguna menavigasi ke halaman selanjutnya tanpa harus memasukkan nama pengguna dan password untuk login?
- Pengguna dapat menggunakan aplikasi Web untuk membukanya dalam jendela browser beberapa (satu atau beberapa contoh dari browser Web) bersamaan?
- Bagaimana aplikasi Web bereaksi ketika browser memiliki cookies atau bahasa script dinonaktifkan?
Pengujian kegunaan
Mengevaluasi kemudahan desain Web yang berbeda, tata letak keseluruhan, dan navigasi (lihat Bab 11) dari aplikasi Web oleh satu set pengguna yang representatif.
beban, stres, dan Pengujian kontinyu
- Sebuah load test memeriksa apakah sistem memenuhi waktu respon yang dibutuhkan dan seluruh kebutuhan.
- Sebuah tes stres memeriksa apakah sistem bereaksi dengan cara yang dikontrol dalam “situasi stres” atau tidak. Situasi Stress disimulasikan dengan menerapkan kondisi ekstrim, seperti overload realistis, atau sangat berfluktuasi beban.
- Pengujian terus menerus berarti bahwa sistem tersebut dilakukan selama periode waktu yang panjang untuk menemukan “membahayakan” kesalahan.
Pengujian Keamanan
- Kerahasiaan: Siapa yang dapat mengakses data? Siapa yang dapat mengubah dan menghapus data?
- Otorisasi: Bagaimana dan di mana hak akses dikelola? Apakah data dienkripsi semua?Bagaimana data dienkripsi?
- Otentikasi: Bagaimana otentikasi pengguna atau server sendiri?
- Akuntabilitas: Bagaimana mengakses login?
- Integritas: Bagaimana informasi yang dilindungi dari yang berubah selama transmisi?
Pengembangan Tes-driven
Sesuai namanya, pengembangan test-driven didorong oleh (otomatis) tes, yang dibuat sebelum coding. Baru ditulis kode jika tes gagal dibuat sebelumnya, yaitu pengembang harus menulis tes sebelum mereka melanjutkan ke pelaksanaan (refactoring).
- Uji Otomasi
Hal ini berlaku khususnya untuk pengembangan iteratif dan evolusi aplikasi web di mana penggunaan alat terorganisasi dapat mendukung tes yang sering diulang dalam siklus pengembangan jangka waktu pendek dan sempit. Tetapi bahkan setelah pembangunan selesai, perubahan infrastruktur dan lingkungan dari suatu aplikasi Web sering membutuhkan tes harus diulang.
Kelebihan dan Kekurangan Tes Automated
Uji otomatisasi membawa manfaat berikut untuk pengujian aplikasi Web (lihat juga Fewster dan Graham 1999):
- Menjalankan uji regresi otomatis pada versi baru dari sebuah aplikasi Web memungkinkan untuk mendeteksi cacat yang disebabkan oleh efek samping untuk fungsi tidak berubah.
- Berbagai metode uji dan teknik akan sulit atau tidak mungkin untuk melakukan secara manual. Sebagai contoh, beban dan stress testing membutuhkan otomatisasi dan sesuai alat untuk mensimulasikan sejumlah besar pengguna bersamaan.
- Otomatisasi memungkinkan untuk menjalankan tes lagi dalam waktu kurang dan, dengan demikian, untuk menjalankan tes lebih sering mengarah ke kepercayaan yang lebih besar dalam sistem yang diuji.
- Selain itu, kemampuan untuk dengan cepat menjalankan kembali serangkaian tes otomatis dapat membantu untuk mempersingkat waktu pelaksanaan tes dan untuk mengurangi waktu-ke-pasar saat bottleneck adalah mengulangi tes yang ada.Peralatan Uji
- Test perencanaan dan manajemen: Alat-alat ini memudahkan manajemen kasus uji dan data uji, pemilihan kasus uji yang sesuai, dan koleksi hasil tes dan pelacakan bug.
- Test desain kasus: Alat yang tersedia untuk merancang uji kasus dukungan pengembang di uji kasus yang berasal dari definisi persyaratan atau dalam menghasilkan data pengujian.
- Analisis statis dan dinamis: Alat yang dipakai untuk mengukur aplikasi Web, misalnya, validator HTML atau dam link, cobalah untuk menemukan penyimpangan dari standar.
- Percobaan Mengotomasi: Tools dapat mengotomatisasi percobaan dengan mensimulasikan atau penebangan serta menangkap dan mengulang perilaku komponen atau pengguna.
- Sistem pemantauan: tersedia untuk memonitor sistem mendukung kami dalam mendeteksi kesalahan, misalnya, dengan properti sistem menangkap, seperti konsumsi memori atau akses database Tools.
- Tugas Umum: Tools seperti editor atau generator laporan yang bermanfaat dan disebutkan di sini demi kelengkapan. Sebuah diskusi terperinci akan pergi di luar cakupan buku ini.
7.5 Memilih Peralatan Uji
Ketika memilih alat yang cocok untuk pengujian aplikasi Web, kita selalu butuh untuk hal-hal penelitian dan mengevaluasi ulang. Skema uji diperkenalkan dalam bab ini dapat mendukung kita dalam memilih alat-alat dan membangun tool box baik terstruktur dan lengkap.
Sumber:fennypotter.wordpress.com