Anda di halaman 1dari 12

Tutorial Pengujian Aplikasi Android: Panduan Pemula

Koleksi pengetahuan dasar sebelum Menguji Aplikasi Android:


Seperti judulnya sendiri, dalam tutorial ini kita akan membahas lebih lanjut tentang proses
pengujian Android.

Tapi, sebelum masuk ke berbagai detail proses pengujian Android, saya ingin mengajukan
beberapa pertanyaan.

Apakah Anda memiliki ponsel?


Sekarang, betapa bodohnya pertanyaan itu! Tentu saja kita semua lakukan. Setiap orang memiliki
ponsel. Ponsel telah menjadi kebutuhan dasar keberadaan manusia saat ini.

Dapatkah Anda memberitahu saya OS yang ada di telepon Anda?


Jika Anda membeli ponsel di antara 2014-16, maka kemungkinan ponsel Anda berjalan di
Android sekitar 80-85%.

Pertumbuhan Android
Statistik di bawah ini menjelaskan lebih lanjut tentang pertumbuhan Android dengan cara
yang mudah dimengerti.
 Kembali pada tahun 2009, Android adalah pemula dan hanya merupakan 3,9%
dari total pasar.
 Kontributor utama kemudian adalah OS Symbian dengan jumlah kekalahan 47%
[Hari emas Nokia].
 Tren itu mulai berubah selama bertahun-tahun dan Android sekarang telah
mencapai 85,2% pada tahun 2016.
[sumber gambar]
 Nomor di atas hanya untuk Ponsel. OS Android juga memiliki dampak besar
dalam industri tablet. Dari 4,4% pangsa pasar pada tahun 2011 menjadi 35,7%
pada tahun 2015 berbicara tentang minat yang telah dikembangkan orang
terhadap perangkat tablet bertenaga Android.
[sumber gambar]
 Google Play Store juga mengalami peningkatan jumlah unduhan yang cepat. Dari
2010 hingga 2016 jumlahnya telah naik dari 1 miliar unduhan sebulan menjadi
65 miliar unduhan sebulan.
 Unduhan aplikasi juga sangat dipengaruhi oleh harga rendah [Avg: 0.06 $ /
aplikasi] dari aplikasi android jika dibandingkan dengan aplikasi iOS.
Mengapa aku hanya membawa Anda melalui semua angka-angka?
Itu hanya untuk membuat Anda menyadari seberapa luas Android telah tumbuh, betapa rumitnya
pengembangan aplikasi dan berapa banyak pasar yang telah ditangkap OS ini dalam dekade
terakhir.

Setiap situs web, aplikasi windows, dan Mac App memiliki saudara android sekarang. Semua
orang pergi untuk mengembangkan aplikasi untuk Android segera setelah mereka berencana
untuk mengembangkan aplikasi situs web / windows. Sekarang telah menjadi perlu, karena
pelanggan juga mulai lebih memilih aplikasi seluler daripada aplikasi komputer atau situs web
dalam beberapa tahun terakhir.

Beberapa aplikasi yang sangat sering digunakan dalam aktivitas sehari-hari kami adalah Flipkart,
Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp dll.

Alasan lonjakan pasar Android adalah bahwa:


 Ini adalah sistem terbuka, karenanya mudah disesuaikan, mudah dipelajari dan
bahkan pengembangan aplikasi lebih mudah.
 Memublikasikan aplikasi di Google Play Store cukup mudah jika dibandingkan
dengan play store lainnya.
 Ada beberapa produsen di pasar untuk ponsel Android seperti Sony, HTC,
Samsung, Motorola dll.
 Ada sejumlah besar fitur di Android seperti DualSIM,microSD, baterai yang dapat
dilepas dll, yang merupakan keuntungan tambahan untuk itu.
 Harga ponsel android tidak terlalu tinggi dan terjangkau dll.
Seiring dengan persyaratan pengembangan Aplikasi Android, ada juga kenaikan persyaratan
untuk penguji yang berpengetahuan luas dalam pengujian android.

Sebagai penguji, sebelum Anda mulai menguji aplikasi android yang dibangun, Anda perlu
melakukan banyak pekerjaan rumah. Hal pertama yang harus dilakukan adalah mempelajari OS
dan sejarahnya. Jika Anda tidak tahu OS, Anda tidak dapat menguji aplikasi terhadap berbagai
versi. Fungsionalitas dasar versi OS, UI, GPS, dukungan jenis jaringan, masa pakai baterai, dll.,
adalah beberapa aspek penting yang mempengaruhi aplikasi.

Dengan Android, itu bukan hanya OS tetapi sejumlah besar perangkat yang juga membutuhkan
studi.

