Sunday, June 10, 2012

Monkey, Penguji Interface Aplikasi Android

Gambaran Monkey

Monkey adalah suatu program yang berjalan dalam emulator atau devais (perangkat) Android dan menghasilkan urutan-urutan events (kejadian-kejadian) dari user yang pseudo-random (hampir acak) seperti pengeklikan, penyentuhan, atau gerakan pada interface (antar muka) aplikasi Android yang dibuat. Monkey dapat digunakan untuk stress-test (menguji-tekanan) aplikasi-aplikasi yang dikembangkan oleh seorang Android Developer dengan cara yang acak dan berulang-ulang.

Monkey terdiri dari beberapa pilihan, tapi pilahan-pilahan tersebut dapat dikategorikan ke dalam 4 kategori utama, yaitu:

  • Basic configuration options, seperti pengaturan jumlah event yang akan dilakukan.
  • Operational constraints, seperti membatasi pengujian ke satu package saja.
  • Event types and frequencies, jenis event dan berapa kali dilakukannya.
  • Debugging options, pilihan untuk melakukan debugging.

Ketika Monkey dijalankan, ia menghasilkan events dan mengirimnya ke dalam sistem. Monkey juga memonitor sistemnya ketika dalam pengujian dan mencari 3 kondisi yang diperlakukannya dengan khusus:

  • Jika developer telah memaksakan Monkey untuk berjalan dalam satu atau package-package tertentu, Monkey akan memonitor percobaan yang mencoba bernavigasi ke package lain dan menghalanginya.
  • Jika aplikasinya crash atau menerima unhandled exception macam apa saja, Monkey akan berhenti dan melaporkan errornya (kesalahannya).
  • Jika aplikasinya menghasilkan error "Application Not Responding", Monkey akan berhenti dan melaporkan errornya.

Tergantung dari tingkat verbosity yang digunakan, developer juga kaan melihat laporan-laporan progress dari Monkey dan event-event yang telah dihasilkan.

Penggunaan Dasar Monkey

Developer dapat menjalankan Monkey dengan menggunakan command line dalam development machinenya (mesin pengembangannya) atau melalui sebuah script. Karena Moneky berjalan dalam lingkungan emulator/devais, maka Monkey harus dijalankan dalam lingkungan tersebut. Ini dapat dilakukan dengan menggunakan prakata adb shell dalam setiap perintah, atau dengan masuk ke dalam shell dan memasukkan perintah-perintah Monkey secara langsung.

Syntax dasarnya adalah:

$ adb shell monkey [pilihan]

Tanpa pilihan yang dispesifikasikan, Monkey akan berjalan dalam modus sunyi (non-verbose mode) dan akan mengirimkan event-event ke package apa saja dan semua package yang terinstall pada target. Di bawah ini adalah command line yang lebih khusus, yang akan menjalankan aplikasi dan mengirim 500 event-event pseudo-random ke aplikasinya:

$ adb shell monkey -p nama.package.aplikasi -v 500

Beberapa referensi pilihan command-line adalah sebagai berikut:

  • --help : Mencetak petunjuk penggunaan sederhana
  • -v : Setiap -v dalam command line akan menambah tingkat verbositynya. Level 0 menyediakan sedikit informasu setalah notifikasi startup, penyelesaian pengujian, dan hasil-hasil akhir. Level 1 menyediakan sedikit lebih banyak detail tentang pengujiannya ketika sedang berjalan, seperti event-event yang dikirim ke activity-activitynya. Level 2 menyediakan informasi pengaturan yang lebih mendetail.
  • -s : menempatkan nilai untuk jumlah pseudo-random yang akan dihasilkan.
  • -p : Jika ini digunakan, Monkey hanya akan mengijinkan sistem untuk menjalankan activity-activity yang ada di dalam package tersebut. Ini dapat digunakan lebih dari satu kali jika ada lebih dari satu package yang diijinkan.

Masih banyak lagi perintah yang bisa digunakan pada Monkey yang bisa diliat dari developer.android.com

Sumber