Selasa, 07 Desember 2010

Tugas 3 TK RPL (Topik Khusus Rekayasa Perangkat Lunak)

PENGUJIAN APLIKASI WEB

Pertumbuhan aplikasi Web sekarang ini sangat cepat terutama dibidang perangkat lunak. Aplikasi Web tidak hanya memberikan kita sebuah jenis aplikasi baru, namun juga menyediakan sebuah cara baru untuk menyebarkan aplikasi perangkat lunak kepada pengguna akhir. Aplikasi Web menggunakan sejumlah teknilogi, bahasa baru, dan model pemrograman. Yang kesemuanya itu digunakan untuk mengimplementasikan aplikasi interaktif yang sangat tinggi serta memiliki kebutuhan kualitas yang sangat tinggi pula. Aplikasi Web modern menjadi sangat canggih dengan program interaktif dengan tampilan GUI yang kompleks dan banyak komponen-komponen perangkat lunak back-end yang terintegrasi. Penganalisisan, pemodelan dan pengujian aplikasi ini menyajikan sejumlah tantangan baru bagi peneliti dan pengembang perangkat lunak.
Sifat heterogen dari perangkat lunak dan penyebaran yang terdistribusi memperkenalkan kompleksitas di dalam perangkat lunak yang harus ditangani selama pengujian. Pada tingkat yang lebih dalam, aplikasi Web mempunyai kemampuan untuk menghasikan GUI yang berbeda sebagai respon terhadap masukan yang diberikan oleh penggunaan.


A.PERMASALAN DI DALAM PENGUJIAN APLIKASI WEB
Sebuah halaman Web dapat disimpan sebagai file HTML statis atau mungkin saja secara dinamis dihasilkan dengan perangkat lunak seperti JSP atau Java Sevlet. Sebuah faktor penting yang mempengaruhi aplikasi Web adalah bagaimana potongan yang bebrbeda dapat dikoneksikan. Berikut ini adalah penggolonga pengujian dalam kaitannya dengan koneksi :
1) Tautan Statis (HTML→HTML)
Kebanyakan literatur mengemukakan bahwa pengujian Web awal difokuskan pada validasi tautan. Sebagai catatan, pengujian ini tidak menunjukkan perangkat lunak mana pun atau isu dinamis.
2) Tauatan Dinamis (HTML→perangkat lunak)
3) HTML Diciptakan secara Dinamis (perangkat lunak→HTML)
4) User/Time Specific GUI(perangkat lunak+state→HTML )
5) Transisi Operasional (pengguna)
6) Koneksi Perangkat Lunak
7) Koneksi Perangkat Lunak Off-Site
8) Koneksi Dinamis

B. TEKNIK DAN METODE TES
Ketika menguji aplikasi Web, pada dasarnya kita menerapkan semua teknik-teknik dan metode-metode yang digunakan pada pengujian perngkat lunak tradisional. Untuk mempertimbangkan pokok-pokok aplikasi Web, beberapa teknik dan metode tes ini harus dipertimbangan atau diadaptasi, dan diperlukan, misalnya Apakah pengaruh faktor-faktor harus diperhitungkan ketika menguji kecocokan dengan browser Web yang derbeda?
Sebagai tambahan, yang dibutuhkan di bagian ini adalah teknik-teknik dan metode tes baru untuk mencakup semua karakteristik yang tidak sesuai didalam pengujian perangkat lunak tradisional (misalnya, pengujian struktur hiperteks).

a.) PENGUJIAN TAUTAN
Tautan didalam stuktur navigasi hiperteks menunjukkan pada node non-existing (halama, citra, dan lain-lain.) atau anchor yang disebut broken link yang menyajikan well-known dan kesalahan yang sering terjadi didalam aplikasi Web. Untuk menguji tautan halaman yang benar (link checking), semua tautan secara sistematis diikuti pada permulaan halaman awal dan kemudian dikelompokkan didalam grafik peta situs(site map)

