اختبار أداء تطبيقات الجوال
⚡ ملخص ذكي
يقيس اختبار أداء تطبيقات الهاتف المحمول مدى سرعة بدء تشغيل التطبيق، ومقدار استهلاكه للبطارية والذاكرة، وسرعة استجابة واجهات برمجة التطبيقات الخاصة به، ومدى سلاسة أدائه على الشبكات غير الموثوقة.
يُعدّ الأداء عاملاً بالغ الأهمية لأي تطبيق جوال. فإذا لم يكن أداء تطبيقك جيداً، سيقوم المستخدم النهائي بإلغاء تثبيته والبحث عن تطبيق آخر ذي أداء أفضل.
يجب اختبار تطبيق الهاتف المحمول الخاص بك بدقة قبل إصداره للمستخدم النهائي.
استراتيجية اختبار تطبيقات الهاتف المحمول
يتم عادة قياس أداء التطبيق على الهاتف المحمول أو أي جهاز ذكي في الفئات الثلاث التالية.
- أداء الجهاز
- أداء الخادم/واجهة برمجة التطبيقات
- أداء الشبكة
يوضح الرسم البياني أدناه العلاقة بين تلك الطبقات الثلاث ونقاط الفحص الخاصة بها.
أداء الجهاز
عندما يواجه العميل بطء التطبيق، فإنه يشعر بالانزعاج.
لتقييم أداء الجهاز، عليك التحقق مما يلي:
- بدء تشغيل التطبيق: ما الوقت الذي يستغرقه تطبيقك لبدء التشغيل؟ إنها معلمة الأداء الأولى التي يحكم عليها المستخدم. كقاعدة عامة، بعد أن ينقر المستخدم على أيقونة التطبيق، يجب أن تظهر الشاشة الأولى خلال 1-2 ثانية.
- مدة تشغيل البطارية أثناء استخدام التطبيق: مع الاستخدام المتواصل، تستهلك بعض تطبيقات الهاتف المحمول كمية كبيرة من طاقة البطارية وترفع درجة حرارة الهاتف. يحدث هذا عادةً عندما يستخدم التطبيق موارد أكثر من اللازم، مما يُثقل كاهل المعالج.
- استهلاك الذاكرة: متى الاختبار أحد التطبيقات، يجب التحقق من استهلاك الذاكرة بواسطة التطبيق. ومن خلال تنفيذ وظائف معينة في التطبيق، يزداد استهلاك الذاكرة أيضًا. على سبيل المثال، في Android التطبيقات عند تنفيذ إشعارات الدفع، يزداد استهلاك الذاكرة.
في بعض الحالات، لوحظ أن استخدام الذاكرة بواسطة نظام التشغيل بأكمله يبلغ 14% فقط، لكن التطبيق الجديد يستهلك 11%. لذلك، يجب التعامل مع هذه العوامل قبل نشر التطبيق في العالم الحقيقي أو تقديمه للعميل.
- اختلاف الأجهزة/البرامج: عند اختبار تطبيق جوال، من الضروري التحقق من التطبيقات على أجهزة مختلفة. من الممكن أن يكون التطبيق يعمل بسلاسة على جهاز واحد وليس على جهاز آخر. مثل البائعين المختلفين Android الأجهزة، يمكننا التحقق من التطبيق على هواتف Samsung وHTC وLenovo. وبالمثل، يجب اختبار التطبيق باستخدام ذاكرة وصول عشوائي (RAM) مختلفة ومواصفات معالج مختلفة، مثل 1 جيجابايت أو 2 جيجابايت.
- الاستخدام مع التطبيقات الأخرى: عندما يتم تشغيل التطبيق قيد الاختبار بالتوازي مع تطبيقات أخرى، يجب ألا يكون هناك أي تداخل. أفضل طريقة للتحقق من ذلك هي تبديل التطبيق تحت الاختبار والتطبيقات الأخرى.
- التطبيق في الخلفية: عند استرجاع تطبيق يعمل في الخلفية، يجب أن يبقى على حالته السابقة. إذا لم تتم معالجة هذا السيناريو بشكل صحيح، فستُفقد البيانات. تُغطى حالات دورة الحياة ذات الصلة في مقاطعة الاختبار.
أداء الخادم/واجهة برمجة التطبيقات
عندما يتفاعل التطبيق مع الخادم عبر واجهة برمجة التطبيقات (API)، يصبح وقت الاستجابة عاملاً حاسماً في الأداء. ولتحسين أداء الخادم، عليك التحقق مما يلي:
- البيانات من وإلى الخادم: يجب أن يتعامل التطبيق بكفاءة مع البيانات المُرسلة من الخادم، بحيث لا يستغرق تحميلها وقتًا طويلاً. في بعض التطبيقات، تُرسل البيانات بتنسيق مُحدد، لذا يجب تحويلها إلى التنسيق المُناسب قبل عرضها. قد تُؤدي هذه العملية أحيانًا إلى إبطاء التطبيقات وزيادة وقت الاستجابة.
- استدعاءات واجهة برمجة التطبيقات (API) المُنشأة من التطبيق: يجب أن يكون عدد المكالمات من التطبيق قيد الاختبار إلى الخادم الذي تم إنشاؤه من التطبيق أقل. في بعض الحالات، يتم إجراء استدعاءات متعددة لواجهة برمجة التطبيقات (API) لنفس الوظيفة. للحصول على أداء أفضل، يجب التعامل مع هذا الأمر بعدد أقل من المكالمات.
- وقت تعطل الخادم: في حال تعطل الخادم أو تعذر الوصول إليه لأي سبب، يمكننا حفظ البيانات في قاعدة البيانات الأصلية. وبالتالي، عند تعطل الخادم، يمكننا عرض البيانات المخزنة في قاعدة البيانات الأصلية. يُمكن أيضًا استخدام خوادم قواعد بيانات احتياطية، أي في حال تعطل أحد الخوادم أو خضوعه للصيانة، يجب أن يكون خادم النسخ الاحتياطي متاحًا للتبديل إليه. يجب أن يكون خادم النسخ الاحتياطي في حالة نسخ متماثل ومزامنة مستمرة مع الخادم الرئيسي.
أداء الشبكة
يجب قياس أداء التطبيق على الشبكات المختلفة وخصائص الشبكة.
بالنسبة لأداء الشبكة، سوف تقوم بالتحقق من الأشياء التالية.
- التوتر: عندما يكون هناك تأخير في تلقي المعلومات على الشبكة، يطلق عليه اسم التوتر. إنها مشكلة في الشبكات غير المتصلة أو شبكات تبديل الحزم. عندما يتم توزيع المعلومات في حزم، يمكن أن تنتقل الحزم عبر مسار مختلف من المرسل إلى المتلقي. عندما تصل البيانات إلى الموقع المقصود، تصبح مشوشة أكثر مما تم إرسالها في الأصل. في حالة التوتر، يجب أن يكون تطبيق الهاتف المحمول قادرًا بدرجة كافية على التعامل معه.
يجب عليك عرض الإشعارات المناسبة للمستخدم النهائي، إما لإعادة إرسال الطلب أو الانتظار حتى يستجيب النظام مرة أخرى.
- فقدان البيانات: في حالة فقدان الحزمة بالكامل، يجب أن يكون التطبيق قادرًا على إعادة إرسال طلب المعلومات أو يجب أن يولد التنبيهات وفقًا لذلك. إذا لم تكن البيانات كاملة، فلن يتمكن المستخدم من فهم المعلومات المعروضة في التطبيق. قد يكون هذا مرهقًا للمستخدم. لذا، من الأفضل عرض رسالة مناسبة أو مطالبة المستخدم بالمحاولة مرة أخرى.
- سرعة الشبكة: يجب اختبار التطبيق على شبكات متنوعة ذات سرعات متفاوتة، بما في ذلك شبكات الجيل الثالث والرابع والخامس. يشمل ذلك شبكات الواي فاي وشبكات الهاتف المحمول. كما يجب مراقبة أداء التطبيق، خاصةً عند توفر الشبكتين معًا وعند التبديل بينهما.
على سبيل المثال، قد يواجه المستخدمون مشكلة في أحد التطبيقات عند التبديل بين شبكة الهاتف من الجيل الرابع (4G) وشبكة الواي فاي (Wi-Fi) والعكس. في هذه الحالة، يصبح التطبيق غير مستجيب وقد يتطلب الأمر إعادة تشغيله لاستخدامه.
استكشاف أخطاء أداء تطبيقات الهاتف المحمول وإصلاحها
بعد اكتشاف القضايا/المشاكل في حين اختبار أداءحان الوقت لـ tracوتصحيح الأخطاء.
المشكلة 1) الاستجابة البطيئة أو المتأخرة لتطبيق الهاتف المحمول.
قد يكون سبب هذا التأخير هو ذاكرة الوصول العشوائي (RAM) وذاكرة التخزين المؤقت (Cache) وما إلى ذلك.
تحتاج إلى إنهاء العمليات غير الضرورية أو مسح ذاكرة التخزين المؤقت. قد يؤدي استكشاف أخطاء مشكلة الاتصال وإصلاحها إلى حل بعض المشكلات التي تؤدي إلى حدوث تأخيرات
المشكلة 2) إعادة تشغيل التطبيق أو قفله أو تجميده أو عدم استجابته.
يمكن إصلاح ذلك من خلال بعض الخطوات التالية
- تحسين رموز التطبيق
- يجب تصحيح البرامج وتحديثها.
- الاستعادة التلقائية
- إدارة ذاكرة الوصول العشوائي (RAM) أو في بعض الحالات ذاكرة الوصول العشوائي (ROM) أثناء استخدام البطاقات الخارجية
- Wiping تقسيم ذاكرة التخزين المؤقت
- التحقق من عمل التطبيق مع تطبيقات وواجهات برمجة تطبيقات أخرى تابعة لجهات خارجية
- خريطةping تطبيق الهاتف المحمول حسب الجهاز
أدوات مفيدة لاختبار تطبيقات الهاتف المحمول
أدوات اختبار تطبيقات الهاتف المحمول تختلف وفقا للأجهزة أو نظام التشغيل المحمول. بعض أدوات اختبار أداء تطبيقات الهاتف المحمول الشائعة هي
ANDROID
- Robotium انها مجرد مثل Selenium لتطبيقات الجوال. يمكن للمختبر تسجيل وتشغيل العديد من الخطوات المطلوبة لإجراء الاختبار.
- عداء القرد يمكن لـ MonkeyRunner إجراء اختبارات على أجهزة حقيقية متصلة بجهاز كمبيوتر أو برامج محاكاة. تحتوي الأداة على واجهة برمجة التطبيقات (API)، والتي تسمح بالتحكم في الهاتف الذكي أو الجهاز اللوحي أو المحاكي من الخارج Android رمز.
⚠️ ملاحظة حول الإصدار: يبلغ قطر كلاً من Android هذه المدخلات قديمة. Robotium لم يصدر أي فيلم منذ عام 2016، و Google يشير هذا إلى أن MonkeyRunner غير مدعوم، مما يوجه الفرق إلى UI Automator وميزاته. uiautomatorviewer بدلاً من ذلك، قم بالتفتيش.
APPLE
- أتمتة (ماك) أوتوماتور هو تطبيق طورته شركة أبل لـ macOSيُتيح هذا النظام إنشاء سير العمل بنقرة واحدة (أو بالسحب والإفلات) لأتمتة المهام المتكررة في مجموعات، مما يُسرّع عملية التعديل. وهذا يوفر الوقت والجهد المبذولين في تعديل كل ملف على حدة يدويًا.
التحديات
تشمل التحديات الرئيسية التي تتم مواجهتها أثناء اختبار الأداء ما يلي:
- تنظيم منصات الهاتف المحمول المختلفة وأنظمة التشغيل الخاصة بها
- محاكاة الاتصالات مثل 3G و 4G و 5G أو Wi-Fi وما إلى ذلك.
- قيود الأجهزة المحمولة مثل استهلاك البطارية والموارد
- سهولة استخدام الهاتف المحمول
- الأحجام المتنوعة للأجهزة المحمولة لتشغيل نفس التطبيق
قم بإعداد بيئة اختبار أداء تطبيقات الهاتف المحمول
لتكوين بيئة الاختبار، تحتاج إلى-
- فهم تطبيق الهاتف المحمول الذي يحتاج إلى الاختبار
- تحديد أنظمة التشغيل المختلفة التي يحتاج التطبيق لتشغيلها
- بناء إعداد الاختبار
- بناء المحاكيات أو المحاكيات
- نموذج أوليping الإعداد الفعلي
- اختيار الأداة المناسبة للاختبار
قائمة التحقق من اختبار أداء تطبيقات الهاتف المحمول
يعد اختبار أداء تطبيقات الهاتف المحمول إجراءً مهمًا قبل الإصدار. يتم إجراء اختبار الأداء للتحقق
- ما مقدار ذاكرة الوصول العشوائي المطلوبة لاستخدام هذا التطبيق؟
- للتحقق من سرعة التطبيق ووقت الاستجابة في ظل شبكات وظروف مختلفة.
- ضمان تجربة مستخدم واقعية في ظل ظروف الشبكة المختلفة
- التأكد من تحقيق النتائج المطلوبة في حالة التوصيلات المتعددة
- تأكد من عدم تعطل التطبيق.
- التأكد من أداء تطبيقات الهاتف المحمول بشكل جيد أثناء استخدام البيانات أو شبكة Wi-Fi أو أي اتصال آخر
- مراقبة وقت التشغيل واختناقات استخدام واجهة برمجة تطبيقات الهاتف المحمول
- لضمان أقصى عدد من المستخدمين المتزامنين
- أخيرًا، للتحقق من تطبيق الهاتف المحمول إلى أقصى حدوده