Sejumlah besar perangkat tersedia di pasar, oleh karena itu sebelum menyelesaikan dan
membekukan tempat tidur uji Anda, Anda perlu mencari tahu pangsa perangkat audiens target.
Berbagai perangkat yang menawarkan berbagai fitur seperti DualSIM,kamera ganda, resolusi
layar, tema dll, mempengaruhi aplikasi dan mereka perlu diuji.

Oleh karena itu sangat penting bagi seorang QA untuk mengumpulkan pengetahuan
komprehensif tentang ekosistem Android yang lengkap.

Pengenalan Aplikasi Android


Ada berbagai metode pengujian yang diikuti dengan berhasil mensertifikasi aplikasi Android.

Arsitektur aplikasi Android yang khas akan terlihat mirip dengan diagram yang
ditunjukkan di bawah ini:
Berdasarkan angka di atas, ada 2 kemungkinan untuk aplikasi:
1) Aplikasi Seluler untuk aplikasi web: Mungkin pelanggan memiliki aplikasi web dan ingin
membuat aplikasi seluler untuk hal yang sama. Amazon, Jabong, Myntra dll, melakukan hal
yang sama, dan saat aplikasi seluler mulai menciptakan booming di pasar perusahaan komersial
ini menyadari bahwa segera orang akan pindah dari aplikasi web ke aplikasi seluler.
2) Aplikasi Seluler sebagai entitas bisnis terpisah: Saya menguji aplikasi logistik serupa, untuk
meningkatkan bisnis itu menciptakan aplikasi terpisah bagi pengemudinya untuk memfasilitasi
pengiriman yang lancar dan menghapus dokumen.
Driver telah menginstal aplikasi di ponsel mereka untuk memindahkan pengiriman ke berbagai
tahap pengiriman dan status yang sesuai, dan pembaruan pengiriman tercermin dalam aplikasi
web yang ada.

Contoh lain seperti di mana aplikasi seluler adalah entitas terpisah adalah WhatsApp, aplikasi
pelacakan kesehatan seperti S Health dll.
Daftar 'Harus Dilakukan' sebelum dimulainya Proses
Pengujian
Tidak seperti siklus pengujian normal, untuk rilis pertama aplikasi seluler, ada beberapa item
yang membutuhkan beberapa penelitian dan perencanaan ekstra untuk pengiriman aplikasi yang
sukses.

Berikut adalah beberapa kegiatan yang penting bagi QA untuk dilakukan sebelum
pengujian aktual dimulai:
#1) Penelitian tentang OS dan Perangkat:
Selain memahami persyaratan aplikasi, Anda juga perlu memahami dampak dari berbagai versi
OS dan model perangkat. Anda perlu membuat kasus uji atau skenario w.r.t OS dan model
perangkat.

#2) Tempat Tidur Uji:


Tidak seperti aplikasi desktop, web, dan iOS, pembuatan tempat tidur uji untuk aplikasi android
sangat rumit karena sistem Android terbuka. Keputusan harus diambil setelah diskusi dengan BA,
pengembang dan pemilik produk untuk menemukan audiens target.
#3) Rencana Uji:
Karena ini adalah rilis pertama, rencana yang disetujui dengan tempat tidur uji yang disetujui,
jenis pengujian, dll., harus diberlakukan. Jika ada waktu terpisah yang diperlukan untuk meneliti
fungsionalitas atau aturan bisnis atau jika pengujian akan rumit dll.

#4) Alat Otomasi:


Alat otomatisasi yang diperlukan untuk aplikasi seluler sangat berbeda dari aplikasi desktop atau
web. Oleh karena itu Anda mungkin perlu menghabiskan waktu ekstra dan upaya untuk
mempelajari alat ini. Waktu dan upaya yang diperlukan untuk hal yang sama harus disetujui oleh
pemilik produk atau pelanggan.

#5) Teknik atau Metode Pengujian:


Tidak seperti tes konvensional yang biasanya kita lakukan, ada beberapa tes yang sangat spesifik
untuk aplikasi seluler. Yaitu uji lapangan, uji GPS, uji tangkap gambar, dll. Ini perlu
didokumentasikan dalam kasus pengujian bersama dengan bagaimana jenis ini akan diuji.

Jenis Pengujian untuk Aplikasi Seluler


Jenis pengujian berikut dilakukan untuk mensertifikasi aplikasi Android:
1) Pengujian Fungsional:
Pengujian biasanya dicapai oleh antarmuka pengguna yang memulai alur pengujian. Bukan hanya
alur kasus penggunaan yang diuji, tetapi berbagai aturan bisnis juga diuji. Pengujian dilakukan
dengan mengesahkan persyaratan. yaitu apakah aplikasi bekerja berdasarkan persyaratan.

Mari kita ambil Contoh aplikasi Zomato.


Saat Anda meluncurkan aplikasi, berdasarkan lokasi, daftar restoran muncul. Sekarang sebagai
QA, Anda harus menguji daftar restoran.

Ini adalah pengujian fungsionalitas dan di sini Anda akan menguji fungsionalitas seperti:
 Verifikasi apakah kartu restoran ditampilkan di lokasi w.r.t.
 Verifikasi apakah restoran yang ditampilkan berada di kisaran (km) lokasi yang
diberikan.
 Verifikasi apakah jumlah peninjauan untuk setiap kartu sinkron dengan ulasan
yang diberikan.
 Periksa apakah menambahkan restoran baru untuk lokasi akan tercermin dalam
daftar.
 Verifikasi apakah restoran terdaftar berdasarkan aturan pemfilteran Zomato dll.
2) Pengujian UI Android:
Ini adalah pengujian aplikasi yang berpusat pada pengguna. Dalam fase pengujian ini, item
seperti visibilitas teks di berbagai layar aplikasi, pesan interaktif, perataan data, tampilan dan
nuansa aplikasi untuk layar yang berbeda, ukuran bidang dll diuji di bawah ini.

Untuk contoh Zomato di atas yang sama, tes UI adalah:


 Verifikasi apakah kartu ditampilkan dengan benar sejajar dengan ukuran layar
seluler.
 Verifikasi apakah gambar restoran ditampilkan seperti yang diharapkan.
 Verifikasi apakah detail kartu, peringkat restoran, jenis masakan, alamat, dll,
ditampilkan dengan selaras dengan benar.
 Verifikasi apakah pengguliran daftar bebas kesalahan dan kartu tidak ditampilkan
tidak sejajar ketika daftar panjang kartu digulir dll.
3) Pengujian Kompatibilitas:
Pengujian ini sebagian besar dilakukan dalam bentuk dua matriks aplikasi OS Vs dan aplikasi Vs
model Perangkat. Biasanya, daftar OS yang didukung (dan kadang-kadang perangkat) disediakan
oleh pemilik produk atau pelanggan.

Kebutuhan untuk pengujian ini adalah:


 Ketika OS seperti Android diperhitungkan, 7 versi dasar ditemukan mengabaikan
jumlah rilis patch / EPs.
 Dapatkah Anda menebak jenis perangkat Android yang saat ini berfungsi di
seluruh dunia? 1000? 2000? Salah! Jawaban yang benar adalah 24000. Ada
24000 jenis perangkat Android unik yang hadir dan aktif di dunia.
 Dengan variasi seperti ini, pengujian kompatibilitas memainkan peran penting
dalam mensertifikasi aplikasi android.
 Kami tidak hanya perlu memvalidasi OS dan jenis perangkat tetapi juga
memvalidasi beberapa fitur lain yang termasuk dalam pengujian
kompatibilitas.  Fitur-fiturnya meliputi:
 Ukuran layar
 Resolusi layar
 Konektivitas jaringan
4) Pengujian Antarmuka:
Dengan kata lain, ini juga disebut sebagai pengujian Integrasi. Pengujian ini dilakukan setelah
semua modul aplikasi benar-benar dikembangkan, diuji secara individual dan semua bug
diverifikasi.

Pengujian antarmuka mencakup pengujian seperti pengujian end to end aplikasi lengkap,
interaksi dengan aplikasi lain seperti Peta, aplikasi sosial dll, penggunaan Mikrofon untuk
memasukkan teks, penggunaan Kamera untuk memindai kode batang atau mengambil gambar dll.

Sekali lagi mempertimbangkan Zomato, tes integrasi akan seperti:


 Verifikasi apakah pengguna dapat memesan tabel untuk restoran.
 Verifikasi apakah pengguna dapat melihat menu dan memesan makanan secara
online.
 Verifikasi apakah pengguna dapat memanfaatkan kupon PayTM saat memesan
makanan.
 Verifikasi apakah pengguna dapat melihat lokasi restoran di Google Maps.
 Verifikasi apakah pengguna dapat membuka pemutar-nomor telepon dan
hubungi restoran dll.
5) Pengujian Jaringan:
Fitur utama Pengujian Jaringan meliputi:
 Aplikasi harus berbicara dengan layanan perantara sehingga untuk melakukan
proses.
 Selama pengujian ini, permintaan / respons terhadap / dari layanan diuji untuk
berbagai kondisi.
 Tes ini terutama dilakukan untuk memverifikasi waktu respons di mana aktivitas
