Apa itu Pengujian Aplikasi iOS?
Pengujian Aplikasi iOS adalah proses pengujian di mana aplikasi iOS diuji pada perangkat Apple nyata untuk memeriksa apakah itu berfungsi seperti yang diharapkan atau tidak untuk tindakan pengguna tertentu seperti waktu instalasi, antarmuka pengguna, pengalaman pengguna, penampilan, perilaku, fungsionalitas, waktu muat, kinerja, daftar App Store, dukungan versi OS, dll.
Mengapa Pengujian Aplikasi iOS?
Pengujian Aplikasi iOS diperlukan karena iOS adalah platform Apple untuk aplikasi seluler yang dirilis pada 29 Juni 2007. Tidak seperti Android, Apple tidak melisensikan iOS untuk penginstalan pada perangkat keras non-Apple. Aplikasi iOS dan iOS hanya dapat diinstal pada perangkat Apple, oleh karena itu, Aplikasi iOS Anda harus kompatibel dengan versi iOS dan perangkat iOS.
Ini adalah pertanyaan umum saat pengembang membuat aplikasi iOS.
Tidak peduli berapa banyak waktu yang Anda investasikan dalam desain dan implementasi, kesalahan tidak bisa dihindari, dan bug akan muncul. Ada beberapa bug umum pada aplikasi iOS. Seperti yang ditunjukkan pada gambar di bawah ini.
- Aplikasi mogok
Salah satu masalah yang paling membuat frustrasi, saat menggunakan perangkat Apple, adalah aplikasi mungkin sering macet selama eksekusi. Sering kali aplikasi macet karena ada beberapa bug atau kebocoran memori di aplikasi.
- Ketidaksesuaian aplikasi
Aplikasi iOS Anda dapat berjalan dengan sempurna pada versi iOS saat ini, tetapi jika iOS ditingkatkan, mungkin tidak berfungsi karena masalah ketidakcocokan.
- Kerentanan keamanan
Kerentanan keamanan di iOS memungkinkan peretas menyerang perangkat iOS Anda, mencuri informasi pribadi Anda. Hingga saat ini, kerentanan keamanan iPhone yang parah ditemukan di berbagai versi iOS.
- Kebocoran memori
Kebocoran memori adalah blok memori yang dialokasikan yang tidak lagi digunakan oleh program. Kebocoran memori menyebabkan aplikasi iOS Anda mogok. Mereka adalah bug dan harus selalu diperbaiki.
Dalam tutorial ini, Anda akan belajar-
- Mengapa pengujian iOS?
- iOS menguji MindMap
- Daftar Periksa pengujian iOS
- Strategi Pengujian iOS
- Pengujian otomatis
- Pengujian unit dengan OCUnit
- Pengujian UI dengan UIAutomation
- Pengujian manual
- Pengujian Eksplorasi
- Pengujian Pengguna
- Pengujian Konsep
- Pengujian Kegunaan
- Pengujian beta
- Pengujian A / B
- Pengujian iOS Praktik terbaik
- MITOS tentang pengujian iOS
iOS menguji MindMap
Seperti yang ditunjukkan pada gambar di atas, MindMap Pengujian iOS menunjukkan semua item yang harus dipertimbangkan penguji saat melakukan pengujian di iOS.
Daftar Periksa Pengujian Aplikasi iOS
Daftar periksa ini dirancang khusus untuk menguji karakteristik aplikasi seluler iOS. Jelas, ini hanya menguji karakteristik aplikasi umum dan bukan fungsionalitasnya.
- Periksa waktu penginstalan yang dibutuhkan oleh aplikasi ke perangkat. Pastikan aplikasi tersebut dipasang dalam waktu yang dapat diterima.
- Setelah aplikasi diinstal, periksa apakah aplikasi tersebut memiliki ikon dan nama aplikasi. Selain itu, pastikan bahwa ikon dan nama sudah cukup menjelaskan maksud inti aplikasi.
- Luncurkan aplikasi dan periksa apakah layar splash ditampilkan.
- Periksa batas waktu layar splash dan waktu yang dibutuhkan untuk memuat layar beranda. Layar Beranda aplikasi harus dimuat dalam waktu yang dapat diterima. Jika layar Beranda hanya membutuhkan lebih banyak waktu untuk memuat, maka ada lebih banyak kesempatan bagi pengguna untuk keluar atau bahkan mencopot aplikasi itu sendiri. Juga, periksa bagaimana konten dimuat di layar Beranda.
- Fungsi utama aplikasi harus segera terlihat. Itu harus berbicara sendiri.
- Periksa apakah aplikasi mendukung orientasi lanskap dan potret. Jika demikian, periksa aplikasi di kedua orientasi. Antarmuka pengguna aplikasi harus disetel dengan semestinya.
- Tanpa koneksi internet, luncurkan aplikasi. Pastikan aplikasi tersebut berperilaku seperti yang dirancang / diinginkan. Ada kemungkinan aplikasi crash saat meluncurkannya atau mungkin hanya menampilkan layar kosong.
- Jika aplikasi menggunakan layanan lokasi, periksa apakah peringatan izin lokasi ditampilkan atau tidak. Peringatan ini harus diberikan kepada pengguna hanya sekali.
- Jika aplikasi mengirimkan notifikasi push, periksa apakah peringatan izin notifikasi push ditampilkan atau tidak. Peringatan ini juga harus diberikan kepada pengguna hanya sekali.
- Luncurkan aplikasi, keluar dan luncurkan kembali. Periksa apakah aplikasi berperilaku seperti yang dirancang / diinginkan
- Tutup aplikasi dengan mengetuk tombol Beranda perangkat dan buka aplikasi lagi. Periksa apakah aplikasi berfungsi seperti yang dirancang / diinginkan.
- Setelah diinstal, periksa apakah aplikasi tersebut terdaftar di aplikasi pengaturan iPhone.
- Setelah aplikasi ditayangkan, periksa apakah aplikasi dapat ditemukan di "App Store." Akan ada versi OS yang didukung untuk aplikasi tersebut. Jadi, pastikan aplikasi dapat ditemukan di perangkat versi OS yang didukung "App Store." Selain itu, aplikasi tidak boleh dicantumkan di "App Store" perangkat versi OS yang tidak didukung.
- Periksa apakah aplikasi masuk ke mode tidur saat berjalan di latar belakang untuk mencegah pengurasan baterai.
- Jika kinerja aplikasi lambat atau setiap kali konten dimuat, periksa apakah ada ikon status kemajuan ("Memuat…"), sebaiknya dengan pesan tertentu.
- Cari aplikasi dengan namanya di bilah pencarian perangkat. Periksa apakah aplikasi tersebut terdaftar
- Periksa apakah tampilan tombol yang melakukan tindakan standar tidak diubah dalam aplikasi (misalnya: menyegarkan, mengatur, membuang, Balas, kembali, dll.)
- Periksa apakah tombol standar tidak digunakan untuk fungsi lain daripada biasanya digunakan untuk itu
Strategi Pengujian iOS
Gambar di bawah ini memperkenalkan beberapa jenis umum dari strategi pengujian iOS.
Pengujian otomatis
Pengujian otomatis adalah keuntungan terbesar dari pengujian iOS. Ini memungkinkan Anda untuk mendeteksi bug dan masalah kinerja dengan cepat. Manfaat pengujian otomatis seperti yang ditunjukkan di bawah ini:
- Pengujian otomatis dapat berjalan di banyak perangkat, menghemat waktu Anda
- Pengujian otomatis dapat menargetkan SDK. Anda dapat menjalankan pengujian pada versi SDK yang berbeda
- Pengujian otomatis meningkatkan produktivitas pengujian Anda, menghemat biaya pengembangan perangkat lunak
- Ada banyak kerangka kerja Pengujian open source yang mendukung pengujian otomatis di iOS
Pengujian unit dengan OCUnit
Saat iOS SDK asli dirilis, ia tidak memiliki kemampuan Pengujian Unit. Jadi Apple telah membawa kembali solusi pengujian unit OCUnit di iOS SDK versi 2.2.
OCUnit adalah kerangka pengujian untuk C- Objective di Mac OS. Keuntungan terbesar dari kerangka kerja OCUnit adalah integrasi yang erat ke dalam lingkungan pengembangan XCode seperti yang ditunjukkan di bawah ini.
Beberapa manfaat OCUnit ditunjukkan pada gambar di bawah ini.
Pengujian UI dengan UIAutomation
Otomasi UI adalah pustaka JavaScript yang disediakan oleh Apple Inc, yang dapat digunakan untuk melakukan pengujian otomatis pada perangkat nyata dan di iOS Simulator. Kerangka kerja ini ditambahkan ke iOS SDK4.0. Dengan menggunakan UI Automation, Anda dapat mengotomatiskan pengujian aplikasi tidak hanya di simulator tetapi juga di perangkat sebenarnya.
UIAutomation memberi Anda manfaat berikut:
- Kurangi upaya pada Pengujian Manual
- Gunakan lebih sedikit memori Anda untuk menjalankan semua pengujian Anda
- Sederhanakan prosedur pengujian UI Anda (cukup tekan satu atau tiga tombol dan jalankan sepenuhnya rangkaian pengujian Anda)
Instrumen UIAutomation bekerja dari skrip, yang ditulis dalam JavaScript. Ini mensimulasikan acara pengguna pada aplikasi iOS target.
Kontra UIAutomation vs.
Pro | Kontra | |
---|---|---|
1. | Dukungan yang baik untuk gerakan dan rotasi | Ini bukan open source, kurang dukungan dari pengembang |
2. | Dapat menjalankan tes UIAutomation pada perangkat, bukan satu-satunya simulator. | Tidak dapat berintegrasi dengan alat lain dengan sangat baik |
3. | Dikembangkan oleh JavaScript, ini adalah bahasa pemrograman yang populer. |
Gambar di atas mewakili beberapa kelas umum dalam kerangka UIAutomation.
- Kelas UIAElement adalah kelas super untuk semua elemen antarmuka pengguna dalam konteks Otomasi
- Kelas UIATarget mewakili elemen antarmuka pengguna tingkat tinggi dari sistem yang diuji
- Kelas UIALogger menyediakan informasi pengujian dan kesalahan pada fungsionalitas pengambilan
- Kelas UIAActivityView memungkinkan akses ke, dan kontrol, tampilan aktivitas dalam aplikasi Anda.
- Kelas UIAActionSheet memungkinkan akses ke, dan kontrol, lembar tindakan dalam aplikasi Anda.
- Tindakan Peristiwa Pengguna
- Kelas UISlider
- Kelas UIAButton
- Kelas UIAKey
- UIAKeyboard kelas
Kerangka pengujian otomatis lainnya
- MonkeyTalk: Alat untuk pengujian otomatis aplikasi iOS, Android, HTML5, dan Adobe. Ini adalah lingkungan terintegrasi untuk mengelola dan menjalankan rangkaian pengujian
- Frank: Kerangka kerja Tes Penerimaan Otomatis untuk iPhone dan iPad
- KIF: adalah kerangka kerja pengujian integrasi iOS . Hal ini memungkinkan otomatisasi aplikasi iOS yang mudah dengan memanfaatkan atribut aksesibilitas yang disediakan OS bagi mereka yang memiliki disabilitas visual.
Pengujian manual
Pengujian Eksplorasi
Ini adalah pengujian tanpa rencana pengujian formal. Pengujian Eksplorasi adalah metode pengujian berbiaya rendah, tetapi dapat melewatkan potensi bug dalam aplikasi iOS Anda.
Kontra Pengujian Eksplorasi vs.
Pro | Kontra | |
---|---|---|
1. | Dibutuhkan sedikit persiapan, deteksi dini bug yang serius. | Membutuhkan keahlian penguji yang tinggi |
2. | Tidak perlu Paket Tes untuk mempercepat deteksi bug. | Cakupan tes rendah. Itu tidak menjamin bahwa semua kebutuhan Anda telah diuji. |
3. | Kebanyakan bug ditemukan lebih awal melalui semacam pengujian eksplorasi | Kurangnya dokumentasi pengujian |
Pengujian Pengguna
Pengujian pengguna adalah jenis Pengujian Manual di iOS. Tujuan dari pengujian ini adalah untuk membuat aplikasi yang lebih baik, tidak hanya aplikasi yang bebas bug . Gambar di bawah ini menunjukkan empat jenis Pengujian Pengguna
Pengujian konsep
Evaluasi respons pengguna terhadap ide aplikasi sebelum merilisnya ke pasar. Prosedur pengujian konsep di iOS dijelaskan seperti di bawah ini
Pengujian Kegunaan
Usability Testing adalah tes seberapa mudah menggunakan aplikasi iOS Anda. Dalam pengujian iOS, pengujian kegunaan dapat direkam untuk diingat atau dibagikan dengan orang lain.
Ada beberapa alat yang mendukung pengujian kegunaan di iOS.
Magitest, pengujian kegunaan iOS sederhana untuk situs dan aplikasi.
Delight.io, alat ini dapat menangkap interaksi pengguna nyata di aplikasi iOS Anda.
Pengujian beta
Pengujian Beta adalah pengujian integrasi dengan data nyata untuk mendapatkan umpan balik akhir dari pengguna. Untuk mendistribusikan aplikasi Anda untuk pengujian beta, Anda harus mengikuti langkah-langkah di bawah ini.
- Prasyarat : Jika Anda menguji beta kandidat akhir untuk rilis, pastikan untuk memvalidasi aplikasi sebelum mendistribusikannya ke penguji.
- Temukan penguji melalui layanan : Anda mengumpulkan ID perangkat dari penguji dan menambahkannya ke Pusat Anggota
- Buat distribusi ad-hoc : Distribusi Ad Hoc memungkinkan penguji menjalankan aplikasi Anda di perangkat mereka tanpa perlu Xcode. Langkah ini mencakup 2 sub-langkah
- Buat sertifikat distribusi
- Buat profil penyediaan Ad-hoc
- Kumpulkan umpan balik dari penguji: Penguji melakukan pengujian dan mengirim laporan bug kepada Anda. Setelah aplikasi Anda dirilis, Anda bisa mendapatkan laporan dari iTunes Connect.
Pengujian A / B
Pengujian A / B adalah salah satu cara paling ampuh untuk mengevaluasi keefektifan aplikasi iOS Anda . Ini menggunakan eksperimen acak dengan dua perangkat, A dan B.
Pengujian A / B mencakup tiga langkah utama
- Konfigurasikan pengujian : Siapkan 2 versi aplikasi iOS Anda (A & B) dan metrik pengujian
- Pengujian : Menguji 2 versi aplikasi iOS di atas pada perangkat secara bersamaan.
- Analisis : Ukur dan pilih versi yang lebih baik untuk dirilis
Alat berikut mendukung pengujian A / B di iOS.
- Bangkit: Pengujian A / B untuk iOS dan Android. Ini dapat diintegrasikan ke dalam aplikasi iOS Anda dan membuat proses pengujian lebih cepat.
Praktik terbaik untuk pengujian A / B
- Tentukan target pengujian Anda. Tes apa pun tidak berguna tanpa target.
- Perhatikan pengguna akhir menggunakan aplikasi Anda untuk pertama kalinya
- Jalankan satu pengujian saja per pembaruan. Ini menghemat waktu Anda saat melakukan pengujian
- Pantau pengujian Anda dengan cermat. Anda dapat mempelajari pengalaman dari pengujian Anda dengan memantaunya.
Pengujian iOS Praktik terbaik
Berikut beberapa tip yang harus Anda ketahui saat mengatur pengujian aplikasi iOS Anda
- Uji aplikasi di perangkat nyata untuk mendapatkan performa yang nyata
- Tingkatkan metode pengujian Anda, karena metode pengujian tradisional tidak lagi cukup untuk mencakup semua pengujian pada pengujian iOS
- Menggunakan log konsol untuk menguji aplikasi iOS. Ini adalah fitur iOS yang menyertakan informasi dari setiap aplikasi di perangkat.
- Mendokumentasikan bug aplikasi menggunakan perintah pendek layar bawaan. Ini membantu pengembang memahami bagaimana bug terjadi.
- Pelaporan kerusakan adalah alat yang berguna saat menguji aplikasi Anda. Mereka dapat mendeteksi kerusakan dan detail log sehingga Anda dapat menyelidiki bug dengan mudah.
MITOS tentang pengujian iOS
Bagian ini membahas beberapa mitos dan realitas populer dari pengujian iOS
Menguji aplikasi di iOS dan Android adalah hal yang sama.
iOS dan Android adalah dua platform yang dikembangkan oleh Apple Inc dan Google. Mereka sangat berbeda. Lingkungan pengujian dll, kerangka kerja pengujian, bahasa pemrograman.
Uji aplikasi di iOS Simulator sudah cukup.
Simulator iOS tidak cukup kuat untuk menguji aplikasi. Karena iOS Simulator memiliki beberapa batasan:
- Batasan perangkat keras (Kamera, input Mikrofon, Sensor)
- UI aplikasi Anda mungkin tampak berjalan lebih cepat dan lebih lancar daripada di perangkat
- Batasan API
- Beberapa framework tidak didukung (Media Player, Store Kit, Message UI…)
Semua orang akan mengunduh aplikasi saya di toko aplikasi karena memiliki banyak fitur
Semakin banyak fitur yang dimiliki aplikasi Anda, semakin banyak bug yang bisa Anda dapatkan. Tidak ada pengguna yang akan mengunduh aplikasi Anda jika masih memiliki banyak cacat.