Selasa, 07 Desember 2010

Testing Web Application

  1. Pendahuluan

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.

  1. Fundamental
  • Terminology

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


 

  • 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.

  • Test Objectives

Secara ringkas, kita dapat mengatakan bahwa pengujian pada umumnya, dan untuk proyek-proyek web pada khususnya, harus dapat mendeteksi sebagai kesalahan sebanyak mungkin, idealnya sebagai kesalahan serius sebanyak mungkin, dengan biaya serendah mungkin, dalam waktu yang singkat periode waktu mungkin, dan sedini mungkin.

  • Test Levels

Tingkat uji untuk memfasilitasi pengujian hasil :

  • Baca secara fonetik
  • tes Unit
  • tes Integrasi
  • Sistem tes
  • Tes Penerimaan
  • Tes Beta
    • Role of the Tester

untuk tester: "tester terbaik adalah bukan orang yang menemukan bug yang paling atau yang malu yang kebanyakan programmer. Tester terbaik adalah orang yang endapatkan 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. Specifics in Web Engineering

Poin-poin berikut ini menguraikan spesifik yang paling penting dan tantangan di Web :

  • Kesalahan dalam "isi" sering bisa ditemukan hanya dengan manual mahal atau tindakan organisasi, mis, oleh proofreading.
  • Ketika pengujian struktur hypertext, kita harus memastikan bahwa halaman terkait dengan benar.
  • Persyaratan subjektif pada tingkat penyajian aplikasi Web.
  • Jumlah besar perangkat potensial dan karakteristik yang berbeda kinerja mereka
    (Multi-platform).
  • Tantangan utama adalah untuk mengenali saling ketergantungan budaya dan menganggap mereka secara memadai dalam ujian.Simak

Baca secara fonetik


 

  • "usia muda" umum dan "multidisciplinarity" tim sering dikaitkan dengan miskin penerimaan metodologi dan kesiapan masyarakat miskin untuk melakukan pengujian.
  • Banyak kesalahan dalam hasil aplikasi Web dari "ketidakmatangan" dari tunggal komponen perangkat lunak, "ketidakcocokan" antara komponen-komponen perangkat lunak, atau salah konfigurasi komponen software yang benar.
  • "ketidakmatangan" ujian banyak metode dan alat-alat merupakan tantangan tambahan untuk tester.
  • "dominasi perubahan" membuat aplikasi Web pengujian lebih kompleks daripada konvensional pengujian software.

    •  

S


 

  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.

  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.
  1. Agile Approaches

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

Praktek-praktek berikut Extreme Programming (XP) memiliki pengaruh tertentu pada pengujian dan jaminan kualitas.

  • Pasangan pemrograman: mempercepat pertukaran pengetahuan antara pengembang, antara pengembang dan penguji, dan umumnya dalam tim.
  • Sebuah pelanggan on-site: tersedia untuk pertanyaan sehubungan dengan persyaratan setiap saat, dan mengambil keputusan dalam hal ini.
  • Integrasi Berkelanjutan: menjamin bahwa langkah-langkah kecil membantu meminimalkan risiko perubahan, dan berjalan melalui semua tes untuk terus memverifikasi bahwa seluruh sistem yang sempurna.
  • pengembangan Test pertama: berarti bahwa tes yang ditulis sebelum kode, memastikan bahwa "Pasangan pengembang" berpikir tentang "apa" sebelum mengimplementasikan "bagaimana".
  1. Test Scheme

Skema ini menggabungkan Dasar-dasar pengujian - uji kasus, karakteristik kualitas, dan tingkat uji - dijelaskan di atas menjadi seragam dan dikelola pengaturan. Skema ini merupakan model untuk pengujian aplikasi Web yang dirancang untuk lebih memahami bagaimana pengujian dapat diselenggarakan dan untuk mendukung, komprehensif sistematis, dan risiko-aware pendekatan untuk pengujian. Dalam bentuk yang diperkenalkan di sini, skema ini dapat digunakan untuk memvisualisasikan aspek yang terlibat dalam pengujian, struktur semua tes, dan berfungsi sebagai wahana komunikasi untuk tim.

  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. The tujuan tersebut dijelaskan oleh karakteristik mutu yang diperlukan di satu sisi - misalnya, kebenaran, keamanan, kompatibilitas - dan oleh benda uji di sisi lain - misalnya, algoritma, transaksi, representasi.


 

  1. Applying the scheme to web application

Simak

Baca secara fonetik

  • Test Objects ( Objek Uji )

Perlu untuk memperluas pengujian untuk infrastruktur dan lingkungan dari suatu aplikasi Web. Uji dimensi objek generik harus, karena itu, termasuk isi dan struktur dan infrastruktur dan lingkungan dari suatu aplikasi Web, di samping fungsi.

  • Phases

Dimensi ketiga dari skema - fase - berfokus pada urutan temporal Web aplikasi pengujian. Dimensi ini menunjukkan kapan uji yang harus dijalankan dalam Web siklus hidup aplikasi. Dimensi ketiga ini disusun sesuai dengan perkembangan umum proses atau siklus software.

  1. Examples of Using The Test Scheme

Top of Form


 

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. Pendekatan ini memfasilitasi perencanaan uji dan uji estimasi usaha dan memungkinkan untuk menelusuri kembali prioritas masing-masing pengujian dengan prioritas persyaratan

  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 :

  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.

  1. 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?
  1. 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.

  1. 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.
  1. 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?
  1. 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 di mana penggunaan alat terorganisasi dapat mendukung tes yang diulang
sering dalam siklus pengembangan jangka waktu pendek dan sempit.

  1. 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

  1. 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
  1. Selecting Test Tools

Kecenderungan saat ini di alat uji untuk aplikasi Web adalah erat digabungkan dengan evolusi terus-menerus teknologi Web dan proses pembangunan modern. Sejumlah besar alat yang berbeda tersedia saat ini. Deskripsi alat khusus biasanya validitas pendek, sehingga mereka dihilangkan dari bab ini.

Tidak ada komentar:

Posting Komentar