Halaman

Selasa, 07 Desember 2010

Testing Web Application

  1. Pendahuluan

Aplikasi web telah berkembang menjadi sebuah platform komunikasi yang penting bagi banyak perusahaan. aplikasi Web sangat penting untuk perdagangan, pertukaran informasi, dan sejumlah kegiatan sosial. Untuk alasan ini aplikasi Web harus menawarkan kinerja tinggi, handal, dan mudah digunakan layanan sepanjang waktu. Penawaran aplikasi Web yang sangat baik untuk pengguna yang ada dan yang akan datang merupakan tantangan besar untuk jaminan kualitas. Pengujian adalah salah satu yang paling penting jaminan kualitas tindakan. metode uji tradisional dan teknik sebagian besar berkonsentrasi pada persyaratan pengujian fungsional.

  1. Fundamental

2.1 Terminologi

Pengujian adalah kegiatan dilakukan untuk mengevaluasi kualitas suatu produk dan untuk meningkatkan itu dengan mengidentifikasi cacat dan masalah.

2.2 Quality Characteristics

Sebuah taksonomi umum untuk karakteristik kualitas produk perangkat lunak ditentukan dalam ISO / IEC 9126-1 standar. Standar ini menyebutkan enam kategori utama karakteristik - fungsionalitas, keandalan, kegunaan, efisiensi, pemeliharaan, dan portabilitas - dan istirahat mereka turun lebih lanjut ke dalam sub-karakteristik.

2.3 Test Objectives

Sebuah pengujian tersebut berhasil jika kesalahan yang terdeteksi, masing-masing informasi tambahan tentang masalah dan status aplikasi tersebut diperoleh. Gagal tes, yakni, tes yang tidak menemukan kesalahan, adalah "membuang-buang waktu" (al Kaner et 1999.). Hal ini terutama berlaku di Web pengembangan aplikasi, di mana pengujian harus terbatas pada minimum karena dibatasi sumber daya dan tekanan waktu yang ekstrim di mana aplikasi Web dikembangkan.

2.4 Test Levels

Menurut tahap pembangunan yang berbeda di mana kita dapat menghasilkan hasil yang diuji, kami mengidentifikasi tingkat uji untuk memfasilitasi pengujian hasil ini.Baca secara fonetik

· Tes Unit: uji unit diuji terkecil (kelas, halaman Web, dll), bebas satu lain. Unit testing dilakukan oleh pengembang selama implementasi.

· Tes Integrasi: mengevaluasi interaksi antara unit yang berbeda dan terpisah diuji sekali
mereka telah terintegrasi. Integrasi tes dilakukan oleh tester, pengembang, atau keduanya
bersama-sama.

· Sistem tes: menguji sistem, lengkap terintegrasi. Sistem tes biasanya dilakukan oleh
tim khusus uji.

· Tes Penerimaan: mengevaluasi sistem kerja sama dengan atau di bawah naungan klien dalam suatu lingkungan yang datang paling dekat dengan lingkungan produksi. Tes Penerimaan gunakan nyata kondisi dan data nyata.

· Tes Beta : biarkan kerja yang ramah pengguna dengan versi awal produk dengan tujuan untuk memberikan awal umpan balik. Beta tes tes informal (tanpa rencana uji dan uji kasus) yang mengandalkan pada jumlah dan kreativitas pengguna potensial.

2.5 Role of the Tester

tester terbaik adalah bukan orang yang menemukan bug yang paling atau yang malu yang kebanyakan programmer. Tester terbaik adalah orang yang mendapatkan kebanyakan bug tetap. Sejak tim proyek web biasanya multidisiplin, dan kerjasama tim biasanya durasi pendek, bisa sulit bagi anggota tim untuk membangun kepercayaan yang dibutuhkan untuk menutup kolaborasi antara pengembang dan penguji.

  1. Test Specifics in Web Engineering

Poin-poin berikut ini menguraikan spesifik yang paling penting dan tantangan di Web pengujian aplikasi berbasis pada karakteristik aplikasi

v Kesalahan dalam "isi" sering bisa ditemukan hanya dengan manual mahal atau tindakan organisasi

