الجودة الأساسية للتطبيق

هذه نسخة مؤرشفة، وتم تعديلها آخر مرة في 10 شباط (فبراير) 2021. ويمكنك أيضًا الاطّلاع على الإرشادات الحالية.

تحدد قائمة التحقق هذه مجموعة من معايير الجودة الأساسية والاختبارات المرتبطة بها لمساعدتك في تقييم جودة تطبيقك. قد يكون من السهل تفويت بعض هذه المعايير، وتساعدك الاختبارات على تذكر تضمينها في خطط الاختبار.

تُبرز قائمة التحقق الحد الأدنى من الجودة التي يجب أن تستوفيها جميع التطبيقات. من المحتمل أن يتجاوز اختبارك ما هو موضح هنا.

يحتوي كل عنصر في قائمة التحقق من الجودة على معرف فريد قد تجده مفيدًا عند التواصل مع فريقك.

التجربة البصرية

يجب أن يوفّر تطبيقك تصميمًا مرئيًا عاديًا لنظام التشغيل Android وأنماط تفاعل عند اللزوم، للحصول على تجربة مستخدم متسقة وسهلة.

المنطقة رقم التعريف اختبارات الوصف
التنقّل VX-N1 CR-3 يدعم التطبيق التنقل باستخدام زر الرجوع القياسي ولا يستفيد من أي طلبات مخصّصة تظهر على "زر الرجوع".
VX-N2 CR-3 يتيح التطبيق التنقّل بالإيماءات للرجوع أو الانتقال إلى الشاشة الرئيسية.
VX-N3 CR-1
CR-3
CR-5

يحتفظ التطبيق بحالة المستخدم أو التطبيق ويستعيدها بشكل صحيح.

يحافظ التطبيق على حالة المستخدم أو التطبيق عند مغادرة المقدّمة ويمنع فقدان البيانات غير المقصود بسبب التنقُّل للخلف أو تغييرات الحالة الأخرى.

عند العودة إلى المقدّمة، يجب أن يستعيد التطبيق الحالة التي تم الاحتفاظ بها وأي معاملة مهمة كانت في انتظار المراجعة. تشمل الأمثلة: التغييرات في الحقول القابلة للتعديل، ومستوى التقدّم في اللعبة، والقوائم، والفيديوهات، والأقسام الأخرى في التطبيق أو اللعبة.

  1. عند استئناف التطبيق من مبدِّل التطبيقات الأخيرة، يعيد التطبيق المستخدم إلى الحالة التي تم استخدامه فيها آخر مرة.
  2. عند استئناف التطبيق بعد تنشيط الجهاز من حالة السكون (مقفل)، يعيد التطبيق المستخدم إلى الحالة المحددة التي تم استخدامه فيها آخر مرة.
  3. عند إعادة تشغيل التطبيق من "الشاشة الرئيسية" أو من "جميع التطبيقات"، من المفترض أن يتم تنفيذ أحد الإجراءات التالية، بناءً على مقدار الوقت المنقضي منذ استخدامه آخر مرة:
    • إذا تم استخدام التطبيق آخر مرة قبل فترة قصيرة (دقائق)، يمكنك استعادة حالة التطبيق قدر الإمكان إلى حالته السابقة.
    • إذا انقضى وقت أطول منذ آخر استخدام للتطبيق، حاوِل استعادة التطبيق بأكبر قدر ممكن من حالته السابقة أو يمكنك بدء تشغيله من الشاشة الرئيسية أو أي حالة تلقائية أخرى.
الإشعارات VX-S1 CR-9

تتبع الإشعارات إرشادات التصميم متعدد الأبعاد. ويتضمن ذلك على وجه الخصوص:

  1. لا يتم استخدام الإشعارات للترويج المتبادل أو للإعلان عن منتج آخر، لأنّ ذلك محظور تمامًا في "متجر Play".
  2. حدد قنوات الإشعارات بالشكل المناسب وفقًا لأفضل الممارسات، بدلاً من عرض كل الإشعارات من قناة واحدة.
  3. اختيار الأولوية الصحيحة للإشعارات
  4. يتم تجميع الإشعارات المتعددة في مجموعة إشعارات واحدة، حيثما أمكن.
  5. اضبط المهلات للإشعارات حيثما كان ذلك مناسبًا.
  6. لا يستمر ظهور الإشعارات إلا إذا كانت مرتبطة بالأحداث الجارية، مثل تشغيل الموسيقى (يتوفّر المزيد من المعلومات ضمن قسم الوظائف) أو إجراء مكالمة هاتفية.
VX-S2 CR-9

بالنسبة إلى تطبيقات المراسلة أو التطبيقات الاجتماعية والمحادثات:

  1. استخدِم إشعارات MessagingStyle للمحادثات.
  2. دعم إجراء الرد المباشر.
  3. ادعم اختصارات المحادثات ونفِّذ أفضل الممارسات للحصول على أفضل ترتيب للمشاركة المباشرة.
  4. ادعم الفقاعات التفسيرية.
واجهة المستخدم والرسومات VX-U1 CR-5 يدعم التطبيق كلاً من الاتجاهات الأفقية والرأسية (إن أمكن).

تكشف الاتجاهات إلى حد كبير عن الميزات والإجراءات نفسها وتحافظ على التكافؤ الوظيفي. يتم قبول إجراء تغييرات طفيفة على المحتوى أو عدد المشاهدات.

VX-U2 CR-5 يستخدم التطبيق الشاشة بأكملها في كلا الاتجاهين ولا يستخدم شاشة عريضة أفقيًا لمراعاة تغييرات الاتجاه.

يُسمح باستخدام أشرطة أفقية صغيرة للتعويض عن الاختلافات الطفيفة في هندسة الشاشة.

VX-U3 CR-5 يعالج التطبيق بشكل صحيح الانتقالات السريعة بين اتجاهات العرض بدون مشاكل في العرض أو فقدان الحالة.
جودة المرئيات VX-V1 CR-all

يعرض التطبيق رسومات ونصوصًا وصورًا وغيرها من عناصر واجهة المستخدِم بدون تشوّه أو تمويه أو تقطيع ملحوظ.

  1. يجب أن يستخدم التطبيق ملفات متجهات قابلة للرسم متى أمكن ذلك.
  2. يوفر التطبيق رسومات عالية الجودة لجميع أحجام الشاشات المستهدفة وعوامل التصميم.
  3. لا يتم عرض أي أسماء مستعارة على حواف القوائم والأزرار وعناصر واجهة المستخدم الأخرى.
VX-V2 CR-all

يعرض التطبيق مربّعات نصية وطريقة مقبولة لكل لغة من اللغات المتاحة في التطبيق.

  1. يُسمح بالمقطوعة الموسيقية في كل أشكال الأجهزة المتوافقة.
  2. ولا تظهر أيّ كلمات أو أحرف مقطوعة.
  3. لا تظهر التفافات كلمة غير صحيحة داخل الأزرار أو الرموز.
  4. هناك مسافات كافية بين النص والعناصر المحيطة.
VX-V3 CR-all يتوافق محتوى التطبيق وجميع محتوى الويب المشار إليه من خلال التطبيق مع المظهر الداكن.

الوظائف

يجب أن ينفِّذ تطبيقك السلوك الوظيفي المتوقّع.

المنطقة رقم التعريف اختبارات الوصف
الصوت FN-A1 CR-1
CR-8
ويتم استئناف تشغيل الصوت عند عودة التطبيق إلى المقدّمة، أو يشير إلى المستخدم بأنّ التشغيل في حالة إيقاف مؤقت.
FN-A2 CR-1
CR-2
CR-8
إذا كان تشغيل الصوت ميزة أساسية، يجب أن يتيح التطبيق إمكانية التشغيل في الخلفية.
FN-A3 CR-0

عندما يبدأ المستخدم تشغيل الصوت، يجب أن ينفّذ التطبيق أحد الإجراءات التالية في غضون ثانية واحدة:

  1. ابدأ تشغيل الصوت.
  2. توفير مؤشر مرئي يشير إلى أن البيانات الصوتية قيد الإعداد.