b.) PENGUJIAN BROWSER
Sejumlah besar browser Web yang berbeda dapat digunakan sebagai client untuk aplikasi. Setiap browser Web menunjukkan perilaku yang berbeda tergantung pada perusahan pembuatnya (misalnya, Mcrisoft, Mozilla, Ntescape, Opera), versinya misalnya Internet Explorer 5.0, 5.01, 5.5, 6.0 7.0), sistem operasinya (misalnya Internet Explorer untuk Windows XP/2000. Windows 98/ME/NT. Atau Macintosh) perangkat kerasnya (seperti, resolusi tampilan dan kedalam warna), atau konfigurasinya (misalnya, aktvitas dari cookies, bahasa script, style sketts). Salah standart yang ditetapkan W3C adalah pengimplementasian dan peningkatan dengan perluasan vendor spesifik. Pengaturan dan statistik browser Web juga tersedia secara on-line. Misalnya pada http:/www.webreference.com/stats/browser.html.

Selama tes dilakukan, seseorang perlu meminta pertanyaan berikut :
1) Apakah keadaan aplikasi Web diatur dengan benar atau terjadi keadaan yang tidak konsisten ketika dilakukan navigasi secara langsung ke halaman, sebagai contoh dengan menggunakan tombol ‘Back’ pada browser?
2) Dapatkah halaman Web dihasilkan secara dinamis pada bookmark selama transaksi, dan pengguna dapat menelusuri halaman yang terakhir tanpa harus memasukkan nam pengguna dan kata sandi untuk login?
3) Dapatkah pengguna menggunakan aplikasi Web untuk membukanya pada beberapa jendela browser (satu atau beberapa kejadian dari browser Web) secara bersamaan?
4) Bagaimana cara aplikasi Web bereaksi ketika browser mempunyai cookies atau bahasa script yang tidak diaktufkan?

Untuk membatasi banyaknya kombinasi dari browser, platform, pengesetan, dan berbagai faktio lain yang menpengaruhi, sekumpulan test case dapat diatur dan konfigurasi dari pengguna potensial atau pengguna yang ada perlu dianalisis, misalnya dengan mengevaluasi log file dan menanyakan statistik browser untuk menemukan kombinasi yang populer.

c.) PENGUJIAN USABILITAS
Dalam konteks pengujian usabilitas, isu pembuatan Web yang dapat diakses untuk pengguna yang mempunyai keterbatasan harus dipertimbangkan. Aksesibilitas artinya bahwa ornag dengan keterbatasan (misalnya, pada visual, indra pendengar, atau kognitifnya) dapat merasa, memahami, menelusuri, dan berinteraksi dengan Web.

Web Accessibility Initiative (WAI) dari W3C telah mengembangkan pendekatan untuk evaluasi situsWeb untuk aksesibilitas yang juga relevan untuk pengujian aplikasi Web. Sebagai tambahan panduan, W3C menyediakan layanan validasi (http:/validator.w3.org/) untuk digunakan dalam mengkombinasika pengujian manual dan penggunaan dari fitur-fitur aksesibilitas.

d.) PENGUJIAN PEMUATAN, TEGANGAN DAN PENGUJIAN MALAR
Pengujian pemuatan, tegangan, dan pengujian malar (continous) didasarkan pada prosedur-prosedur yang serupa. Beberapa permintaan dikirimkan ke aplikasi Web di bawah tes secara bersamaan oleh pengguna yang disimulasikan untuk mengukur waktu respons dan lewatan(throughput).
Pengujian pemuatan, tegangan, dan pengujian malar mempunyai sasaran tes yang berbeda, yaitu:
1) Pengujian pemuatan memverifikasikan apaka (ya atau tidak) sistem memenuhi waktu respins dan lewatan(throughput) yang diperlukan.
2) Pengujian pemuatan memverifikasikan apaka (ya atau tidak) sistem bereaksi dengan cara yang terkontrol dalam situasi stress.
3) Pengujian malar mempunyai arti bahwa pengujian sistem dilakukan atas periode waktu yang panjang untuk menemukan kesalahan “tersembunyi dan membahayakan”.

e.) PENGUJIAN KEAMANAN
Pengujian keamanan adalah sebuah bidang luas. Pengujian keamanan berhubungan dengan isu karakteristik “keamanan”, yaitu:
1) Kerahasiaan
2) Otorisasi
3) Autentikasi
4) Akuntabilitas
5) Integritas
Secar khusus, pengujian keamanan tidak hanya harus menenmukan kerusakan yang diharapkan, tetapi juga ketidak lengkapan atau ketidakbenaran fungsionalitas, dan pada perilaju tambahan.

f.) PENGEMBANGAN DITUNTUT TES
Pengembangan dituntut tes(Beck 2002) dimunculkan dari pendekatan “tes lebih dulu” yang digunakan pada Extreme programming. Pengenbangan ini tentu tidak perlu mendikte suatu pendekatan proyek agile. Ini artinya bahwa kita dapat menggunakan teknik-teknik ini, bahkan pada proyek-proyek konvensiaonal.
Pengembangan dituntut tes dijalankan dengan tes(diotomatiskan) yang diciptakansebelun pekerjaan pengkodean. Pengembangan dapat berkonsentrasi pada langkah-langkah kecil dan memelihara tujuan yang lebih besar (“membersihkan kode yang bekerja”) dalam pikiran. Pengembangan dituntut tes memastikan bahwa pengembangan dibawah tekanan harus benar-benar menungkatkan dan menjalankan tes otomatis yang ada sesering mungkin.

C. JENIS-JENIS PENGUJIAN KINERJA
Pengujian kinerja digambarkan sebagai investigasi teknis yang dilaksanakan untuk menentukan atau memvalidasikan karakteristik kecepatan (speed), skalabilitas (scalability), dan/atau stabilitas (stability)produk dibawah tes.
Pengujian kinerja merupakan sebuah istilah umum yang mencakup sebagai subset, tiap-tiap nilai dan manfaat terdaftar di bawah jenis-jenis tes kinerja lainnya dan juga dipertimbangkan sebagai manfaat dari pengujian kinerja secara umum.

a.) JENIS-JENIS PENGUJIAN KINERJA UMUM
• Pengujian Kinerja berujuan untuk menentukan atau menvalidasi kecepatan, skalabilitas, dan/atau stabilitas. Dengan catatan penujian kenerja adalah investigasi teknis yang dilakukan untuk menentukan atau menvalidasi karakteristik respons, kecepatan, skalabilitas, dan/atau stabilitas dari produk dibawah tes.
• Pengujian pemuatan bertujuan untuk menverifikasi perilaku aplikasi dibawah kondisi normal dan beban sibuk. Dengan catatan Pengujian pemuatan dilakukan untuk memverifikasikan bahwa aplikasi anda dapat memenuhi kebutuhan sasaran kinerja yang diinginkan. Pengujian pemuatan memungkinkan anda untuk mengukur waktu respons, tingkat lewatan, level penggunaan sumber daya, dan untuk mengindentifikasi aplikasi anda.
• Pengujian tegangan bertujuan untuk menentukan atau memvalidasi suatu perilaku aplikasi ketika ditekan di luar kondisi normal atau beban sibuk. Dengan catatan tujuan dari pengujian tegangan adalah untuk mengungkapkan bug aplikasi yang muncul hanya dibawah kondisi-kondisi beban. Bug ini dapat meliputi hal-hal, seperti isu sinkronisasi dan kebocoran memori. Pengujian tegangan memungkinkan anda untuk mengidentifikasi titik-titik aplikasi bertindak dibawah kondisi-kondisi beban.
• Pengujian kapasitas bertujuan untuk menentukan berapa banyak pengguna dan/ atau transaksi sistem yang diberikan akan mendukung dan masih memenuhi tujuan kenerja. Dengan catatan pengujian kapasitas membantu andauntuk mengendalikan strategi dalam menentukan apakah anda perlu menaikkan atau menurunkan kapasitas.

