Tapi, sebelum masuk ke berbagai detail proses pengujian Android, saya ingin mengajukan
beberapa pertanyaan.
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.
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.
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.
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.
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.
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.