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

تاريخ آخر تعديل: 17 أيار (مايو) 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 يتوافق محتوى التطبيق وجميع محتوى الويب المشار إليه من خلال التطبيق مع المظهر الداكن.
تسهيل الاستخدام VX-A1 CR-all

يجب ألا يقل حجم مساحات اللمس عن 48 بكسل مستقل الكثافة. مزيد من المعلومات

VX-A2 CR-all

يجب أن يحافظ محتوى المقدّمة ونص التطبيق على نسبة تباين ألوان عالية بما يكفي مع الخلفية:

  • 3.0:1 للنصوص / الرسومات الكبيرة
  • 4.5:1 للنص الصغير (نص أصغر من 18 نقطة أو إذا كان النص غامقًا وأصغر من 14 نقطة)

مزيد من المعلومات حول اللون والتباين

VX-A3 CR-all يجب وصف كل عنصر في واجهة المستخدم، باستثناء TextView، باستخدام contentDescription.

الوظائف

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

المنطقة رقم التعريف اختبارات الوصف
الصوت 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) في وضع التشغيل

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

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

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

المنطقة رقم التعريف اختبارات الوصف
الثبات 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 لازمة للتوافق مع متطلبات Google Play من خلال ضبط القيمة targetSdk.
PS-T3 SP-1 تم إنشاء التطبيق باستخدام أحدث حزمة تطوير برامج (SDK) لنظام التشغيل Android من خلال ضبط قيمة compileSdk.
PS-T4 SP-2
SP-3
أن تكون أي حِزم تطوير برامج (SDK) تابعة لشركة Google أو تابعة لجهات خارجية محدّثة. ويجب أن تتوفّر للمستخدمين أي تحسينات يتم إجراؤها على حِزم تطوير البرامج (SDK)، مثل الثبات أو التوافق أو الأمان، وذلك في الوقت المناسب.

بالنسبة إلى حِزم تطوير البرامج (SDK) من Google، ننصحك باستخدام حِزم SDK التي تدعمها خدمات Google Play عند توفّرها. إنّ حِزم تطوير البرامج (SDK) هذه متوافقة مع الأنظمة القديمة وتتلقّى تحديثات تلقائية وتقلل حجم حزمة التطبيقات وتستفيد من الموارد المتوفّرة على الجهاز بشكل فعّال.

يتحمّل مطوّر البرامج مسؤولية قاعدة رموز التطبيق بالكامل، بما في ذلك أي حِزم تطوير برامج (SDK) يتم استخدامها تابعة لجهات خارجية.

PS-T5 SP-3 لا يستخدم التطبيق واجهات غير متوفرة في حزمة SDK.
PS-T6 SP-2 لم يتم تضمين أي مكتبات تصحيح أخطاء في تطبيق الإنتاج. يمكن أن يؤدي ذلك إلى مشاكل في الأداء بالإضافة إلى الأمان.
البطارية 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-P5 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"، يتم إعداد موفِّر الأمان عند بدء تشغيل التطبيق.
مكوّنات 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) لتمثيل أكثر أشكال الأجهزة شيوعًا ومجموعات الأجهزة/البرامج لقاعدة المستخدمين المستهدَفين. بالإضافة إلى اختبار أشكال الهواتف، ننصحك أيضًا باختبار أشكال الأجهزة الأخرى باستخدام أدوات المحاكاة التالية كحد أدنى:
    • الهواتف القابلة للطي: شاشة قابلة للطي مقاس 7.6 بوصة مع شاشة خارجية (هذه المعلومات متاحة ضمن الهواتف في تطبيق AVD Manager)
    • الجهاز اللوحي - Pixel C مقاس 9.94 بوصة (2,560 بكسل × 1,800 بكسل)
    • لاختبار الإشعارات في التطبيقات المتوافقة مع الأجهزة الجوّالة، عليك إقران جهاز جوّال أو محاكي بمحاكي Wear OS - الإصدار 1.84 من نظام التشغيل Wear OS.
  • الأجهزة - يجب أن تتضمن بيئة الاختبار عددًا صغيرًا من الأجهزة الفعلية التي تمثل أشكال الأجهزة الرئيسية وتركيبات الأجهزة/البرامج المتاحة حاليًا للمستهلكين. ليس من الضروري إجراء اختبار على كل جهاز معروض في السوق، بل يجب التركيز على عدد صغير من الأجهزة التمثيلية، حتى باستخدام جهاز أو جهازين لكل شكل جهاز.
  • الميزات الاختبارية لاختبار الأجهزة: يمكنك أيضًا استخدام خدمات تابعة لجهات خارجية، مثل Firebase Test Lab، لاختبار تطبيقك على مجموعة متنوعة من الأجهزة.
  • الاختبار باستخدام أحدث إصدار من Android: بالإضافة إلى اختبار إصدارات Android النموذجية لقاعدة المستخدمين المستهدفين، عليك دائمًا اختبار الإصدار الأحدث من نظام التشغيل Android (الإصدار 14 حاليًا من نظام التشغيل 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().