dilakukan seperti me-refresh data setelah menyinkronkan atau memuat data
setelah masuk dll.
 Ini dilakukan untuk koneksi wifi yang kuat dan jaringan data seluler.
 Ini adalah pengujian internal.
6) Pengujian Kinerja:
Kinerja aplikasi dalam beberapa kondisi aneh diperiksa.

Ketentuan tersebut meliputi:


 Memori rendah di dalam perangkat.
 Baterai sangat pada tingkat rendah.
 Penerimaan jaringan yang buruk / buruk.
Kinerja pada dasarnya diuji dari 2 ujung, akhir aplikasi, dan server aplikasi berakhir

7) Pengujian Instalasi:
Ada dua jenis aplikasi pada perangkat Android yaitu, Aplikasipra-instal dan aplikasi yang diinstal
kemudian oleh pengguna.

Untuk kedua hal di atas, pengujian instalasi perlu dilakukan. Ini untuk memastikan kelancaran
instalasi aplikasi tanpa berakhir dalam kesalahan, instalasi parsial dll.

Pengujian peningkatan dan pembongkaran dilakukan sebagai bagian dari pengujian Instalasi.

8) Pengujian Keamanan:
Privasi dan keamanan adalah 2 persyaratan utama aplikasi. Namun, di Perbankan, kesehatan, ini
menjadi persyaratan utama.

Pengujian aliran data untuk enkripsi dan mekanisme dekripsi akan diuji dalam fase ini. Akses ke
data yang disimpan juga diuji dalam fase ini.

9) Pengujian Lapangan:
Pengujian lapangan dilakukan khusus untuk jaringan data seluler dan bukan in-house tetapi
dengan keluar dan menggunakan aplikasi sebagai pengguna normal. Pengujian ini dilakukan
'hanya' setelah seluruh aplikasi dikembangkan, diuji, dan dimunderasi (untuk bug dan kasus
pengujian).

Ini pada dasarnya dilakukan untuk memverifikasi perilaku aplikasi ketika ponsel memiliki
koneksi 2G atau 3G. Pengujian lapangan memverifikasi apakah aplikasi mengalami crash di
bawah koneksi jaringan yang lambat atau jika terlalu lama untuk memuat informasi.
Anda dapat membaca lebih lanjut tentang pengujian lapangan di artikel kami "Penting dan
perlunya Pengujian Lapangan untuk aplikasi seluler"
10) Pengujian Interupsi:
Jenis pengujian ini juga dikenal sebagai Verifikasi Skenario Offline. Kondisi di mana jeda
komunikasi di tengah disebut sebagai kondisi offline.

Beberapa kondisi di mana gangguan jaringan dapat diuji adalah sebagai berikut:
 Penghapusan kabel data selama proses transfer data.
 Pemadaman jaringan selama fase posting transaksi.
 Pemulihan jaringan setelah pemadaman.
 Penghapusan baterai atau Daya Hidup/Mati saat berada dalam fase
transaksional.
Praktik Terbaik dalam Pengujian Aplikasi Android
Ada faktor-faktor tertentu yang perlu dipertimbangkan saat menempatkan strategi untuk
pengujian aplikasi seluler.

Mereka adalah:
1) Pemilihan Perangkat:
 Ini adalah salah satu langkah paling penting sebelum memulai proses pengujian
aplikasi android.
 Tentukan perangkat mana yang akan diperhitungkan untuk proses pengujian.
 Seleksi tersebut harus dilakukan agar dapat memaksimalkan jumlah target
pelanggan.
 Faktor-faktor seperti versi OS, Resolusi layar dan faktor Formulir [Tablet atau
ponsel pintar] memainkan peran penting dalam fase pemilihan.
 Jika diperlukan, bahkan bantuan Emulator dapat diperhitungkan.
 Tapi, Emulator tidak boleh menggantikan proses pengujian perangkat fisik.
 Emulator perangkat hemat biaya dan berguna selama fase pengembangan awal.
 Tapi, untuk menguji skenario kehidupan nyata, perangkat fisik adalah nyaharu.
Emulator dan perangkat fisik harus digunakan secara seimbang untuk hasil yang
dioptimalkan.
2) Pengujian Beta Aplikasi:
 Pengujian beta sangat efektif dalam pengujian dengan pengguna dunia nyata,
perangkat nyata, jaringan aktual dan aplikasi yang diinstal dalam geografi yang
luas.
 Ini memberikan gambaran yang jelas tentang kepadatan jaringan, variasi
jaringan [Wi-Fi, 4G, 3G, dan 2G] dan dampaknya pada aplikasi.
 Pengujian beta di dunia nyata adalah salah satu jenisnya dan tidak dapat
