Sabtu, 02 Juni 2012

Software Untuk Menguji Aplikasi (SandBoxie)

Pengujian adalah kegiatan dilakukan untuk mengevaluasi kualitas suatu produk dan untuk meningkatkan dengan mengidentifikasi cacat dan masalah. Jika kita menjalankan program dengan maksud untuk menemukan kesalahan (Myers,1979). Metode dan pengujian sistematis dari aplikasi Web adalah tindakan penting yang diberikan penekanan khusus dalam jaminan kualitas. Pengujian aplikasi Web melampaui pengujian sistem perangkat lunak tradisional. Meskipun persyaratan yang sama berlaku untuk kebenaran teknis dari aplikasi, penggunaan Web aplikasi dengan kelompok pengguna heterogen pada sejumlah besar platform mengarah ke pengujian khusus persyaratan. Hal ini sulit untuk memperkirakan jumlah pengguna untuk aplikasi Web. Faktor penting lainnya untuk keberhasilan aplikasi Web misalnya, kegunaan, ketersediaan, browser kompatibilitas, keamanan, aktualitas, dan efisiensi, juga harus diperhitungkan dalam tes awal.


Strategi Pengujian
Menurut tahap pembangunan yang berbeda di mana dapat menghasilkan hasil yang diuji, mengidentifikasi tingkat uji untuk memfasilitasi pengujian hasil ini antara lain:
·   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 Sistem: menguji kesempurnaan, perpaduan sistem.
·     Tes Penerimaan: mengevaluasi sistem kerja sama dengan atau di bawah naungan klien dalam suatu lingkungan yang berasal paling dekat dengan lingkungan produksi.
·      Tes Beta : biarkan pengguna yang bersahabat bekerja dengan produk versi awal dengan tujuan untuk memberikan umpan balik awal.

Poin-poin berikut menguraikan spesifik yang paling penting dan tantangan dalam pengujian aplikasi web berdasarkan karakteristik aplikasi :
·      Kesalahan “isi” sering ditemukan hanya dengan manual mahal atau tindakan organisasi, misalnya, oleh proofreading.
·    Ketika pengujian struktur hypertext, kita harus memastikan bahwa halaman terhubung dengan benar. Selain itu, semua link harus menunjuk ke halaman yang sudah ada.
·   Besarnya perangkat dan karakteristik yang berbeda (multi-platform) merupakan tantangan lain.
·      Tantangan utama adalah untuk saling mengenal ketergantungan budaya. Misalnya, membaca pesanan dalam budaya yang berbeda (misalnya, Arab, Cina) menyiratkan perlunya navigasi tertentu di 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.

Teknik dan Metode Pengujian
a.       Pengujian Link
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).

b.      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?
·         Bagaimana aplikasi Web bereaksi ketika browser memiliki cookies atau bahasa script dinonaktifkan?

c.       Pengujian kegunaan
Mengevaluasi kemudahan desain Web yang berbeda, tata letak keseluruhan, dan navigasi dari aplikasi Web oleh satu set pengguna yang representatif.

d.      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.
·         Pengujian terus menerus berarti bahwa sistem tersebut dilakukan selama periode waktu yang panjang untuk menemukan “membahayakan” kesalahan.

e.       Pengujian Keamanan
·         Kerahasiaan: Siapa yang dapat mengakses data, 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).

Tujuan dari pengujian perangkat lunak dibagi menjadi 2 yaitu:
1.      Langsung
·         Mengidentifikasi error sebanyak-banyaknya pada sebuah perangkat lunak.
·         Melakukan tindakan koreksi pada error-error yang telah teridentifikasi di dalam perangkat lunak dan melakukan pengujian ulang, sehingga kualitas perangkat lunak dapat dikategorikan sebagai acceptable.
·         Melakukan pengujian secara efektif dan efisien sesuai budget dan waktu yang disediakan.
2.      Tidak Langsung
Sebagai sebuah dokumentasi yang dapat dijadikan acuan untuk digunakan dalam melakukan pencegahan terjadinya error serupa (error prevention).

SandBoxie
Software SandBoxie adalah software yang saya gunakan untuk menguji aplikasi. Untuk sistem operasi Windows saja aplikasi freeware Sandboxie menyediakan "bak pasir" aman bagi Anda untuk menguji software baru tanpa membuat perubahan permanen pada sistem Anda.
Sandboxie sangat mirip Altiris SVS (software yang menguji suatu aplikasi lainnya). Salah satu fitur yang sangat besar Sandboxie adalah sandboxing cepat dari browser Anda, yang -- selain memberikan Anda sebuah sesi browsing benar-benar aman -- memungkinkan Anda menjalankan contoh kedua dari Firefox. Itu berarti Anda dapat menjalankan dua profil pada saat yang sama (sesuatu yang dilakukan banyak pengguna secara semi-rutin). Baik Sandboxie dan Altiris SVS adalah pilihan bagus untuk menguji aplikasi sebelum Anda benar-benar menginstal dan untuk browsing internet dengan hampir keselamatan lengkap, jadi jika Anda belum mencoba virtualisasi sebagai tempat tidur pengujian, direkomendasikan untuk mencoba software ini. Sandboxie berjalan program-program anda di ruang terisolasi yang mencegah mereka dari membuat perubahan permanen ke program lain dan data di komputer Anda.


Panah merah menunjukkan perubahan yang mengalir dari sebuah program berjalan ke dalam komputer Anda. Kotak berlabel Hard disk (tidak sandbox) menunjukkan perubahan dengan sebuah program berjalan normal. Kotak berlabel Hard disk (dengan sandbox) menunjukkan perubahan dengan sebuah program berjalan di bawah Sandboxie. Animasi ini menggambarkan bahwa Sandboxie mampu mencegat perubahan dan mengisolasi mereka di dalam bak pasir, digambarkan sebagai sebuah persegi panjang kuning. Ini juga menggambarkan bahwa pengelompokan perubahan bersamaan memudahkan untuk menghapus semua dari mereka sekaligus.

Keuntungan menggunakan Sandboxie :
·         Secure Web Browsing: Menjalankan browser Web Anda di bawah perlindungan Sandboxie berarti bahwa semua perangkat lunak berbahaya didownload oleh browser yang terperangkap dalam kotak pasir dan dapat dibuang dengan mudah nantinya.
·         Enhanced Privacy: Browsing history, cookies, dan file-file sementara cache dikumpulkan saat browsing Web tinggal di kotak pasir dan tidak bocor ke Windows.

      Berikut tampilan sandboxie yang akan muncul pada PC anda:



Sumber: