Apa itu Ujian Aplikasi iOS?
Pengujian Aplikasi iOS adalah proses pengujian di mana aplikasi iOS diuji pada peranti Apple sebenar untuk memeriksa sama ada ia berfungsi seperti yang diharapkan atau tidak untuk tindakan pengguna tertentu seperti masa pemasangan, antara muka pengguna, pengalaman pengguna, penampilan, tingkah laku, fungsi, waktu muat, prestasi, penyenaraian App Store, sokongan versi OS, dll.
Mengapa Uji Aplikasi iOS?
Ujian Aplikasi iOS diperlukan kerana iOS adalah platform Apple untuk aplikasi mudah alih yang dirilis pada 29 Jun 2007. Tidak seperti Android, Apple tidak melesenkan iOS untuk pemasangan pada perkakasan bukan Apple. Aplikasi iOS dan iOS hanya boleh dipasang pada peranti Apple oleh itu, Aplikasi iOS anda mesti serasi dengan versi iOS dan peranti iOS.
Ini adalah persoalan biasa semasa pembangun membuat aplikasi iOS.
Tidak kira berapa banyak masa anda melabur dalam reka bentuk dan pelaksanaan, kesalahan tidak dapat dielakkan, dan pepijat akan muncul. Terdapat beberapa pepijat biasa pada aplikasi iOS. Seperti yang ditunjukkan dalam gambar di bawah.
- Aplikasi ranap
Salah satu masalah yang paling mengecewakan, ketika menggunakan perangkat Apple, adalah bahawa aplikasi mungkin sering crash semasa pelaksanaan. Berkali-kali aplikasi mengalami kerosakan kerana terdapat beberapa bug atau kebocoran memori dalam aplikasi.
- Ketidaksesuaian aplikasi
Aplikasi iOS anda mungkin berjalan dengan sempurna pada versi iOS semasa, tetapi jika iOS ditingkatkan, ia mungkin tidak berfungsi kerana masalah ketidaksesuaian.
- Kerentanan keselamatan
Kerentanan Keselamatan di iOS membolehkan penggodam menyerang peranti iOS anda, mencuri maklumat peribadi anda. Sehingga kini, kelemahan keselamatan iPhone yang teruk ditemui dalam pelbagai versi iOS.
- Kebocoran memori
Kebocoran memori adalah blok memori yang dialokasikan yang tidak lagi digunakan oleh program. Kebocoran memori menyebabkan aplikasi iOS anda hancur. Mereka adalah pepijat dan harus selalu diperbaiki.
Dalam tutorial ini, anda akan belajar-
- Mengapa ujian iOS?
- MindMap ujian iOS
- Senarai Semak ujian iOS
- Strategi Ujian iOS
- Ujian automatik
- Ujian unit dengan OCUnit
- UI UI dengan UIAutomation
- Ujian manual
- Ujian Eksploratori
- Ujian Pengguna
- Pengujian Konsep
- Ujian Kebolehgunaan
- Ujian beta
- Ujian A / B
- Ujian iOS Amalan terbaik
- Mitos mengenai ujian iOS
MindMap ujian iOS
Seperti yang ditunjukkan pada gambar di atas, iOS Testing MindMap menunjukkan semua item yang harus dipertimbangkan oleh penguji semasa menjalankan ujian pada iOS.
Senarai Semak Ujian Aplikasi iOS
Senarai semak ini direka khas untuk menguji ciri aplikasi mudah alih iOS. Jelas, ia hanya menguji ciri aplikasi generik dan bukan fungsi daripadanya.
- Periksa masa pemasangan yang diambil oleh aplikasi ke peranti. Pastikan aplikasi dipasang dalam masa yang boleh diterima.
- Setelah aplikasi dipasang, periksa apakah aplikasi mempunyai ikon dan nama aplikasi. Juga, pastikan bahawa kedua-dua ikon dan nama itu jelas yang menunjukkan maksud inti aplikasi.
- Lancarkan aplikasi dan periksa sama ada skrin percikan dipaparkan.
- Periksa tamat masa percikan dan masa yang diperlukan untuk memuatkan skrin utama. Skrin Utama aplikasi akan dimuat dalam masa yang boleh diterima. Sekiranya skrin Utama hanya memerlukan lebih banyak masa untuk dimuat, maka ada lebih banyak peluang bagi pengguna untuk berhenti atau bahkan menyahpasang aplikasi itu sendiri. Juga, periksa bagaimana kandungannya dimuat di Skrin utama.
- Fungsi utama aplikasi harus segera dilihat. Ia harus bercakap sendiri.
- Periksa sama ada aplikasi menyokong orientasi landskap dan potret. Sekiranya ya, periksa aplikasi dalam kedua-dua arah. Antara muka pengguna aplikasi harus ditetapkan dengan sewajarnya.
- Tanpa sambungan internet, lancarkan aplikasi. Pastikan aplikasi tersebut berfungsi seperti yang dirancang / dikehendaki. Ada kemungkinan aplikasi tersebut mungkin macet ketika melancarkannya atau hanya memaparkan layar kosong.
- Sekiranya aplikasi menggunakan perkhidmatan lokasi, periksa sama ada amaran kebenaran lokasi dipaparkan atau tidak. Makluman ini harus diminta kepada pengguna sekali sahaja.
- Sekiranya aplikasi menghantar pemberitahuan tolak, periksa apakah peringatan kebenaran pemberitahuan push ditampilkan atau tidak. Makluman ini juga harus diminta kepada pengguna sekali sahaja.
- Lancarkan aplikasi, berhenti dan mulakan semula. Periksa sama ada aplikasi berkelakuan seperti yang dirancang / dikehendaki
- Tutup aplikasi dengan mengetuk butang Utama peranti dan buka aplikasinya semula. Periksa sama ada aplikasi berfungsi seperti yang dirancang / dikehendaki.
- Setelah dipasang, periksa sama ada aplikasi tersebut disenaraikan dalam aplikasi tetapan iPhone.
- Setelah aplikasi disiarkan secara langsung, periksa apakah aplikasi tersebut dapat ditemukan di "App Store." Akan ada versi OS yang didukung untuk aplikasi tersebut. Oleh itu, pastikan aplikasi tersebut dapat ditemukan di "App Store" perangkat versi OS yang disokong. Aplikasi itu juga tidak boleh disenaraikan di "App Store" peranti versi OS yang tidak disokong.
- Periksa sama ada aplikasi masuk ke mod tidur ketika berjalan di latar belakang untuk mengelakkan bateri habis.
- Sekiranya prestasi aplikasi lambat atau setiap kali kandungan dimuat, periksa apakah ada ikon status kemajuan ("Memuat ..."), sebaiknya dengan mesej tertentu.
- Cari aplikasi dengan namanya di bar carian peranti. Periksa sama ada apl tersebut disenaraikan
- Periksa sama ada penampilan butang yang melakukan tindakan standard tidak diubah dalam aplikasi (misalnya: muat semula, susun, sampah, Balas, belakang, dll.)
- Periksa sama ada butang standard tidak digunakan untuk fungsi lain dan kemudian ia biasa digunakan
Strategi Ujian iOS
Gambar di bawah ini memperkenalkan beberapa jenis strategi pengujian iOS yang biasa.
Ujian automatik
Pengujian automatik adalah kelebihan ujian iOS yang paling banyak. Ini membolehkan anda mengesan masalah pepijat dan prestasi dengan cepat. Manfaat ujian automatik seperti yang ditunjukkan di bawah:
- Ujian automatik boleh dijalankan di beberapa peranti, menjimatkan masa anda
- Ujian automatik dapat mensasarkan SDK. Anda boleh menjalankan ujian pada versi SDK yang berbeza
- Ujian automatik meningkatkan produktiviti pengujian anda, menjimatkan kos pengembangan perisian anda
- Terdapat banyak rangka kerja Pengujian sumber terbuka yang menyokong pengujian automatik pada iOS
Ujian unit dengan OCUnit
Ketika SDK iOS yang asli dilancarkan, ia tidak mempunyai kemampuan Uji Unit. Oleh itu Apple telah mengembalikan penyelesaian ujian unit OCUnit dalam iOS SDK versi 2.2.
OCUnit adalah kerangka pengujian untuk C- Objective di Mac OS. Kelebihan terbesar kerangka kerja OCUnit adalah penyatuan yang ketat ke dalam persekitaran pengembangan XCode seperti yang ditunjukkan di bawah.
Sebilangan kelebihan OCUnit ditunjukkan dalam gambar di bawah.
UI UI dengan UIAutomation
UI Automation adalah pustaka JavaScript yang disediakan oleh Apple Inc, yang dapat digunakan untuk melakukan ujian automatik pada perangkat nyata dan pada Simulator iOS. Kerangka ini ditambahkan ke iOS SDK4.0. Dengan menggunakan UI Automation, anda dapat menguji aplikasi secara automatik bukan hanya pada simulator tetapi juga peranti yang sebenarnya.
UIAutomation memberi anda faedah berikut:
- Kurangkan usaha pada Pengujian Manual
- Gunakan memori anda untuk melaksanakan semua ujian anda
- Permudahkan prosedur ujian UI anda (tekan satu atau tiga butang dan lengkapkan sepenuhnya set ujian anda)
Instrumen UIAutomation berfungsi dari skrip, yang ditulis dalam JavaScript. Ia mensimulasikan peristiwa pengguna pada aplikasi iOS sasaran.
Kekurangan UIAutomasi vs Kelebihan
Kelebihan | Keburukan | |
---|---|---|
1. | Sokongan yang baik untuk gerakan dan putaran | Ini bukan sumber terbuka, kurang sokongan daripada pemaju |
2. | Boleh menjalankan ujian UIAutomation pada peranti, bukan satu-satunya simulator. | Tidak dapat digabungkan dengan alat lain dengan sangat baik |
3. | Dibangunkan oleh JavaScript, ia adalah bahasa pengaturcaraan yang popular. |
Gambar di atas mewakili beberapa kelas umum dalam kerangka UIAutomation.
- The UIAElement kelas adalah kelas super untuk semua elemen antara muka pengguna dalam konteks Otomatisasi
- The UIATarget kelas mewakili peringkat tinggi unsur-unsur antara muka pengguna sistem di bawah ujian
- The UIALogger kelas menyediakan ujian dan kesilapan maklumat mengenai fungsi semula
- The UIAActivityView kelas membolehkan akses kepada, dan kawalan, pemandangan aktiviti dalam aplikasi anda.
- The UIAActionSheet kelas membolehkan akses kepada, dan kawalan, cadar tindakan dalam aplikasi anda.
- Tindakan Peristiwa Pengguna
- Kelas UISlider
- Kelas UIAButton
- Kelas UIAKey
- Kelas papan tanda UIAK
Rangka kerja ujian automatik lain
- MonkeyTalk: Alat untuk pengujian automatik aplikasi iOS, Android, HTML5 dan Adobe. Ini adalah persekitaran bersepadu untuk mengurus dan menjalankan suite ujian
- Frank: Kerangka Uji Penerimaan Automatik untuk iPhone dan iPad
- KIF: adalah kerangka ujian integrasi iOS . Ia membolehkan automasi aplikasi iOS dengan mudah menggunakan atribut kebolehaksesan yang disediakan oleh OS bagi mereka yang kurang upaya penglihatan.
Ujian manual
Ujian Eksploratori
Ia adalah ujian tanpa rancangan ujian rasmi. Exploratory Testing adalah kaedah pengujian kos rendah, tetapi kemungkinan kehilangan bug dalam aplikasi iOS anda.
Kekurangan Ujian Eksploratori dan Kelebihan
Kelebihan | Keburukan | |
---|---|---|
1. | Lebih sedikit persiapan diperlukan, lebih awal mengesan pepijat yang serius. | Memerlukan kemahiran penguji yang tinggi |
2. | Tidak perlu Rancangan Uji mempercepat pengesanan pepijat. | Liputan ujian rendah. Ini tidak menjamin bahawa semua keperluan anda diuji. |
3. | Sebilangan besar pepijat ditemui lebih awal dengan beberapa jenis ujian eksplorasi | Kekurangan dokumentasi ujian |
Ujian Pengguna
Ujian pengguna adalah jenis Ujian Manual pada iOS. Tujuan pengujian ini adalah untuk membuat aplikasi yang lebih baik, bukan hanya aplikasi bebas bug . Gambar di bawah menunjukkan empat jenis Ujian Pengguna
Pengujian konsep
Nilaikan tindak balas pengguna terhadap idea aplikasi sebelum dilancarkan ke pasaran. Prosedur pengujian konsep pada iOS dijelaskan seperti di bawah
Ujian Kebolehgunaan
Ujian Kebolehgunaan adalah ujian betapa mudahnya menggunakan aplikasi iOS anda. Dalam ujian iOS, ujian kebolehgunaan dapat direkodkan untuk diingat atau dikongsi dengan orang lain.
Terdapat beberapa alat yang menyokong ujian kebolehgunaan di iOS.
Magitest, ujian kebolehgunaan iOS yang mudah untuk laman web dan aplikasi.
Delight.io, alat ini dapat menangkap interaksi pengguna sebenar pada aplikasi iOS anda.
Ujian beta
Beta Testing adalah pengujian integrasi dengan data sebenar untuk mendapatkan maklum balas akhir dari pengguna. Untuk menyebarkan aplikasi anda untuk ujian beta, anda harus mengikuti langkah di bawah.
- Pra-syarat : Sekiranya anda menguji beta calon terakhir untuk rilis, pastikan untuk mengesahkan aplikasi sebelum menyebarkannya kepada penguji.
- Cari penguji melalui perkhidmatan : anda mengumpulkan ID peranti dari penguji dan menambahkannya ke Pusat Ahli
- Buat pengedaran ad-hoc : Pengedaran Ad Hoc membolehkan penguji menjalankan aplikasi anda pada peranti mereka tanpa memerlukan Xcode. Langkah ini merangkumi 2 sub-langkah
- Buat sijil pengedaran
- Buat profil penyediaan Ad-hoc
- Dapatkan maklum balas daripada penguji: Penguji melakukan ujian dan menghantar laporan pepijat kepada anda. Setelah aplikasi anda dilepaskan, anda boleh mendapatkan laporan dari iTunes menyambung.
Ujian A / B
Ujian A / B adalah salah satu kaedah paling berkesan untuk menilai keberkesanan aplikasi iOS anda . Ia menggunakan eksperimen rawak dengan dua peranti, A dan B.
Ujian A / B merangkumi tiga langkah utama
- Konfigurasikan ujian : Menyiapkan 2 versi aplikasi iOS (A & B) dan metrik ujian anda
- Uji : Uji 2 versi aplikasi iOS di atas pada peranti secara serentak.
- Analisis : Ukur dan pilih versi yang lebih baik untuk dilepaskan
Alat berikut menyokong ujian A / B pada iOS.
- Muncul: Ujian A / B untuk iOS dan Android. Ia dapat disatukan ke dalam aplikasi iOS anda dan menjadikan proses pengujian lebih cepat.
Amalan terbaik untuk ujian A / B
- Tentukan sasaran ujian anda. Sebarang ujian tidak berguna tanpa sasaran.
- Tonton pengguna akhir menggunakan aplikasi anda pada kali pertama
- Jalankan satu ujian sahaja untuk setiap kemas kini. Ini menjimatkan masa anda semasa menjalankan ujian
- Pantau ujian anda dengan teliti. Anda boleh belajar pengalaman dari ujian anda dengan memantau.
Ujian iOS Amalan terbaik
Berikut adalah beberapa petua yang harus anda ketahui semasa mengatur pengujian aplikasi iOS anda
- Uji aplikasi pada peranti sebenar untuk mengetahui prestasi
- Tingkatkan kaedah ujian anda, kerana kaedah pengujian tradisional tidak lagi mencukupi untuk merangkumi semua ujian pada ujian iOS
- Menggunakan log konsol untuk menguji aplikasi iOS. Ini adalah ciri iOS yang merangkumi maklumat dari setiap aplikasi pada peranti.
- Bug aplikasi dokumen menggunakan arahan pendek skrin terbina dalam . Ini membantu pembangun memahami bagaimana pepijat berlaku.
- Pelaporan kerosakan adalah alat yang berguna semasa menguji aplikasi anda. Mereka dapat mengesan kerosakan dan perincian log supaya anda dapat menyiasat pepijat dengan mudah.
Mitos mengenai ujian iOS
Bahagian ini meneliti beberapa mitos dan realiti pengujian iOS yang popular
Aplikasi ujian pada iOS dan Android adalah perkara yang sama.
iOS dan Android adalah dua platform yang dikembangkan oleh Apple Inc dan Google. Mereka sama sekali berbeza. Persekitaran ujian dll, kerangka ujian, bahasa pengaturcaraan.
Aplikasi ujian pada Simulator iOS sudah cukup.
Simulator iOS tidak cukup kuat untuk menguji aplikasi. Kerana Simulator iOS mempunyai beberapa batasan:
- Batasan perkakasan (Kamera, input Mikrofon, Sensor)
- UI aplikasi anda mungkin kelihatan berjalan lebih cepat dan lebih lancar daripada pada peranti
- Batasan API
- Beberapa kerangka tidak disokong (Pemain Media, Kit Kedai, UI Mesej ...)
Semua orang akan memuat turun aplikasi saya di app store kerana mempunyai banyak ciri
Semakin banyak ciri yang dimiliki oleh aplikasi anda, semakin banyak bug yang anda dapat. Tidak ada pengguna yang akan memuat turun aplikasi anda jika masih banyak kekurangan.