Senin, 13 Desember 2010

tugas 4 TK RPL (Topik khusus rekayasa perangkat lunak)


Metodologi Pengembangan Aplikasi Web
 
            Teknologi Web telah mengubah cara organisasidalam menjalankan bisnis dan komunikasi. Untuk pengembangan aplikasi, teknologi Web telah menyajikan dunia baru dari rekayasa perangkat lunak (software engineering) dengan teknik-teknik baru, tool baru, lingkungan perencanaan, dan penyebaran yang baru. Teknologi ini juga memungkinkan organisasi untuk menyampaikan aplikasi Web dengan lebih mudah dan lebih cepay serta menyediakan metode yang lebih efisien untuk melakukan pemeliharaan. Sebagai hasilnya, organisasi lebih tanggap terhadap kebutuhan pengguna dan lebih cepat untuk menyesuaikan aplikasi kepada pengguna yang lebih spesifik.

a.) APLIKASI WEB
            penggunaan aplikasi Web menggunakan browser Web pada computer client untuk menjalankan program pada sisi server. Seluruh pemrosesan yang dikerjakan pada server akan akan sama seperti yang dikerjakan pada mesin local pengguna. Ada tiga jenis aplikasi Web, yaitu:
·         Dokumen Web statis : aplikasi Web statis tudak berinteraksi atau mempertukarkan informasinya dengan penggunjungnya.
·         Aplikasi Web interaksi sederhana : mengijinkan penggunjung situs untuk dapat bertukar informasi dengan pemilik Web (Web owner).
·         System basis data berbasis Web yang kompleks : dapat menangani transaksi bisnis online yangn modern. Seperti perbankan online, pedagangan saham dan query basis data interaktif.
Aplikasi Web juga berdasarkan pada halaman Web perorangan, baik itu aplikasi statis ataupun dinamis. Hal ini memungkinkan aplikasi untukbisa dibagi kedalam bagian yang dianggap jelas, dan mengijinkan atau menolak akses yang dibutuhkan. Sebagai contoh : divisi sumber daya manusia perusahaan mungkin mengizinkan akses ke bagian aplikasi tertentu ketika mereka mengerjakan tugasnya atau saat bagian penjualan mungkin ingin melihat bagian persediaan dari aplikasi saat menempatkan pesanan pelanggan.

b.)KOMPONEN APLIKASI WEB
            aplikasi basis dat Web perusahaan yang kuat mempunyai lima komponen utama, sebagain besar server aplikasi akan melakukan pemrosesan logika dan menekankan aturan-aturan bisnis. Server aplikasi juga bertanggung jawab untuk memelihar daerah manajemen dan sesi logika kontrtol yang dibutuhkan untuk system transaksi online. Server basis dat mencakup DatabaseMnagement System (DBMS). Yang menyediakan akses data dan kemampuan manajemen. Biasanya, sesi server Web akan memproses permintaan client dan mengirimkannya kembali ke halama HTML kepada client. Ketika dibutuhkan server Web berhubungan dengan server aplikasi untuk memproses logika bisnis (seperti : otorisasi kredi dan pemeriksaan status persediaan).
Server basis data akan melakukan basis data query dan mengirimkam hasilnya kembali ke server Web seperti arsitektur multilapisan yang menyediakan skalabilitas system yang sangat tinggi. Ketika permintaan system meningkat, beban kerja dapat didistribusiakan pada aplikasi tambahan atau server basis data. Meskipun negitu, tata letak ini tidak bermaksud menyimpulkan bahwa server aplikasi untuk aplikasi Web harus ada dan secara tidak langsung menyimpulkan bahwa server Web, dan server aplikasi atau server basis data tidak dapat ditempatkan pada mesin yang sama. Keputusan terhadap komponen arsitektur akan berdampak pada kebutuhan aplikasi, strategi, bisnis, dan infrastruktur teknologi yang akan datang.
1.) PENGOLAHAN SISI CLIENT
            Pengolahan sisi client telah berkembang menjadi sangat terkenal pada tahun-tahun terakhir ini karena meningkatnya respons aplikasi secara keseluruhan dan munculnya keinginan untuk membebaskan beberapa sumber daya server Web untuk tugas-tugas lain. Java appletsdan komponen .NET Framework adalah dua teknologi utama yang mengijinkan pengembang untuk menciptakan dan memelihara kode yang berjalan pada workstation client. Komponen .NET Framework dan lode java yang berjalan pada server akan dikirimkan ke client sesuai keinginan.
