• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Panduan Pengujian
2page.image=images/cards/card-n-guide_2x.png
3meta.tags="preview", "testing"
4page.tags="preview", "developer preview"
5
6@jd:body
7
8<div id="tb-wrapper">
9  <div id="tb">
10    <h2>Dalam dokumen ini</h2>
11      <ol>
12        <li><a href="#runtime-permissions">Izin Pengujian</a></li>
13        <li><a href="#doze-standby">Menguji Istirahatkan dan Aplikasi Siaga</a></li>
14        <li><a href="#ids">Pencadangan Otomatis dan Identifier Perangkat</a></li>
15      </ol>
16  </div>
17</div>
18
19<p>
20  Android N memberi Anda kesempatan untuk memastikan aplikasi bekerja pada
21  platform versi berikutnya. Pratinjau ini berisi beberapa API dan perubahan perilaku yang bisa
22  memengaruhi aplikasi Anda, sebagaimana dijelaskan dalam <a href="{@docRoot}preview/api-overview.html">Ringkasan
23  API</a> dan <a href="{@docRoot}preview/behavior-changes.html">Perubahan Perilaku</a>. Dalam menguji
24  aplikasi dengan pratinjau, ada beberapa perubahan sistem spesifik yang harus Anda fokuskan untuk
25  memastikan pengguna mendapatkan pengalaman yang bagus.
26</p>
27
28<p>
29  Panduan ini menjelaskan apa dan bagaimana menguji fitur pratinjau dengan aplikasi Anda. Anda harus
30  mengutamakan pengujian fitur pratinjau spesifik ini, dikarenakan pengaruhnya yang besar pada
31  perilaku aplikasi Anda:
32</p>
33
34<ul>
35  <li><a href="#runtime-permissions">Izin</a>
36  </li>
37  <li><a href="#doze-standby">Istirahatkan dan Aplikasi Siaga</a>
38  </li>
39  <li><a href="#ids">Pencadangan Otomatis dan Identifier Perangkat</a></li>
40</ul>
41
42<p>
43  Untuk informasi selengkapnya tentang cara menyiapkan perangkat atau perangkat maya dengan citra sistem pratinjau
44  untuk pengujian, lihat <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan
45Android N SDK</a>.
46</p>
47
48
49<h2 id="runtime-permissions">Izin Pengujian</h2>
50
51<p>
52  Model <a href="{@docRoot}preview/features/runtime-permissions.html">Izin</a> yang baru
53  mengubah cara alokasi izin untuk aplikasi Anda oleh pengguna. Sebagai ganti memberi semua
54  izin selama prosedur pemasangan, aplikasi Anda harus meminta izin kepada pengguna secara individual
55 pada waktu proses. Bagi pengguna, perilaku ini memberi kontrol yang lebih detail atas setiap aktivitas aplikasi, dan
56  juga konteks yang lebih untuk memahami sebab aplikasi meminta izin tertentu. Pengguna
57  bisa memberi atau mencabut izin yang diberikan pada suatu aplikasi secara individual kapan saja. Fitur
58  pratinjau ini kemungkinan besar memengaruhi perilaku aplikasi Anda dan mungkin menghambat fungsi beberapa
59  fitur aplikasi Anda, atau mengurangi kualitas kerjanya.
60</p>
61
62<p class="caution">
63  Perubahan ini memengaruhi semua aplikasi yang berjalan di platform baru, bahkan aplikasi yang tidak menargetkan versi
64  platform baru. Platform ini memberikan perilaku kompatibilitas terbatas untuk aplikasi lawas, namun Anda
65  harus mulai merencanakan migrasi aplikasi ke model izin baru sekarang juga, dengan tujuan
66  mempublikasikan versi terbaru aplikasi Anda saat peluncuran platform secara resmi.
67</p>
68
69
70<h3 id="permission-test-tips">Tip pengujian</h3>
71
72<p>
73  Gunakan tip berikut untuk membantu Anda merencanakan dan menjalankan pengujian aplikasi dengan
74  perilaku izin yang baru.
75</p>
76
77<ul>
78  <li>Identifikasi izin aplikasi Anda saat ini dan jalur kode terkait.</li>
79  <li>Uji alur pengguna pada semua layanan dan data yang dilindungi izin.</li>
80  <li>Uji dengan berbagai kombinasi izin yang diberikan/dicabut.</li>
81  <li>Gunakan alat bantu {@code adb} untuk mengelola izin dari baris perintah:
82    <ul>
83      <li>Cantumkan daftar izin dan status berdasarkan kelompok:
84        <pre>adb shell pm list permissions -d -g</pre>
85      </li>
86      <li>Beri atau cabut satu atau beberapa izin menggunakan sintaks berikut:<br>
87        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
88      </li>
89    </ul>
90  </li>
91  <li>Analisis aplikasi Anda untuk layanan yang menggunakan izin.</li>
92</ul>
93
94<h3 id="permission-test-strategy">Strategi pengujian</h3>
95
96<p>
97  Perubahan izin memengaruhi struktur dan desain aplikasi Anda, begitu juga
98  pengalaman pengguna dan alur yang Anda sediakan untuk pengguna. Anda harus menilai penggunaan izin
99  aplikasi saat ini dan mulai merencanakan alur baru yang ingin ditawarkan. Rilis platform
100  resmi menyediakan perilaku kompatibilitas, namun Anda harus merencanakan pembaruan aplikasi dan tidak
101  bergantung pada perilaku ini.
102</p>
103
104<p>
105  Identifikasi izin yang sebenarnya diperlukan dan digunakan aplikasi Anda, kemudian temukan berbagai
106  jalur kode yang menggunakan layanan yang dilindungi izin. Anda bisa melakukan ini melalui kombinasi
107  pengujian pada platform baru dan analisis kode. Dalam pengujian, Anda harus fokus pada pemilihan
108 izin waktu proses dengan mengubah {@code targetSdkVersion} aplikasi ke versi pratinjau. Untuk
109  informasi selengkapnya, lihat <a href="{@docRoot}preview/setup-sdk.html#">Menyiapkan
110Android N SDK</a>.
111</p>
112
113<p>
114  Uji dengan berbagai kombinasi izin yang dicabut dan ditambahkan, untuk menyoroti alur pengguna yang
115  bergantung pada izin. Jika dependensi tidak jelas atau logis, Anda harus mempertimbangkan
116optimalisasi atau kompartementalisasi alur tersebut untuk mengeliminasi dependensi atau menjelaskan alasan
117  diperlukannya izin.
118</p>
119
120<p>
121  Untuk informasi selengkapnya tentang perilaku izin waktu proses, pengujian, dan praktik terbaik, lihat
122  halaman pratinjau <a href="{@docRoot}preview/features/runtime-permissions.html">Izin</a>
123  pengembang.
124</p>
125
126
127<h2 id="doze-standby">Menguji Istirahatkan dan Aplikasi Siaga</h2>
128
129<p>
130  Fitur penghematan daya Istirahatkan dan Aplikasi Siaga membatasi jumlah pemrosesan latar belakang yang
131  bisa dikerjakan aplikasi Anda saat perangkat dalam keadaan diam atau saat aplikasi Anda sedang tidak fokus. Pembatasan
132  yang dapat diberlakukan oleh sistem pada aplikasi termasuk akses jaringan terbatas atau tidak ada,
133  tugas latar belakang yang ditangguhkan, Pemberitahuan yang ditangguhkan, permintaan membangunkan yang diabaikan, serta alarm. Untuk memastikan
134  aplikasi Anda berperilaku dengan benar pada optimalisasi penghematan daya ini, Anda harus menguji aplikasi dengan
135 menyimulasikan keadaan baterai yang sedang tinggal sedikit ini.
136</p>
137
138<h4 id="doze">Menguji aplikasi Anda dengan Istirahatkan</h4>
139
140<p>Untuk menguji Istirahatkan dengan aplikasi Anda:</p>
141
142<ol>
143<li>Konfigurasikan perangkat keras atau perangkat maya dengan citra sistem Android N.</li>
144<li>Hubungkan perangkat dengan mesin pengembangan dan pasang aplikasi Anda.</li>
145<li>Jalankan aplikasi Anda dan biarkan aktif.</li>
146<li>Simulasikan perangkat yang sedang masuk ke dalam mode Istirahatkan dengan menjalankan perintah berikut:
147
148<pre>
149$ adb shell dumpsys battery unplug
150$ adb shell dumpsys deviceidle step
151$ adb shell dumpsys deviceidle -h
152</pre>
153
154  </li>
155  <li>Amati perilaku aplikasi Anda saat perangkat diaktifkan kembali. Pastikan aplikasi
156    pulih dengan baik saat perangkat keluar dari Istirahatkan.</li>
157</ol>
158
159
160<h4 id="standby">Menguji aplikasi dengan Aplikasi Siaga</h4>
161
162<p>Untuk menguji mode Aplikasi Siaga dengan aplikasi Anda:</p>
163
164<ol>
165  <li>Konfigurasikan perangkat keras atau perangkat maya dengan citra sistem Android N.</li>
166  <li>Hubungkan perangkat dengan mesin pengembangan dan pasang aplikasi Anda.</li>
167  <li>Jalankan aplikasi Anda dan biarkan aktif.</li>
168  <li>Simulasikan aplikasi yang sedang masuk ke dalam mode siaga dengan menjalankan perintah berikut:
169
170<pre>
171$ adb shell am broadcast -a android.os.action.DISCHARGING
172$ adb shell am set-idle &lt;packageName&gt; true
173</pre>
174
175  </li>
176  <li>Simulasikan membangunkan aplikasi Anda menggunakan perintah berikut:
177    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
178  </li>
179  <li>Amati perilaku aplikasi Anda saat dibangunkan. Pastikan aplikasi pulih dengan baik
180   dari mode siaga. Secara khusus, Anda harus memeriksa apakah Pemberitahuan aplikasi dan pekerjaan latar belakang
181   tetap berjalan sebagaimana yang diharapkan.</li>
182</ol>
183
184<h2 id="ids">Auto Backup for Apps dan Identifier Perangkat Spesifik</h2>
185
186<p>Jika aplikasi Anda mempertahankan identifier perangkat spesifik, seperti ID pendaftaran Google
187Cloud Messaging, dalam penyimpanan internal,
188pastikan Anda mengikuti praktik terbaik untuk mengecualikan lokasi
189penyimpanan dari pencadangan otomatis, seperti dijelaskan dalam <a href="{@docRoot}preview/backup/index.html">Auto
190Backup for Apps</a>. </p>
191