FN-A4 CR-0 يجب أن يطلب التطبيق ضبط التركيز على الصوت عند بدء تشغيل الصوت، وسيتم إلغاء تركيز الصوت عند إيقاف التشغيل.
FN-A5 CR-0 يجب أن يعالج التطبيق طلبات التطبيقات الأخرى للتركيز على الصوت. على سبيل المثال، قد يقلل أحد التطبيقات مستوى صوت التشغيل عند تشغيل تطبيق آخر للكلام.
الوسائط FN-M1 CR-0
CR-6
CR-8
إذا شغّل التطبيق الصوت في الخلفية، يجب إنشاء إشعار بنمط الوسائط.
FN-M2 CR-0 إذا كان التطبيق يشغّل فيديو، من المفترض أن تتوفّر إمكانية تشغيل نافذة ضمن النافذة.
FN-M3 CR-0 إذا كان التطبيق يشفّر الفيديو، يجب إجراء ذلك باستخدام معيار ضغط الفيديو HEVC.
المشاركة FN-S1 CR-0 يجب أن يستخدم التطبيق ورقة مشاركة Android عند مشاركة المحتوى. يمكنها اقتراح أهداف غير متوفّرة للحلول المخصّصة.
خدمة تُشغَّل في الخلفية FN-B1 CR-6 يتجنّب التطبيق تشغيل خدمات الخلفية متى أمكن. لضمان التشغيل السلس لجهاز المستخدم، يطبق النظام قيودًا متعددة على خدمات الخلفية. لا تُعد هذه الاستخدامات الجيدة للخدمات التي تعمل في الخلفية:
  • الاحتفاظ بالاتصال بالشبكة لإرسال الإشعارات
  • الاحتفاظ باتصال البلوتوث
  • إبقاء نظام تحديد المواقع العالمي (GPS) في وضع التشغيل

تعرَّف على كيفية اختيار الحل المناسب لعملك.

FN-B2 CR-10 يتوافق التطبيق بشكل صحيح مع ميزات إدارة الطاقة التي تم تقديمها في Android 6.0 (القيلولة وتطبيقات وضع الاستعداد). وفي حال تعطُّل الوظيفة الأساسية بسبب إدارة الطاقة، يمكن فقط للتطبيقات المؤهَّلة أن تطلب إعفاءً. يمكنك الاطّلاع على إتاحة حالات الاستخدام الأخرى في وضعَي "القيلولة" و"تطبيقات وضع الاستعداد".

الأداء والثبات

يجب أن يوفّر تطبيقك مستوى الأداء والثبات والتوافق والاستجابة التي يتوقعها المستخدمون.

المنطقة رقم التعريف اختبارات الوصف
الثبات PS-S1 CR-all
SD-1
لا يتسبّب التطبيق في تعطُّل أو حظر سلسلة محادثات واجهة المستخدم التي تؤدي إلى حدوث أخطاء ANR (عدم استجابة Android"). الاستفادة من تقرير الإطلاق التجريبي من Google Play لتحديد أي مشاكل محتملة متعلّقة بالثبات بعد النشر، يُرجى الانتباه إلى صفحة مؤشرات Android الحيوية في Google Play Developer Console.
عروض أداء نظام PS-P1 CR-all
SD-1
يتم تحميل التطبيق بسرعة أو يقدم ملاحظات على الشاشة للمستخدم (مؤشر مستوى التقدم أو إشارة مماثلة) إذا استغرق تحميل التطبيق أكثر من ثانيتين.
PS-P2 CR-all
SD-1
يجب أن تعرض التطبيقات الإطارات كل 16 ملي ثانية للوصول إلى 60 لقطة في الثانية. يمكن للمطوّرين استخدام خيار عرض HWUI للملف الشخصي في الاختبار. وإذا كان هناك مشاكل، تتوفّر أدوات للمساعدة في تشخيص بطء العرض.
نظام PS-P3 م-1 عند تفعيل StrictMode (يُرجى الاطّلاع على StrictMode Testing أدناه)، لا تظهر وميضات حمراء (تحذيرات الأداء من StrictMode) عند اختبار التطبيق. تشير أي وميضات حمراء إلى حدوث سلوكيات سيئة في ما يتعلّق بمساحة التخزين أو الوصول إلى الشبكة أو تسرُّب في الذاكرة.
SDK PS-T1 CR-0 يعمل التطبيق على أحدث إصدار متاح للجميع من نظام Android الأساسي بدون حدوث أعطال أو تأثير كبير في الوظائف الأساسية.
PS-T2 SP-1 يستهدف التطبيق أحدث حزمة تطوير برامج (SDK) لنظام التشغيل Android من خلال ضبط القيمة targetSdk.
PS-T3 SP-1 تم إنشاء التطبيق باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK) من خلال ضبط قيمة compileSdk.
PS-T4 SP-2
SP-3
وتكون أي حِزم تطوير برامج (SDK) تابعة لجهات خارجية مُحدَّثة. ومن المفترض أن تتم إتاحة أي تحسينات يتم إجراؤها على حِزم SDK هذه، مثل تعزيز الثبات أو التوافق أو الأمان، وذلك للمستخدمين في الوقت المناسب.