Java applets dan komponen .NET mempunyai persamaan dalam hal pengeksekusian. Kedua teknologi ini berjalan pada mesin waktu eksekusi (runtime engine) di mesin client. Runtime adalah program yang berbeda di dalam mesin (resident) yang menyediakan layanan untuk program lain selama pengeksekusiannya. Runtime .NET dikenal sebagai Common Language Runtime (CLR). Komponen .Net mengompilasikan kode Intermediate Language (IL). Ketika IL sampai pada mesin client, kode tersebut akan ditenjemahkan kedalam kode mesin asli dengan kompilator Just-In-Time didalam CLR. Java applets dikompilasi Java Bytecode dan membutuhkan Java Virtual Machine (JVM) yang diinstal pada mesin client.

2.) PENGOLAHAN SISI SERVER
            Beberapa  aplikasi Web dapat berjalan sekurang-kurangnya untuk pengolahan pada sisi server. Aplikasi yang menggunakan pengolahan sisi server mengerjakan semua pengolahan aplikasi pada server dan hanya mengirimkan HTML kembali kepada client. Padea kasus aplikasi basis data Web, browser Web akan mengirimkan permintaan basis data ke server Web menyampaikan permintaan tersebut dengan menggunakan Common Gateway Interface (CGI) atau Internet Server Aplication Programming Interface (ISAPI) kepada server aplikasi dengan meiddleware basis data Web yang dapat dialokasi.
Server aplikasi menerima hasil query dan menciptakan halaman dalam format HTML dan mengirinkannya kembali ke server Web, menggunakan CGI atau standar tranmisi ISAPI. Selantnya, server Web mengirimkan halaman ke browser. Opsi pemrograman sisi sever mencakup Java. ActiveServer Pages(ASP), ASP.NET, Java Active Pages (JSP), PHP, dan CGI-script (Perl, C dan C++).

c.) TANTANGAN-TANTANGAN PENGEMBANGAN APLIKASI WEB
            tantangan utama mencakup desain usabilitas, pemeliharaan aplikasi Web yang kaya konten, keamanan, integrasi dengan system warisan, dan penyebaran aplikasi dengan cepat. Untuk aplikasi berbasis Internet, ada dua tantangan tambahan, yaitu skalabilitas dan keseimbangan pemuatan (Load Balancing).
·         Desain Usabilitas
·         Aplikasi yang Kaya Konten
·         Skalabilitas
·         Keseimbangan Pemuatan
·         Keamanan
Yang mencakup : privasi , integritas, autentikasi, control akses, system tak terbantahkan.
·         Syatem Warisan Terintegrasi
·         Pengembangan Yang Cepat


d.) METODOLOGI PENGEMBANGAN WEB
            Metodologi pengembangan sistam tradisional, yaitu model air terjun dan metode prototype, masih efektif untuk digunakan, namun perlu diadaptasi dan diperkaya di dalam lingkungan pengembangan yang baru untuk memenuhi tantangan-tantangan aplikasi Web.
Model ini mempunyai langkah-langkah yang sama dengan model air terjun, yaitu :
·         Definisi masalah
·         Analisi kebutuhan
·         Merancang prototype
·         Implementasi
·         Integrasi/pengujian, dan
·         Rilis/pemeliharaan

e.) PERAN-PERAN PENGEMBANGAN
·         Arsitek data akan berfokus pada bagian kebutukan aplikasi yang berhubungan dengan data dan menghasilkan model data konseptual.
·         Arsitek aplikasi akan berfokus pada bagian kebutuhan aplikasi yang berhubungan dengan layanan untuk dikirimkan dan merancang hiperteks aplikasi dengan penetapan Site Views Built di atas data skema yang dihasilkan oleh arsitek data.
·         Desainer grafis akan memahami gaya penyajian halaman berdasarkan pada kebutuhan bisnis yang berhubungan dengan standar komunikasi dan identitas visual organisasi

f.) SIKLUS HIDUP PENGEMBANGAN
Pengembangan aplikasi mengalami beberapa siklus penemuan masalah/perbaiakn  desain/implementasi, dan setiap integrasi menghasilkan suatu prototype atau versi parsial dari system. Padea setiap versi, versi terbaru dari system diuji dan dievaluasi, dan kemudian diperluas dan dimodifikasi.

g.) CONTOH PENDEKATAN PENGEMBANGAN WEB
            Menurut Saurer dan Lau (1997). Ada beberapa metodologi yang sesuai dengan pengembangan aplikasi Web karena kebanyakan metodologi pengembangan system informasi secara tradisional berpusat pada isu teknis dan internal daripada kebtuhan bisnis dan organisasi. Pendekatan menyajikan suatu tipe pendekatan pengembangan dan masing-masing memberikan beberapa pandangan yang berbeda dari system.
Analisis objektif dibagi menjadi enam tugas yaitu :
·         Analisis Teknologi
·         Analisis Informasi
·         Analisis Keahlian
·         Analisi Pengguna
·         Analisis Biaya, dan
·         Analisis Risiko

h.) PROSES PENGEMBANGAN WEB
            Pengembangan karakteristik aplikasi Web biasanya sangat sulit dan memilki tantangan yang unik. Tantangan dalam pengembangan tersebut meliputi interaksi waktu nyata (real-time), kompleksitas, kemampuan berubah, dan keinginan untuk menyediakan informasi personal, sebagai tambahan, usaha dan waktu sangat diperlukan untuk mendesain dan mengembangkan aplikasi Web.
Masukan yang paling penting adalah sekumpulan kebutuhan bisnis (business requitments) untuk pengembangan aplikasi. Kebanyakan kebutuhan ini berupa kebutuhan nonteknis yang menyatakan tujuan jangka panjang dari pengembangan aplikasi dengan mengemukakan nilai bahwa aplikasi tertentu diharap dapat menghasilkan sesuatu bagi pengguna dan organisasi pengembangannya.
Masukan yang kedua adalah sekumpulan batasan lingkungan yang memengaruhi kontruksi aplikasi tersebut. Berikut adalah uraian singkat mengenai keluaran dari proses pengembangan:
·         Penyebaran arsitektur adalah perangkatkeras, perngkat lunak, dan infrastuktur jaringan yang memastikan kebutuhan tingkat layanan dan respek berasal dari batasan-batasan teknis proyek.
·         Modul-modul aplikasi adalah potongan-potongan perangkat lunak yang dikembangkan dan mencakup penyimpanan data, templete halaman dinamis, dan komponen bisnis.
·         Dokumentasi sistem adalah sekumpulan produk nonperangkat lunak yang dikembangkan selama siklis hidup aplikasi yang menetapkan aneka pilihan desain yang penting didalam pengembangan aplikasi potongan dari dokumentasi yang dihasilkan adalah Spesifikasi kebutuhan dan Spesifikasi Desain.

i.) PENGETAHUAN DAN KEAHLIAN UNTUK PENGEMBANGAN WEB
            Pengembangan dan keahlian sangat diperlukan untuk pengembangan aplikasi Web yang kompleks. Selain itu, sebuah disiplin yang berbeda juga diperlukan. Pengetahuan dan keahlian tersebut dapat digolongkan sebagai berikut :
1)      Pendukung teknologi yang memudahkan aplikasi Web
2)      Metode desain yang meliputi : desain untuk usabilitas yaitu desain atar muka, desain untuk pemahaman desain untuk kinerja yaitu kemampuan reaksi. desain untuk keamanan dan integritas. desain untuk evaluasi, pertumbuhan, dan pemeliharaan. Desain untuk pengujian. Grafis dan desain multimedia,dan pengembangan halaman Web.
3)      Arsitektur sistem.
4)      Proses dan metode pengembangan Web.
5)      Manajemen proyek Web
6)      Tool pengembangan
7)      Manajemen konten, dan
8)      Standar Web dan kebutuhan regulatif