v Ketika pengujian struktur hypertext, kita harus memastikan bahwa halaman terkait dengan benar,

v Lembut, persyaratan subjektif pada tingkat penyajian aplikasi Web

v Jumlah besar perangkat potensial dan karakteristik yang berbeda kinerja mereka (Multi-platform) merupakan tantangan lain.

v Karena ketersediaan global dan penggunaan aplikasi Web, ada banyak tantangan sehubungan dengan multilinguality dan kegunaan dalam pengujian aplikasi Web.

v "usia muda" umum dan "multidisciplinarity" tim sering dikaitkan dengan miskin penerimaan metodologi dan kesiapan masyarakat miskin untuk melakukan pengujian.

v aplikasi Web terdiri dari sejumlah komponen perangkat lunak yang berbeda

v "ketidakmatangan" ujian banyak metode dan alat-alat merupakan tantangan tambahan untuk tester.

v "dominasi perubahan" membuat aplikasi Web pengujian lebih kompleks daripada konvensional pengujian software.

  1. Test Approaches

pendekatan Agile (seperti Extreme Programming, lihat Bab 10 dan (Highsmith 2002) untuk gambaran umum) telah semakin telah digunakan dalam proyek Web. Sementara pendekatan tangkas fokus pada kolaborasi, pendekatan konvensional berfokus pada perencanaan dan manajemen proyek.

4.1 Conventional Approaches

Dari perspektif pendekatan konvensional, pengujian kegiatan proyek meliputi perencanaan, mempersiapkan, melakukan, dan pelaporan:

· Perencanaan: Langkah perencanaan mendefinisikan tujuan kualitas, strategi pengujian umum, hasil uji rencana untuk semua tingkat pengujian, metrik dan metode pengukuran, dan lingkungan pengujian.

· Menyiapkan: Langkah ini melibatkan memilih teknik pengujian dan alat dan menetapkan Uji kasus (termasuk data pengujian).

· Melakukan: Langkah ini menyiapkan infrastruktur tes, menjalankan uji kasus, dan kemudian dokumen dan mengevaluasi hasilnya.

· Pelaporan: Langkah terakhir ini merangkum hasil tes dan menghasilkan laporan uji.

4.2 Agile Approaches

Agile pendekatan mengasumsikan bahwa tim akan mencari solusi untuk masalah-masalah bersama dan mandiri (Ketergantungan pada diri-organisasi).

  1. Test Scheme

. Skema ini menggabungkan Dasar-dasar pengujian - uji kasus, karakteristik kualitas, dan tingkat uji - dijelaskan di atas menjadi seragam dan dikelola pengaturan.

5.1 Three Test Dimensions

Setiap tes memiliki tujuan yang ditetapkan, misalnya, untuk memeriksa kebenaran suatu algoritma, untuk mengungkapkan keamanan pelanggaran dalam suatu transaksi, atau untuk menemukan ketidaksesuaian gaya dalam sebuah representasi grafis.

5.2 Applying the scheme to web application

Bagian ini menjelaskan bagaimana dimensi skema generik diperkenalkan pada sebelumnya bagian dapat terstruktur untuk mengakomodasi karakteristik khusus aplikasi Web dan Simak

Baca secara fonetik

Kamus - Lihat kamus yang lebih detail

Proyek web

5.3 Examples of Using The Test Scheme

skema digunakan sebagai gambaran umum dan kerangka kerja konseptual untuk secara sistematis mengatur metode dan teknik yang berlaku untuk pengujian aplikasi Web. Matriks dapat digunakan untuk menetapkan metode proyek tertentu atau perusahaan-lebar dan kotak alat untuk pengujian aplikasi Web.

  1. Test Methods and Techniques

Ketika pengujian aplikasi Web, kita pada dasarnya dapat menerapkan semua metode dan teknik umum digunakan dalam pengujian perangkat lunak tradisional :

6.1 Link Pengujian

Link dalam struktur navigasi hypertext yang mengarah ke sebuah node yang tidak ada (halaman, gambar, dll) atau jangkar disebut broken link dan mewakili terkenal dan sering terjadi kesalahan dalam aplikasi Web.

6.2 Pengujian Browser