direplikasi dalam lingkungan yang terkendali.
3) Konektivitas:
 Biasanya, aplikasi Android terhubung ke internet untuk berbagai persyaratan.
 Konektivitas pada perangkat yang berbeda memainkan peran kunci dalam
memasang strategi.
 Sebagian besar konektivitas dikendalikan oleh perangkat lunak simulasi yang
membantu dalam mengatur kecepatan jaringan, latensi, dan konektivitas
terbatas saat pengujian.
 Dikatakan bahwa pengujian di bawah koneksi jaringan nyata selalu disarankan
untuk hasil / data real-time.
4) Pengujian Manual atau Otomatis:
 Meskipun pengujian otomatisasi membutuhkan banyak waktu untuk lari
pertama, itu berguna ketika pengujian harus diulang. Ini juga mengurangi
rentang waktu pengujian secara keseluruhan selama tahap pengembangan yang
berbeda.
 Otomasi Android harus disolah dengan pengujian manual ketika pengulangan
pengujian regresi tinggi dalam fase pengembangan aplikasi, pengujian
kompatibilitas harus dilakukan untuk aplikasi yang sama pada versi OS yang
berbeda, pos pemeriksaan kompatibilitas mundur dll.
Kerangka Kerja Pengujian Android
Ada beberapa framework pengujian Android yang tersedia.

Dalam tutorial ini, kita akan membahas 3 jenis kerangka kerja yang paling umum
digunakan:
 Kerangka kerja uji robotium
 Kerangka kerja uji listrik Robo
 Kerangka kerja uji appium
1) Kerangka Kerja Uji Robotium:
 Kerangka kerja ini digunakan untuk menulis kasus pengujian kotak hitam yang
canggih dan kuat untuk aplikasi Android.
 Ini mendukung klien asli maupun hibrida.
 Fungsi, kasus uji sistem, dan kasus pengujian penerimaan pengguna dapat ditulis
menggunakan kerangka kerja ini.
 Robotium mendukung Android 1.6 ke atas dan juga dukungan untuk Dialog,
Menu, Aktivitas, dll.
 Framework ini menangani beberapa aktivitas Android secara otomatis.
 Beberapa metode diberikan sebagai bagian dari Robotium untuk berinteraksi
dengan komponen grafis yang berbeda dari aplikasi Android. Beberapa di
antaranya seperti di bawah ini:
 goBack();
 dapatkanButton();
 isRadioButtonChecked();
 searchText("Pengguna");
 klik tombol ("Logout");
2) Kerangka Kerja Uji Listrik Robo:
 Framework ini membantu dalam menguji aplikasi Android pada JVM
berdasarkan framework JUnit4.
 Ini menggunakan Android API.
 Ini membantu dalam menulis kasus tes dan menjalankannya di JVM.
 Di bawah ini, semua kelas digantikan oleh sesuatu yang disebut objek bayangan.
 Setiap kali metode diterapkan, Robo-electric secara internal mengirimkan
panggilan ke objek bayangan.
 Berdasarkan implementasi, jika metode diimplementasikan oleh objek bayangan
maka nilai dikembalikan. Lainnya, NULL dikembalikan.
 Karena objek bayangan dan JVM, eksekusi menjadi lebih cepat.
3) Kerangka Kerja Uji Appium:
 Kerangka kerja ini berfungsi untuk aplikasi native, hybrid, dan mobile –web
untuk perangkat Android.
 Appium gratis untuk menggunakan utilitas.
 Api tunggal berfungsi untuk Android maupun platform iOS. Ini adalah salah satu
kerangka kerja yang mendukung pengujian lintas platform.
 Ini menggunakan driver Selenium Web untuk berinteraksi dengan aplikasi
Android.
 Appium mendukung penulisan skrip menggunakan banyak bahasa pemrograman
seperti Java, C#, Python, PHP, Ruby dll.
Kesimpulan
Otomatisasi aplikasi Android dapat disolah dengan manual sesuai kebutuhan. Namun, jika
pengujian Otomasi Androind ditambahkan ke strategi, memilih alat yang benar adalah tugas
besar. Saat memilih faktor alat otomatisasi seperti dukungan Multi-platform, alur kerja Uji, Harga
alat, layanan / dukungan, dll harus diperhitungkan.

Ada beberapa tantangan yang terlibat dalam pengujian aplikasi Android. Ada berbagai faktor
yang harus diperhitungkan sebelum proses pengujian Android benar-benar dapat diterapkan tetapi
setelah dilakukan ini menjadi tugas yang sangat menarik.

Anda mungkin juga menyukai