يتحمّل المطوّر مسؤولية حماية قاعدة رموز التطبيق بالكامل، بما في ذلك أي حِزم تطوير برامج (SDK) تابعة لجهات خارجية يتم استخدامها.
PS-T5 CR-0 لا يستخدم التطبيق واجهات غير متوفرة في حزمة SDK.
البطارية PS-B1 BA-1 يتوافق التطبيق بشكل صحيح مع ميزات إدارة الطاقة التي تم تقديمها في Android 6.0 (القيلولة وتطبيقات وضع الاستعداد). وفي حال تعطُّل الوظيفة الأساسية بسبب إدارة الطاقة، يمكن فقط للتطبيقات المؤهَّلة أن تطلب إعفاءً. خلال مرحلة التطوير، يمكن لمطوّري التطبيقات اختبار وضع الاستعداد للتطبيق وطريقة النوم باستخدام أوامر ADB هذه.

في ما يتعلّق باستخدام البطارية، يمكن للمطوّرين استخدام محلّل الطاقة في "استوديو Android" أو أداة Battery Historian جنبًا إلى جنب مع العمل المخطط له في الخلفية لتشخيص الاستخدام غير المتوقّع للبطارية.

الخصوصية والأمان

يجب أن يتعامل تطبيقك مع بيانات المستخدمين ومعلوماتهم الشخصية بأمان، بمستوى الإذن المناسب.

بالإضافة إلى قائمة التحقّق هذه، يجب أن تتّبع التطبيقات المنشورة على "متجر Google Play" أيضًا سياسات بيانات المستخدمين لحماية خصوصية المستخدمين.

المنطقة رقم التعريف اختبارات الوصف
الأذونات فئة SC-P1 مرحلة الاختبار 4 لا يطلب التطبيق سوى الحد الأدنى المطلق من الأذونات التي يحتاج إليها لتوفير حالة الاستخدام المطروحة. بالنسبة إلى بعض الأذونات مثل الموقع الجغرافي، استخدِم الموقع الجغرافي التقريبي بدلاً من الموقع الدقيق إن أمكن.
فئة SC-P2

يجب ألا يطلب التطبيق إذنًا بالوصول إلى البيانات الحساسة إلا إذا كانت مرتبطة مباشرةً بحالات الاستخدام الأساسية للتطبيقات (مثل الرسائل القصيرة SMS أو سجلّ المكالمات أو الموقع الجغرافي) أو الخدمات التي تتطلب رسومًا مالية (مثل برنامج الاتصال أو الرسائل القصيرة SMS). ويجب الإفصاح للمستخدم بوضوح عن الآثار المترتبة على هذه الأذونات.

وبناءً على كيفية استخدامك للأذونات، قد تتوفر طريقة بديلة لتنفيذ حالة استخدام تطبيقك بدون الاعتماد على الوصول إلى المعلومات الحساسة. على سبيل المثال، بدلاً من طلب أذونات ذات صلة بجهات اتصال المستخدم، قد يكون من الأنسب طلب إذن الوصول باستخدام هدف ضمني.

معيار SC-P3 CR-0 يطلب التطبيق أذونات وقت التشغيل في السياق المناسب عند طلب الوظيفة، بدلاً من أن يكون ذلك مقدمًا أثناء بدء تشغيل التطبيق.
معيار SC-P4 CR-0

يجب أن يصمم التطبيق تجربة المستخدم الخاصة به ليوضح بوضوح سبب الحاجة إلى أذونات معينة. وإذا لم يكن ذلك ممكنًا، يجب اتّباع الخطوات المُقترَحة لتوضيح سبب احتياج ميزة في تطبيقك إلى إذن.

يجب أن يتم خفض مستوى الوصول إلى حدّ كبير مع التطبيق عند رفض المستخدمين للإذن أو إبطاله. يجب ألا يمنع التطبيق المستخدم من الوصول إلى التطبيق تمامًا.

البيانات والملفات SC-DF1 مرحلة الاختبار 1 ويتم تخزين جميع البيانات الحسّاسة في وحدة التخزين الداخلية للتطبيق.
SC-DF2 SC-10 لا يتم تسجيل أي بيانات شخصية أو حساسة للمستخدم في سجل النظام أو سجل خاص بالتطبيق.
SC-DF3 يجب ألا يستخدم التطبيق أي معرّفات أجهزة غير قابلة لإعادة الضبط، مثل IMEI، لأغراض تحديد الهوية.
الهوية رقم تعريف SC-ID1 CR-0 تقديم تلميحات للملء التلقائي ببيانات اعتماد الحساب والمعلومات الحساسة الأخرى، مثل معلومات بطاقة الائتمان والعنوان الجغرافي ورقم الهاتف.
رقم تعريف SC-ID2 CR-0 يمكنك دمج ميزة نقرة واحدة على نظام التشغيل Android للاستفادة من تجربة تسجيل دخول سلسة.
رقم تعريف SC-ID3 CR-0 يمكنك دمج المصادقة بالمقاييس الحيوية لحماية المعاملات المالية أو المعلومات الحسّاسة، مثل مستندات المستخدم المهمة.
مكوّنات التطبيق SC-AC1 SC-5 لا يتم تصدير سوى مكوّنات التطبيقات التي تشارك البيانات مع التطبيقات الأخرى أو المكوّنات التي يجب استدعاؤها من تطبيقات أخرى.

يشمل ذلك الأنشطة والخدمات وأجهزة استقبال البث وموفّري المحتوى على وجه الخصوص.

اضبط السمة android:exported دائمًا بشكل صريح لتقليل الالتباس بشأن القيمة التلقائية.

معيار SC-AC2 CR-0
SC-4

تتّبع جميع الأهداف وعمليات البث أفضل الممارسات:

  1. استخدِم أهدافًا صريحة إذا كان تطبيق الوجهة محدّدًا بشكل جيد.
  2. استخدِم أهداف Intent لتأجيل الأذونات لتطبيق آخر لديه الإذن.
  3. مشاركة البيانات بأمان في مختلف التطبيقات
  4. إنّ الأغراض التي تحتوي على حمولة يتم التحقّق منها قبل الاستخدام.
  5. إذا كنت بحاجة إلى تمرير Intent إلى تطبيق آخر، لكي يتمكّن التطبيق المتلقّي من الاتصال وتوقُّع معاودة الاتصال في تطبيق الاتصال، لا تُدرِج هدفًا مدمجًا في العناصر الإضافية. استخدام PendingIntent
  6. عند إعداد رموز PendingIntent، يجب ضبط العلامة غير القابل للتغيير صراحةً، حيثما ينطبق ذلك.
معيار SC-AC3 SC-3 يستخدم جميع موفّري المحتوى الذين يشاركون المحتوى بين تطبيقاتك android:protectionLevel="signature" للحصول على أذونات مخصّصة. ويشمل ذلك الأنشطة والخدمات وأجهزة استقبال البث، وخاصةً موفّري المحتوى. يجب ألا تعتمد معظم التطبيقات على الوصول إلى قائمة الحزم المثبتة. تم حظر الوصول إليها بدءًا من نظام التشغيل Android 11.
اتصال بالشبكات SC-N1 SC-9 وتُرسَل جميع حركات بيانات الشبكة عبر طبقة المقابس الآمنة.
SC-N2 SC-6 يوضِّح التطبيق إحدى إعدادات أمان الشبكة.
SC-N3 إذا كان التطبيق يستخدم "خدمات Google Play"، يتم إعداد موفِّر الأمان عند بدء تشغيل التطبيق.
مكتبات SC-U1 SP-2 جميع المكتبات وحِزم تطوير البرامج (SDK) والتبعيات محدَّثة.
SC-U2 لم يتم تضمين أي مكتبات تصحيح أخطاء في تطبيق الإنتاج. يمكن أن يؤدي ذلك إلى مشاكل في الأداء بالإضافة إلى الأمان.
مكوّنات WebView SC-W1 SC-6 لا تستخدِم setAllowUniversalAccessFromFileURLs() للوصول إلى المحتوى المحلي. استخدِم بدلاً من ذلك WebViewAssetLoader.
معيار SC-W2 SC-7 يجب ألا تستخدم مكوّنات WebView AddJavaScriptInterface() بمحتوى غير موثوق به.

على نظام التشغيل Android 6.0 والإصدارات الأحدث، استخدِم قنوات رسائل HTML بدلاً من ذلك.

التنفيذ معيار SC-E1 لا يحمِّل التطبيق بشكل ديناميكي الرمز من خارج حزمة APK الخاصة بالتطبيق. على المطوّرين استخدام حِزم تطبيقات Android التي تشمل عرض الميزات في Play وعرض المواد في Play.

اعتبارًا من آب (أغسطس) 2021، سيصبح استخدام تنسيق "مجموعة حزمات تطبيق Android" إلزاميًا لجميع التطبيقات الجديدة في "متجر Google Play".

التشفير SC-C1 يستخدم التطبيق خوارزميات تشفير قوية توفّرها منصة معيّنة وأداة لإنشاء أرقام عشوائية. لا ينفّذ التطبيق أيضًا خوارزميات مخصصة.

Google Play

تأكَّد من إمكانية نشر تطبيقاتك على Google Play.

المنطقة رقم التعريف اختبارات الوصف
السياسات GP-P1 GP-all يتقيّد التطبيق بشدة ببنود سياسة المحتوى للمطوّرين على Google Play ولا يقدّم محتوى غير ملائم ولا يستخدم الملكية الفكرية أو العلامة التجارية للآخرين وما إلى ذلك.
GP-P2 GP-1 يتم تحديد مستوى الفئة العمرية المناسبة للتطبيق استنادًا إلى إرشادات تقييم المحتوى.
صفحة تفاصيل التطبيق GP-D1 GP-1
GP-2

يتّبع الرسم المميز للتطبيق الإرشادات الموضّحة في مقالة الدعم هذه. تأكَّد مما يلي:

  1. تتضمن قائمة التطبيق رسمًا مميزًا عالي الجودة.
  2. ولا يحتوي الرسم المميز على صور من الجهاز أو لقطات شاشة أو نصًا صغيرًا لن يكون مقروءًا عند تصغيره وعرضه على أصغر حجم شاشة يستهدفه تطبيقك.
  3. لا يشبه الرسم المميز الإعلان.
GP-D2 GP-1 لا تُظهر لقطات الشاشة والفيديوهات الخاصة بالتطبيق أجهزة غير Android أو تشير إليها.
GP-D3 GP-1 لا تمثّل لقطات الشاشة أو الفيديوهات الخاصة بالتطبيق محتوى التطبيق وتجربته بطريقة مضلِّلة.
دعم المستخدم GP-X1 GP-1 تتم معالجة الأخطاء الشائعة التي يبلّغ عنها المستخدمون في علامة التبويب "المراجعات" في صفحة Google Play إذا كانت قابلة للتكرار وتحدث على العديد من الأجهزة المختلفة. وفي حال حدوث خطأ على عدد قليل من الأجهزة فقط، لا يزال يتعين عليك معالجته إذا كانت هذه الأجهزة شائعة أو جديدة بشكل خاص.

إعداد بيئة اختبار

بغرض إعداد بيئة اختبار لقائمة التحقق هذه، ننصحك بما يلي:

  • التركيز على اختبار المحاكي - يُعد محاكي Android طريقة رائعة لاختبار تطبيقك ضمن إصدارات مختلفة من Android ودرجات دقة الشاشة. يجب إعداد أجهزة تمت محاكاتها (AVD) لتمثيل أكثر أشكال الأجهزة شيوعًا ومجموعات الأجهزة/البرامج لقاعدة المستخدمين المستهدَفين.
  • الأجهزة - يجب أن تتضمن بيئة الاختبار عددًا صغيرًا من الأجهزة الفعلية التي تمثل أشكال الأجهزة الرئيسية وتركيبات الأجهزة/البرامج المتاحة حاليًا للمستهلكين. ليس من الضروري إجراء اختبار على كل جهاز معروض في السوق، بل يجب التركيز على عدد صغير من الأجهزة التمثيلية، حتى باستخدام جهاز أو جهازين لكل شكل جهاز.
  • الميزات الاختبارية لاختبار الأجهزة: يمكنك أيضًا استخدام خدمات تابعة لجهات خارجية، مثل Firebase Test Lab، لاختبار تطبيقك على مجموعة متنوعة من الأجهزة.
  • الاختبار باستخدام أحدث إصدار من Android: بالإضافة إلى اختبار إصدارات Android النموذجية لقاعدة المستخدمين المستهدفين، عليك دائمًا اختبار الإصدارات باستخدام أحدث إصدار من Android (الإصدار 11 حاليًا من نظام التشغيل Android). ويضمن ذلك عدم تأثير أحدث التغييرات في السلوك سلبًا في تجربة المستخدم.

للحصول على إرشادات أكثر شمولاً حول الاختبار، بما في ذلك اختبار الوحدات واختبار الدمج واختبار واجهة المستخدم، يمكنك الاطّلاع على أساسيات اختبار Android.

إجراءات الاختبار

تساعدك إجراءات الاختبار هذه في اكتشاف أنواع مختلفة من مشاكل الجودة في تطبيقك. ويمكنك دمج الاختبارات أو دمج مجموعات من الاختبارات معًا في خطط الاختبار الخاصة بك. ويمكنك الاطّلاع على الأقسام أعلاه لمعرفة المراجع التي تربط المعايير بإجراءات الاختبار هذه.

Type الاختبار الوصف
الحزمة الأساسية CR-0

انتقل إلى جميع أجزاء التطبيق - جميع الشاشات ومربعات الحوار والإعدادات وجميع تدفقات المستخدمين.

  1. وإذا كان التطبيق يتيح التعديل أو إنشاء المحتوى أو تشغيل الألعاب أو تشغيل الوسائط، احرص على اختبار هذه المسارات.
  2. أثناء اختبار التطبيق، يمكنك إحداث انقطاعات من تطبيقات أخرى، مثل تلقّي إشعار أو مكالمة هاتفية، وتطبيق التغييرات العابرة على سمات الجهاز، مثل الاتصال بالشبكة ووظيفة البطارية ومدى توفُّر نظام تحديد المواقع العالمي (GPS) وحِمل النظام.
  3. إدخال واختبار جميع مسارات الشراء داخل التطبيق
CR-1 من كل شاشة تطبيق، اضغط على مفتاح الشاشة الرئيسية للجهاز أو مرِّر سريعًا للأعلى أثناء التنقّل بالإيماءات، ثم أعِد تشغيل التطبيق من شاشة "جميع التطبيقات".
CR-2 من كل شاشة تطبيق، انتقل إلى تطبيق آخر قيد التشغيل، ثم ارجع إلى التطبيق قيد الاختبار باستخدام مبدِّل التطبيقات التي تم استخدامها مؤخرًا.
CR-3 من كل شاشة تطبيق (ومربعات حوار)، اضغط على الزر "رجوع" أو استخدِم إيماءة التمرير السريع إلى الخلف.
CR-5 من كل شاشة تطبيق، يُرجى تدوير الجهاز بين الاتجاه الأفقي والعمودي ثلاث مرات على الأقل.
سي تي 6 يُرجى التبديل إلى تطبيق آخر لإرسال التطبيق التجريبي إلى الخلفية. انتقِل إلى "الإعدادات" وتحقّق مما إذا كان التطبيق التجريبي يتضمّن أي خدمات تعمل في الخلفية. في نظام التشغيل Android 4.0 والإصدارات الأحدث، انتقل إلى شاشة "التطبيقات" وابحث عن التطبيق في علامة التبويب "قيد التشغيل".
CR-7 اضغط على زر التشغيل لضبط الجهاز على وضع السكون، ثم اضغط على زر التشغيل مرة أخرى لتنشيط الشاشة.
CR-8 اضبط قفل شاشة على الجهاز. اضغط على زر التشغيل لضبط الجهاز على وضع السكون (مما يؤدي إلى قفل الجهاز). بعد ذلك، اضغط على زر التشغيل مرة أخرى لتنشيط الشاشة وفتح قفل الجهاز.
CR-9 شغِّل جميع أنواع الإشعارات التي يمكن للتطبيق عرضها وراقبها في درج الإشعارات. وسّع الإشعارات حيثما أمكن (Android 4.1 والإصدارات الأحدث)، وانقر على كل الإجراءات المتاحة.
CR-10 يمكنك مراجعة الدعم لحالات الاستخدام الأخرى في القيلولة وتطبيقات وضع الاستعداد.
التثبيت على بطاقة SD دقة عادية-1 كرِّر المجموعة الأساسية مع التطبيق المثبّت على بطاقة SD للجهاز (إذا كان التطبيق يدعم طريقة التثبيت هذه).

لنقل التطبيق إلى بطاقة SD، يمكنك استخدام الإعدادات > معلومات التطبيق > نقل إلى بطاقة SD.

الأداء والثبات SP-1 راجِع ملف بيان Android وأنشِئ الإعدادات للتأكُّد من إنشاء التطبيق وفقًا لأحدث حزمة SDK متاحة (targetSdk وcompileSdk).
SP-2 راجِع ملف build.gradle بحثًا عن أي تبعيات قديمة.
SP-3 استخدام أداة Android Studio lint لاكتشاف استخدام الواجهة غير المرتبطة بحزمة SDK. تتوفر أيضًا طرق اختبار بديلة أخرى.
مراقبة الأداء PM-1 كرِّر الحزمة الأساسية مع تفعيل تحليل StrictMode.

انتبه جيدًا لجمع البيانات المهملة وتأثيرها على تجربة المستخدم.

البطارية BA-1 كرِّر الحزمة الأساسية في دورات القيلولة وتطبيقات وضع الاستعداد.

انتبِه جيدًا إلى المنبّهات والموقّتات والإشعارات والمزامنات وما إلى ذلك. يُرجى الاطّلاع على مقالة الاختبار باستخدام ميزة "القيلولة" و"تطبيقات وضع الاستعداد" للتعرّف على المتطلبات والإرشادات.

الأمان SC-1 راجِع جميع البيانات المخزَّنة في وحدة التخزين الخارجية.
SC-2 مراجعة كيفية معالجة ومعالجة البيانات التي يتم تحميلها من وحدة التخزين الخارجية.
SC-3 مراجعة جميع موفّري المحتوى المحدّدين في ملف بيان Android تأكَّد من أنّ كل مقدّم خدمة لديه سمة protectionLevel مناسبة.
SC-4 راجِع جميع الأذونات التي يتطلبها تطبيقك في ملف البيان، وفي وقت التشغيل، وفي شاشة إعدادات التطبيق (الإعدادات > معلومات التطبيق) على الجهاز.
SC-5 راجِع جميع مكوّنات التطبيق المحدّدة في ملف بيان Android لمعرفة حالة التصدير المناسبة. يجب تحديد الموقع الذي تم تصديره بشكل صريح لجميع المكوّنات.
SC-6 راجِع ضبط أمان الشبكة في التطبيق، مع التأكُّد من عدم تعذُّر عمليات التحقّق من الوبر في الضبط.
SC-7 لكل مكوّن WebView، انتقِل إلى صفحة تتطلّب JavaScript.
SC-8 في كل WebView، حاوِل الانتقال إلى المواقع الإلكترونية والمحتوى الذي لم يحمِّله تطبيقك مباشرةً.
SC-9 حدِّد إعداد أمان الشبكة الذي يوقِف حركة مرور بيانات cleartext، ثم اختبِر التطبيق.
معيار SC-10 شغِّل التطبيق وممارسة جميع الوظائف الأساسية مع تتبُّع سجلّ الجهاز. يجب عدم تسجيل معلومات المستخدم الخاصة.
Google Play اللعب الجماعي 1 يُرجى تسجيل الدخول إلى Google Play Developer Console لمراجعة ملفك الشخصي كمطوّر ووصف التطبيق ولقطات الشاشة والرسم المميز وتقييم المحتوى وملاحظات المستخدمين.
GP-2 يمكنك تنزيل الرسم المميز ولقطات الشاشة، وتوسيع نطاقها لتتناسب مع أحجام العرض على الأجهزة وعوامل الشكل التي تستهدفها.
GP-3 راجِع جميع أصول الرسومات والوسائط والنصوص ومكتبات الرموز والمحتوى الآخر المضمَّنة في التطبيق أو عملية تنزيل ملف البيانات الموسّعة.

الاختبار باستخدام مضبوط الوضع الصارم

لاختبار الأداء، ننصح بتفعيل StrictMode في تطبيقك واستخدامه لرصد العمليات التي قد تؤثر في الأداء والوصول إلى الشبكة وعمليات قراءة الملفات أو كتابتها وما إلى ذلك. ابحث عن العمليات التي يُحتمل أن تكون بها مشكلات في كل من سلسلة التعليمات الرئيسية وفي سلاسل المحادثات الأخرى.

يمكنك إعداد سياسة مراقبة لكل سلسلة باستخدام StrictMode.ThreadPolicy.Builder وتفعيل جميع عمليات المراقبة المتاحة في ThreadPolicy باستخدام detectAll().

احرص على تفعيل الإشعار المرئي بانتهاكات السياسة ThreadPolicy باستخدام penaltyFlashScreen().