b.) MATRIKS RINGKASAN MANFAAT DENGAN JENIS PENGUJIAN KINERJA UTAMA
• Pengujian kinerja bermanfaat menentukan karakteristik kecepatan, skalabilitas dari aplikasi stabilitas dari aplikasi dengan demikian, menyediakan suatu masukan untuk pembuatan keputusan bisnis,dipusatkan pada penentuan jika pengguna sistem akan dicukupi dengan karakteristik kinerja aplikasi, mengidentifikasi ketidaksesuain antara kenyataan dan harapan yang terkait, mendujung usaha penyetelan perencanaan kapasitas dan optimalisasi. Tantangan dan area yang tidak ditunjukkan tidak bisa mendeteksi beberapa fungsionalitas yang hanya tampil di bawah beban. Jika tidak secara hati-hati dirancang dan divalidasi, pengijian hanya bisa mengindikasikan karakteristik kinerja di setiap jumlah skenario produksi yang kecil.
• Pengujian pemuatan mempunyai manfaat menentukan lewatan yang dibutuhkan beban produksi,menentukan ketercakupan untuk mendukung puncak yang diantisipasikan dari lingkungan perangkat keras, mengevaluasi ketercakupan dari keseimbangan, mendeteksi isu konkurensi, mendeteksi kesalahan fungsionalitas di bawah beban, mengumpulkan data untuk tujuan perencanaan skalabilitas dan kapasitas. Tantangan dan area yang tidak ditunjukkan yakni :jangan dirancang terutama yang dipusatkan pada kecepatan respons, hasil perlu saja digunakan untuk perbandingan dengan tes beban yang terkait lainnya.
• Pengujian tegangan mempunyai manfaat menentukan apakah data dapat dirusak dengan sistem overstressing, menyediakan suatu perkiraan diluar beban target, mengijinkan anda untuk menetapkan application-monitoring trigger untuk memperingatkan kegagalan yang akan terjadi, menentukan efek samping dari perangkat keras umum atau mendukung kegagalan aplikasi. Tantangan dan area yang tidak ditunjuk karena stress test tidak realistis untuk desain beberapa stakeholder mungkin akan kehilangan hasil test, ini sering kali sulit untuk mengetahui berapa banyak tekanan pada penerapan.
• Pengujian kapasitas mempunyai manfaat menyediakan informasi tentang bagaimana beban kerja dapat ditangani untuk memenuhi kebutuhan bisnis, menyediakan data aktual yaitu perencanaan kapasitas yang dapat menggunakan validasi atau mempertinggi model-model mereka dan/atau memprediksi, memungkinkan anda untuk melakukan berbagai tes untuk membandingkan model-model perencanaan kapasitas dan/atau memprediksi, menentukan pemakaian sekarang dan kapasitas dari sitem yang ada untuk membantu perencanaan kapasitas, menyediakan kecenderungan kapasitas dan pemakain dari sistem yang ada untuk membantu perencanaan. Tantangan dan area yang tidak ditunjuk yakni model kapasitas tes validasi sulit untuk diciptakan, tidak semua dari asoek-aspek model perencanaan kapasitas dapat divalidasikan sampai menguji waktu yang sama ketika aspek-aspek tersebut menyediakan banyak nilai.

c.) ISTILAH/KONSEP-KONSEP TAMBAHAN
• Tes komponen (Component test) : Tes kinerja target suatu komponen-komponen yang diuji biasanya mencakup server basis data, jaringan, firewall, client, dan perangkat penyimpanan.
• Investigasi : suatu aktivitas berdasarkan pada pengumpulan informasi yang berhubungan dengan karakteristik kecepatan, skalabilitas, dan/atau meningkatkan kualitas produk di bawah tes yang mungkin mempunyai nilai di dalam menentukan atau meningkatkan kualitas produk. Investigasi sering digunakan untuk membuktikan kebalikan hipotesis tentang penyebab utama dari isu kinerja yang diamati.
• Smoke test : bagian awal tes kinerja untuk melihat apakah aplikasi anda dapat melakukan operasinya dibawah beban normal.
• Tes unit : dalam konteks pengujian kinerja, sebuah tes unit adalah tes pada target suatu modul kode dengan modul yang merupakan subsey logis dari keseluruhan basis kode yang ada dari aplikasi, dengan fokus pada umumnya adalah functions,prosedure, routines, object, mehods, dan clacess. Kinerja tes unit sering diciptakan dan dilakukan oleh pengenbangan yang menuliskan modul kode yang telah diuji.
• Tes validasi : membandingkan karakteristik kecepatan, skalabilitas, dan/atau stabilitas dari produk di bawah tes terhadap harapan yang telah diset untuk produk.

Tidak ada komentar:

Posting Komentar