Testing aplikasi2

24

Transcript of Testing aplikasi2

Page 1: Testing aplikasi2
Page 2: Testing aplikasi2

Web Application Testing

Testing untuk aplikasi web memiliki tingkat kompleksitas lebih tinggi dibanding aplikasi lainnya, interaksi komponen (teknologi) yang dipergunakan tidak terbatas (OS, Browser, Network, Plugin, dll)

Idealnya semua komponen dan fungsi yg ada pada sisi client dan server harus dites (tapi sagat jarang bisa dilakukan), mengingat keterbatasan waktu, resorces dan budget.

Page 3: Testing aplikasi2

Tahapan pengujian

Tentukan apa yang akan diukur Bagaimana pengujian akan dilaksanakan Membangun suatu kasus uji (test case) Tentukan hasil yang diharapkan Jalankan kasus pengujian Bandingkan hasil yang diharapkan dengan

hasil pengujian

Page 4: Testing aplikasi2

Menjalankan test Functionality Configuration Compatibility Volume testing Stress testing Performance testing Recovery testing Security Testing Network security testing Document Testing

Page 5: Testing aplikasi2

Functionality Aplikasi harus terlihat dan berfungsi sebagaimana

mestinya terhadap end-user atau pengguna akhir. Testing dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh pengguna sesungguhnya.

Data yang dimasukkan tersimpan dengan benar pada database.

Pengujian dilakukan sekelompok pengguna dengan kemampuan yang berbeda.

Keindahan seharusnya tidak lebih penting dari pada fungsinya

Page 6: Testing aplikasi2

Configuration Jika aplikasi Anda di-develop untuk lingkungan yang

besar, testing harus dilakukan pada komputer khusus. Komputer yang digunakan sebagai komputer testing harus terlebih dahulu dikonfigurasi hanya dengan:a. Operating system yang dibutuhkan.b. Software pendukung/add on untuk aplikasi

b. Driver yang diperlukan oleh aplikasi, jika ada.c. Aplikasi yang dites.

Page 7: Testing aplikasi2

Compatibility

Hardware OS Diimplementasikan pada konfigurasi

yang berbeda diuji compatibilitasnya. Misalnya jika membuat di IE, coba di Firefox, Opera, Safari

HTML validation

Page 8: Testing aplikasi2

Volume Testing

Menemukan kelemahan di sistem terkait dengan bagaimana “handling” dari sistem jika diberikan data yang besar dalam kurun waktu yang singkat.

Sanggup menangani growth data sesuai dengan analisa awal.

Page 9: Testing aplikasi2

Stress Testing

Untuk memastikan bahwa sistem memiliki kapasitas untuk menghandle pemrosesan transaksi dalam jumlah besar selama “peak period”

Page 10: Testing aplikasi2

Performance Testing

Dapat dilakukan secara paralel dengan volume dan stress testing karena yang ingin diketahui adalah bagaimana kinerja sistem pada semua kondisi load, baik itu jam-jam sibuk atau sebaliknya

Page 11: Testing aplikasi2

Recovery testing

Data recoveryKemampuan data recovery dan system restart

RAID, MIRROR

Server recoveryTest harus mencakup testing recovery dari jenis error:

- GPPE errors : ketika terjadi operasi prosesor yang invalid

- IOPE errors : ketika server mengeksekusi path yang invalid

- NMI errors : ketika terjadi kegagalan RAM atau fluktuasi power

Page 12: Testing aplikasi2

Security Testing Untuk aplikasi web base mengharuskan tingkat

keamanan yang tinggi, testing aplikasi harus mempertimbangkan pengujian keamanan aplikasi tersebut.

Menguji semua fungsi yg berhubungan dengan firewall, enkripsi, autentikasi, transaksi, akses database.

Sebagai contoh adalah sebuah aplikasi e-commerce yang mengizinkan transaksi melalui kartu kredit. Cukup banyak terjadi kasus pencurian PIN/Password credit card dengan memanfaatkan kelemahan aplikasi e-commerce.

Page 13: Testing aplikasi2

Network Security Testing

Menguji parameter dan konfigurasi jaringan (firewall, web server, dll)

Menguji transmisi media jaringan Menguji koneksi WAN/MAN/LAN Menguji kinerja network provider

Testing pada aplikasi internet atau jaringan, memerlukan pengetahuan tersendiri untuk memeriksa apakah terdapat kelemahan aplikasi, beberapa teknik yang digunakan oleh para hacker, seperti SQL Injection dan lain-lain harus diuji coba terhadap aplikasi kita.

Page 14: Testing aplikasi2

Dokument Testing

1. Item apa saja yang di test.2. Bagaimana item-item tersebut dites.3. Hasil yang diharapkan.4. Kriteria keberhasilan.

Page 15: Testing aplikasi2

Tools yang bisa gunakan

Load testing Curl-Loader, StressTester, LoadManager, webStress, WAPT, FORECAST, Apache AB dll.

Security testingHailstorm, OWASP Security testing tools, GamaSec, SQL Inject Me 0.4.0

Link testing & HTML validation WebLight, HTML PowerTools, W3C CSS Validation Service, W3C HTML Validation Service

Page 16: Testing aplikasi2

OWASP

Owasp adalah salah satu organisasi nonprofit yang berfokus pada peningkatan keamanan aplikasi perangkat lunak.

Misi OWASP adalah untuk membuat keamanan aplikasi visible, sehingga orang-orang dan organisasi dapat membuat keputusan tentang risiko keamanan aplikasi. Setiap orang bebas untuk berpartisipasi dalam OWASP dan semua bahan-bahan yang tersedia bebas digunakan dibawah lisensi GPL

Komunitas ini bekerjasama untuk membuat artikel, metodologi, dokumentasi, peralatan, dan teknologi mengenai testing aplikasi

Page 17: Testing aplikasi2

Apache Bench

AB adalah alat untuk proses benchmark Apache http server. Di desain untuk memberikan gambaran performa instalasi apache.

AB akan menampilkan seberapa banyak request per detik yang bisa dilayani oleh instalasi apache.

Page 18: Testing aplikasi2

Siege adalah aplikasi yang dibuat untuk keperluan stress test dan benchmark webserver. Siege bisa digunakan untuk mengetahui seberapa baik performa aplikasi web kita, dan seberapa banyak client atau koneksi yang bisa ditangani oleh aplikasi kita.

Siege

Page 19: Testing aplikasi2

Yang harus diperhatikan ! Benchmark ditujukan ke web server yang kita kelola. Bukan ke

web server pihak lain, karena kalau ditujukan ke web orang lain, itu bisa dikategorikan sebagai serangan DOS/ mengganggu layanan orang lain.

Benchmark harus dijalankan di komputer terpisah dari web server. Aplikasi benchmark bisa mengambil resource komputer secara agresif, jadi agar data benchmarking lebih valid, aplikasi benchmark harus dijalankan di komputer yang terpisah dari web server yang akan di benchmark.

Pastikan semua komponen dari web Anda, baik yang dinamik atau statik di benchmark.

Sebelum proses stress test dijalankan, siapkan aplikasi untuk memonitor seluruh proses benchmarking ini. Terutama yang berkaitan utilisasi hardware server yang di benchmark.

Page 20: Testing aplikasi2

Apa yang harus dilakukan ? Jika hasilnya mengecewakan, artinya kapasitas sistem yang

kita kelola dibawah nilai yang kita harapkan maka langkah selanjutnya adalah melakukan sistem profiling. Mencari tahu bagian mana dari proses aplikasi web kita yang menyebabkan performa aplikasi menjadi jelek. Lalu perbaiki dan optimasi semuanya sampai mendapatkan nilai yang kita harapkan.

Selain optimasi konfigurasi, mungkin juga kita perlu mengupgrade hardware atau bahkan menambah server untuk membagi beban kedalam beberapa server.

Dan setelah semua perbaikan itu dilakukan, lakukan kembali stress test untuk mengetahui kapasitas sistem yang baru kita optimasi atau baru kita upgrade.

Page 21: Testing aplikasi2

Sertfikasi

Walaupun sertifikasi testing aplikasi masih menjadi perdebatan, sudah terdapat beberapa sertifikasi:

CSQE => America Society for Quality. CSTE/CSQA => Quality Assurance Institute, ISTQB => International Software Testing

Qualification Board.

Page 22: Testing aplikasi2

Kepuasan user adalah penghargaan !

Sertifikasi mungkin merupakan suatu bentuk penghargaan, tetapi dalam membuat suatu aplikasi, penghargaan yang paling tinggi datang dari end-user yang menggunakan aplikasi kita. Kepuasan mereka adalah “sertifikasi” tidak tertulis yang menjadi barometer keberhasilan aplikasi kita. Dengan melakukan testing aplikasi sejak awal, kita telah melangkah untuk menciptakan keberhasilan aplikasi.

Page 23: Testing aplikasi2

Kesimpulan Testing aplikasi diperlukan untuk memastikan aplikasi

web yang kita luncurkan bisa menangani pengakses aplikasi tersebut sejumlah yang kita targetkan.

Idealnya semua komponen dan fungsi yg ada pada sisi client dan server harus dites, sesuaikan dengan batasan waktu, resource dan budget

faktor faktor seperti project requirement, risk analysis, budget dan schedule menentukan kategori testing yang mana yang sesuai dengan project web yang dilaksanakan.

Page 24: Testing aplikasi2

Reference

http://www.owasp.org http://httpd.apache.org/docs/2.0/programs/ab.html http://blog.unipro.co.id/archives/892 http://ngadimin.com http://barus.blogdetik.com http://syah69.blogspot.com/2008/10/seluk-beluk-testing-

aplikasi.html Pressman, Roger.S. "Software Engineering : A Practioner's

Approach." 5th . McGrawHill. 2001.