Selama pengujian ini, seseorang harus mengajukan pertanyaan-pertanyaan berikut:

· Apakah negara aplikasi Web dikelola dengan benar, atau bisa terjadi jika negara tidak konsisten menavigasi langsung ke sebuah halaman, misalnya, dengan menggunakan browser tombol "Back"?

· Dapatkah sebuah halaman (yang dihasilkan secara dinamis) Web akan bookmarked selama transaksi, dan dapat pengguna menavigasi ke halaman kemudian tanpa harus memasukkan nama pengguna dan password untuk login di?

· Dapatkah pengguna 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?

6.3 PengujianUsability

Usability testing mengevaluasi kemudahan-isu-penggunaan desain Web yang berbeda, tata letak keseluruhan, dan navigations (lihat Bab 11) dari aplikasi Web oleh satu set pengguna yang representatif. Fokus adalah pada tampilan dan kegunaan.

6.4 Load, Stress, and Continuous Testing

Beban tes, stress test, dan pengujian terus menerus memiliki tujuan uji beda:

· Sebuah load test atau tidak memeriksa apakah sistem memenuhi waktu respon yang diperlukan dan diperlukan throughput.

· Sebuah tes stres atau tidak memeriksa apakah sistem bereaksi dengan cara yang dikontrol dalam "stres situasi ".

· pengujian terus menerus berarti bahwa sistem tersebut dilakukan selama periode waktu yang panjang untuk menemukan "membahayakan" kesalahan.

6.5 Testing SecuritySimak

isu-isu dalam kaitannya dengan "keamanan" karakteristik kualitas:

· Kerahasiaan: Siapa yang dapat mengakses data yang? Siapa yang dapat mengubah dan menghapus data?

· Otorisasi: Bagaimana dan di mana hak akses dikelola? Apakah data dienkripsi sama sekali? Bagaimana adalah data dienkripsi?

· Otentikasi: Bagaimana otentikasi pengguna atau server sendiri?

· Akuntabilitas: Bagaimana mengakses login?

· Integritas: Bagaimana informasi yang dilindungi dari yang berubah selama transmisi?

6.6 Test-driven DevelopmentSimak

Baca secara fonetik

Banyak tes unit kecil dapat bekerja sebagai kecil "detektor perubahan" selama proyek. pembangunan Test-driven memiliki efek psikologis yang menguntungkan; pengembang dapat berkonsentrasi langkah-langkah kecil dan menjaga tujuan yang lebih besar ("kode bersih yang bekerja") dalam pikiran.

  1. Test Automation

Berlaku khususnya untuk pengembangan berulang dan evolusioner aplikasi web dimana penggunaan alat terorganisasi dapat mendukung tes yang diulang
sering dalam siklus pengembangan jangka waktu pendek dan sempit.

a. Benefits and Drawbacks of Automated Tests

Uji otomatisasi membawa manfaat berikut untuk pengujian aplikasi Web :

· Menjalankan uji regresi otomatis pada versi baru dari sebuah aplikasi Web memungkinkan untuk mendeteksi cacat yang disebabkan oleh efek samping untuk fungsi tidak berubah. Tes ini membantu regresi melindungi fungsi yang ada sering berubah aplikasi Web.

· Berbagai metode pengujian dan teknik akan sulit atau tidak mungkin untuk melakukan secara manual.

· Otomatisasi memungkinkan untuk menjalankan tes lagi dalam waktu kurang dan, dengan demikian, untuk menjalankan tes lebih sering terkemuka untuk keyakinan yang lebih besar dalam sistem yang diuji.

· Selain itu, kemampuan untuk dengan cepat menjalankan kembali serangkaian tes otomatis dapat membantu untuk mempersingkat pelaksanaan ujian waktu dan untuk mengurangi waktu-ke-pasar saat bottleneck adalah mengulangi tes yang ada.

Baca secara fonetik

b. Test Tools

Alat uji Umum digunakan mendukung tugas-tugas berikut:

Test perencanaan dan manajemen.

Statis dan analisis dinamis

Mengotomasi percobaan pengguna.

Sistem pemantauan

General tugas

c. Selecting Test Tools

1 komentar: