Panduan Pengujian Android 6.0

Android 6.0 memberi Anda kesempatan untuk memastikan aplikasi berfungsi dengan platform versi berikutnya. Rilis ini mencakup sejumlah API dan perubahan perilaku yang dapat memengaruhi aplikasi Anda, seperti yang dijelaskan dalam Ringkasan API dan Perubahan Perilaku. Dalam menguji aplikasi dengan rilis ini, ada beberapa perubahan sistem spesifik yang harus Anda fokuskan untuk memastikan pengguna memiliki pengalaman yang baik.

Panduan ini menjelaskan hal-hal dan cara menguji fitur Android 6.0 dengan aplikasi Anda. Anda harus memprioritaskan pengujian fitur khusus ini, karena dampaknya yang tinggi terhadap perilaku aplikasi:

Izin Pengujian

Model Izin baru mengubah cara izin dialokasikan untuk aplikasi Anda oleh pengguna. Sebagai ganti memberikan semua izin selama prosedur penginstalan, aplikasi Anda harus meminta izin kepada pengguna saat runtime. Bagi pengguna, perilaku ini memberikan kontrol yang lebih terperinci atas setiap aktivitas aplikasi, serta konteks yang lebih baik untuk memahami alasan aplikasi meminta izin tertentu. Pengguna dapat memberikan atau mencabut izin yang diberikan ke aplikasi satu per satu kapan saja. Fitur rilis ini kemungkinan besar akan memengaruhi perilaku aplikasi Anda dan dapat menghambat fungsi beberapa fitur aplikasi, atau mungkin kualitasnya menurun.

Perubahan ini memengaruhi semua aplikasi yang berjalan di platform baru, bahkan aplikasi yang tidak menargetkan versi platform baru. Platform ini menyediakan perilaku kompatibilitas terbatas untuk aplikasi lama, tetapi Anda harus mulai merencanakan migrasi aplikasi ke model izin baru sekarang, dengan tujuan untuk memublikasikan versi terbaru aplikasi Anda saat peluncuran platform secara resmi.

Tip pengujian

Gunakan tips pengujian berikut untuk membantu Anda merencanakan dan menjalankan pengujian aplikasi dengan perilaku izin yang baru.

  • Identifikasi izin aplikasi Anda saat ini dan lokasi kode yang terkait.
  • Uji alur pengguna pada semua layanan dan data yang dilindungi izin.
  • Uji dengan berbagai kombinasi izin yang diberikan/dicabut.
  • Gunakan alat adb untuk mengelola izin dari command line:
    • Cantumkan daftar izin dan status menurut grupnya:
      adb shell pm list permissions -d -g
    • Beri atau cabut satu atau beberapa izin menggunakan sintaksis berikut:
      adb shell pm [grant|revoke] <permission.name> ...
  • Analisis aplikasi Anda untuk mengidentifikasi layanan yang menggunakan izin.

Strategi pengujian

Perubahan izin memengaruhi struktur dan desain aplikasi Anda, serta pengalaman pengguna dan alur yang Anda berikan kepada pengguna. Anda harus menilai penggunaan izin aplikasi saat ini dan mulai merencanakan alur baru yang ingin ditawarkan. Rilis platform resmi menyediakan perilaku kompatibilitas, tetapi Anda harus merencanakan untuk mengupdate aplikasi dan tidak mengandalkan perilaku ini.

Identifikasi izin yang sebenarnya diperlukan dan digunakan aplikasi Anda, lalu temukan berbagai jalur kode yang menggunakan layanan yang dilindungi izin. Anda dapat melakukannya melalui kombinasi pengujian pada platform baru dan analisis kode. Dalam pengujian, Anda harus berfokus untuk ikut serta dalam izin runtime dengan mengubah targetSdkVersion aplikasi ke API level 23.

Uji dengan berbagai kombinasi izin yang dicabut dan ditambahkan, untuk menyoroti alur penggunaan yang bergantung pada izin. Jika dependensi tidak jelas atau logis, Anda harus mempertimbangkan pemfaktoran ulang atau pengelompokan alur tersebut untuk menghilangkan dependensi atau menjelaskan alasan izin diperlukan.

Untuk informasi selengkapnya tentang perilaku izin runtime, pengujian, dan praktik terbaik, lihat developer Bekerja dengan Izin Sistem.

Menguji Istirahatkan dan Aplikasi Siaga

Fitur penghematan daya Istirahatkan dan Aplikasi Standby membatasi jumlah pemrosesan latar belakang yang dapat dilakukan aplikasi Anda saat perangkat dalam keadaan tidak ada aktivitas atau saat aplikasi sedang tidak fokus. Pembatasan yang dapat diberlakukan oleh sistem pada aplikasi termasuk akses jaringan terbatas atau tidak ada, tugas latar belakang yang ditangguhkan, Notifikasi yang ditangguhkan, permintaan bangun yang diabaikan, serta alarm. Untuk memastikan aplikasi berperilaku dengan benar pada pengoptimalan penghematan daya ini, Anda harus menguji aplikasi dengan menyimulasikan status daya rendah ini.

Menguji aplikasi dengan mode Istirahatkan

Untuk menguji Istirahatkan dengan aplikasi Anda:

  1. Konfigurasikan hardware atau perangkat virtual dengan image sistem Android 7.0 (API level 24).
  2. Hubungkan perangkat ke mesin development lalu pasang aplikasi Anda.
  3. Jalankan aplikasi Anda dan biarkan aktif.
  4. Simulasikan perangkat yang sedang masuk ke mode Istirahatkan dengan menjalankan perintah berikut:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
    
  5. Amati perilaku aplikasi Anda saat perangkat diaktifkan kembali. Pastikan aplikasi pulih dengan baik saat perangkat keluar dari mode Istirahatkan.

Menguji aplikasi dengan Aplikasi Siaga

Untuk menguji mode Aplikasi Standby dengan aplikasi Anda:

  1. Konfigurasikan hardware atau perangkat virtual dengan image sistem Android 7.0 (API level 24).
  2. Hubungkan perangkat ke mesin development lalu pasang aplikasi Anda.
  3. Jalankan aplikasi Anda dan biarkan aktif.
  4. Simulasikan aplikasi yang sedang masuk ke mode standby dengan menjalankan perintah berikut:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
    
  5. Simulasikan pengaktifan aplikasi menggunakan perintah berikut:
    $ adb shell am set-idle <packageName> false
  6. Amati perilaku aplikasi Anda saat dibangunkan. Pastikan aplikasi pulih dengan baik dari mode standby. Secara khusus, Anda harus memeriksa apakah Notifikasi dan tugas latar belakang aplikasi terus berfungsi seperti yang diharapkan.

Auto Backup For Apps dan Identifier Perangkat Spesifik

Jika aplikasi Anda menyimpan ID khusus perangkat, seperti ID pendaftaran Google Cloud Messaging, di penyimpanan internal, pastikan untuk mengikuti praktik terbaik guna mengecualikan lokasi penyimpanan dari pencadangan otomatis, seperti yang dijelaskan dalam Mencadangkan Data Pengguna dengan Auto Backup.