j.) PENGEMBANGAN APLIKASI WEB
            Pada beberapa kasus, penetapan apakah situs web harus atau akan berisi awal proses pengembangan tidak mungkin secara penuh ditetapkan karena fungsionalitas dan strukturnya akan meningkat dari waktu ke waktu. Untuk lebih lanjut, informasi yang berisi didalam dan yang disajikan oleh Web juga akan berubah. Lebih lanjut, kemampuan untuk merawat informasi dan skala strutur situs Web (dan fungsi yang disediakan) adalah dua faktor utama yang harus dipertimbangkan ketika mengembangkan situs Web. Faktor-faktor ini membuat pengembangan aplikasi Web berbeda dengan pengembangan perangkat lunak tradisional.



k.) KARAKTERISTIK PENGEMBANGAN APLIKASI WEB
            Aplikasi Web adalah sistem perangkat lunak yang berdasarkan pada teknologi dan standar Word Wide Consortium (W3C). mereka menyediakan sumberdaya Web spesifik, seperti konten dan layanan melalui sebuah antarmuka pengguna dan browser Web.Dengan definisi aplikasi Web ini, kita mencoba untuk menyelidiki karakteristik dari pengembangan aplikasi Web.

1.) KARAKTERISTIK TERKAIT DENGAN APLIKASI
            Berikut adalah uraian singkat mengenai karakteristik aplikasi :
·         Konten : pada awalnya, web berperan sebagai media informasi. Di samping kemampuan yang diperlukan, aplikasi Web juga merupakan aplikasi yang digerakkan konten.
·         Hiperteks : Aplikasi Web mendukung paradigma hiperteks sebagai paradigma dasar untuk struktur informasi. Elemen dasar dari notasi hiperteks Web adalah node, tautan, dan anchor.
·         Presentasi : sistem perangkat lunak konvensional “look and feel” sering diperluas dan ditentukan oleh panduan style dan elemen-elemen antarmuka pengguna yang distandarisasi. Presentasi adalah faktor kualitas sentral untuk aplikasi Web, paling tidak untuk tekanan kompetitif pada Web dengan tampilan visual yang meliputi subjek untuk (perubahan yang terus-menerus) pertujukan, tren dan fitur-fitur teknis baru.

2.) KARAKTERISTIK TERKAIT DENGAN PEMAKAIN
Pengembangan sering tidak bisa meramalkan semua pengaturan potensial. Beriktu adalah uraian singkat mengenai karakteristik yang terkait dengan pemakain.
·         Konteks alami : meliputi aspek-aspek dari lokasi dan waktu akses, menawarkan kesempatan jenis baru dari layanan berbasis konteks, tidak sedikit berkaitan dengan komputasi bergerak (mobile).
·         Infrastruktur Teknik yang Tidak Dapat Diramalkan
·         Perbedaan dan Magnitude Berdasarkan Pengguna

3.) KARAKTERISTIK TERKAIT DENGAN PENGEMBANGAN
            Pengembangan aplikasi Web haris berhadapan dengan kondisi-kondisi risilo, dan ketikpastian yang tidak selalu ada pada proyek perngkat lunak tradisional, seperti pada uraian berikut :
·         Tim Pengembangan
·         Lingkungan Pengembangan
·         Integrasi Warisan
·         Proses

4.) KARAKTERISTIK TERKAIT DENGAN EVOLUSI
            Aplikasi Web merupakan subjek pada perubahan dan evolusi yang permane. Pengembangan digerakkan oleh perubahan teknologi yang sangat cepat dan perubahan dari pengguna Web yang membawanya ke arah situasi kompetitif yang sangat tinggi sehingga kehadiran Web dan waktu yang bergerak cepat pada pasar merupakan sebuah pertimbanagn yang sangat penting.

L.) PENDEKATAN STANDAR UNTUK TEKNIS KINERJA
            Untuk aplikasi bisnis yang kompleks, aktivitas teknik kinerja untuk perencanaan yang saksama harus dilakukan. Pada masing-masing tahapan di dalam siklus hidup pengembangan aplikasi meliputi :
·         Model
·         Tes
·         Validasi asumsi dan skenario
·         Penyesuaian kembali
·         Melakukan analisis kerja

m.) METODE PROTOTIPE YANG DIMODIFIKASI
            Metode prototipe secara formal telah diperkenalkan pada komunitas sistem informasi pada awal tahun1980-an.pengembangan menunjukkan model pekerjaan kepada pengguna dan kemudian melanjutkannya dengan pengembangan prototipe berdasarkan pada umpan balik yang diterima selama pengembangan dan pengguna setuju bahwa prototypenya “cukup baik” .

n.) ANALISIS DAN PERANCANGAN SISTEM
            Dasar analisis dan perancangan sistem melibatkan kebutuhan pengguna. Model data dasar, antarmuka pengguna dan kebutuhan arsitektur. Pemahaman keburuhan pengguna harus benar-benar memahami kebutuhan pada dua hal, yaitu konten Web dan perilaku sistem. Konten Web mengacu pada informasi dan pengorganisasiannya pada situs Web.
1)      KEPUTUSAN ARSITEKTUR
·         Thin Client : adalah browser Web standar. Kebanyakan model ini digunakan untuk aplikasi berbasis internet dan beberapa aplikasi berbasis Ekstranet karena kontrol konfigurasi client berkurang.
·         Fat Client
·         Distribusited dan Component-Based
2)      MEMBANGUN DAN PENYEBARAN VERSI AWAL
Barangkali versi awal hanya akan menyediakan kumpulan formulir dan laporan halaman yang mengijinkan pengguna untuk query, membarui, dan melaporkan informasi alamat pelanggan. Pengembangan mungkin hanya perlu membangun sedikit halaman HTML dan sedikit laporan untuk dapat mengijinkan pengguna menjadi sadar pada aplikasi dan dapat digunakan untuk fungsi-fungsi dasar yang disediakan.

o.) DILUAR METODOLOGI
            E-business menyajikan sebuah pendekatan yang sangat berbeda dalam kaitannya dengan bagaimana bisnis harus dilakukan. Organisasi mengadopsi sebuah strategi e-businees yang dianjurkan untuk mengambil suatu pendekatan holistik pada pengembangan sistemnya. Pembangunan beberapa aplikasi Web tidak akan perlu untuk membuat suatu organisasi yang lebih kompetitif kecuali jika organisasi telah merumuskan suatu strategi e-businees yang jelas dan mempunyai proses bisnis yang dapat direkayasa kembali.

p.) KEUNTUNGAN DAN KERUGIAN
·         KEUNTUNGAN
Ø  Pengontrolan melalui aplikasi
Ø  Kemampuan lintas platform
Ø  Pengontrolan versi
Ø  Masukan pengguna
·         KERUGIAN
Ø  Kehilangan kecepatan
Ø  Batas penyajian data
Ø  Ancaman pada keamanan

q.) SEPULUH LANGKAH KUNCI KESUKSESAN PENGEMBANGAN
            Berikut adalah sepuluh langkah kunci untuk kesuksesan penyebaran dan pengembangan Web yaitu :
·         Pemahaman fungsi keseluruhan sistem dan lingkungan operasional yang mencakup kebutuhan dan sasaran bisnis.
·         Pengidentifikasian yang jelas tentang stakeholder, yaitu pengguna utama sistem, organisasi yang membutuhkan sistem, dan yang membiayai pengembangan sistem.
·         Penetapan kebutuhan teknis dan nonteknis dari stakeholder dan keseluruhan sistem
·         Pengembangan arsitektur koputer sistem berbasis Web yang memenuhi kebutuhan teknis dan nonteknis.

selengkapnya......

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.

selengkapnya......