Testing aplikasi2
Upcoming SlideShare
Loading in...5
×
 

Testing aplikasi2

on

  • 1,859 views

 

Statistics

Views

Total Views
1,859
Views on SlideShare
1,853
Embed Views
6

Actions

Likes
1
Downloads
55
Comments
0

2 Embeds 6

http://www.techgig.com 5
http://www.techgig.timesjobs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Testing aplikasi2 Testing aplikasi2 Presentation Transcript

  •  
  • 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 .
  • 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
  • Menjalankan test
    • Functionality
    • Configuration
    • Compatibility
    • Volume testing
    • Stress testing
    • Performance testing
    • Recovery testing
    • Security Testing
    • Network security testing
    • Document Testing
  • 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
  • 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.
  • Compatibility
    • Hardware
    • OS
    • Diimplementasikan pada konfigurasi yang berbeda diuji compatibilitasnya. Misalnya jika membuat di IE, coba di Firefox, Opera, Safari
    • HTML validation
  • 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.
  • Stress Testing Untuk memastikan bahwa sistem memiliki kapasitas untuk menghandle pemrosesan transaksi dalam jumlah besar selama “peak period”
  • 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
  • Recovery testing
    • Data recovery
    • Kemampuan data recovery dan system restart
    • RAID, MIRROR
    • Server recovery
    • Test 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
  • 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.
  • 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.
  • Dokument Testing 1. Item apa saja yang di test. 2. Bagaimana item-item tersebut dites. 3. Hasil yang diharapkan. 4. Kriteria keberhasilan.
  • Tools yang bisa gunakan
    • Load testing
    • Curl-Loader, StressTester, LoadManager, webStress, WAPT, FORECAST, Apache AB dll.
    • Security testing
    • Hailstorm, OWASP Security testing tools, GamaSec, SQL Inject Me 0.4.0
    • Link testing & H TML validation
    • WebLight, HTML PowerTools, W3C CSS Validation Service, W3C HTML Validation Service
  • 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
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • Kepuasan user adalah pen g hargaan ! 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.
  • 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.
  • 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.