دليل المبتدئين لاختبار تطبيقات الجوال

نشرت: 2018-03-20

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

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

إذا كنت مبتدئًا يخطط لبدء مسيرته المهنية في اختبار تطبيقات الأجهزة المحمولة ، فسيساعدك هذا الدليل في معرفة كل شيء عنه. دعنا نبدأ بفهم ما هو في الواقع اختبار تطبيقات الأجهزة المحمولة!

ما هو اختبار تطبيقات الهاتف المحمول؟

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

What is Mobile App Testing

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

التحديات الرئيسية لاختبار تطبيقات الهاتف المحمول

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

أنواع مختلفة من تطبيقات الجوال:

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

مجموعة متنوعة من الأجهزة المحمولة:

واحدة من أكبر التحديات التي يواجهها مختبرو تطبيقات الأجهزة المحمولة هي المجموعة الواسعة من الأجهزة المحمولة المتوفرة في السوق اليوم. وتشمل هذه الهواتف الذكية والأجهزة اللوحية وأجهزة القراءة الإلكترونية والأجهزة القابلة للارتداء وأي جهاز محمول آخر قادم في المستقبل القريب. نظرًا لوجود أحجام مختلفة للشاشة ، ودقة ، وطرق إدخال ، وقدرات للأجهزة ، فإن هذه الأجهزة تقدم مجموعة فريدة تمامًا من التحديات لمختبري تطبيقات الأجهزة المحمولة.

تنوع نظام التشغيل:

تستخدم الأجهزة المحمولة المختلفة أنظمة تشغيل مختلفة وتستخدم أجهزة مختلفة إصدارات مختلفة من نظام تشغيل معين في أي وقت محدد. على سبيل المثال ، لا يزال لدى Android 8 إصدارات مختلفة من نظام التشغيل قيد الاستخدام ؛ من ناحية أخرى ، تستخدم 65٪ من أجهزة Apple نظام التشغيل iOS 11 بينما يتم تثبيت iOS 10 على 28٪ من أجهزة Apple و 7٪ لا تزال تستخدم الإصدارات السابقة من iOS. يشكل اختبار تطبيق واحد عبر أجهزة محمولة متعددة تعمل على إصدارات مختلفة من نفس نظام التشغيل تحديًا فريدًا لمختبري تطبيقات الأجهزة المحمولة.

OS Diversity

عدد لا يحصى من الشركات المصنعة:

التحدي الكبير الآخر الذي يحتاج المختبرين للتعامل معه هو العدد المتزايد باستمرار من مصنعي الأجهزة المحمولة. في عام 2015 ، كان هناك حوالي 1200 مصنع للأجهزة المحمولة فقط ، وفي بداية عام 2018 نفسه ، وصل العدد إلى أكثر من 1600. مما لا شك فيه أن هذه الأرقام ستزداد فقط في السنوات القادمة. التغييرات المختلفة على الأجهزة والبرامج التي يقوم بها المصنعون على أجهزتهم المحمولة من أجل تمييز أنفسهم عن بعضهم البعض لها تأثير مباشر على كيفية عمل التطبيق - مما يجعل عملية الاختبار أكثر تعقيدًا وتحديًا.

تحديات الاتصال:

التعامل بفعالية مع مجموعة متنوعة من خيارات الاتصال ، مثل شبكات المحمول المختلفة (2G / 3G / 4G LTE / 4G VoLTE والآن 5G) ، Wi-Fi ، Bluetooth ، الأشعة تحت الحمراء ، إلخ ، لا يقل عن اختبار الحمض. بالنسبة لجميع أنواع أوضاع الاتصال ، يجب أن يعمل التطبيق بسلاسة في ظل ظروف الشبكة المختلفة مثل التغيير في شبكة الهاتف المحمول ، والتجوال ، وإشارات الشبكة الضعيفة ، وعدم وجود تغطية للشبكة ، وسرعة الاتصال البطيئة ، وما إلى ذلك ، ومع ذلك ، لا يعتبر هذا التحدي كبيرًا واحد لتطبيق غير متصل بالإنترنت.

الاختبار المستمر:

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

Continuous Testing

اختيار كيفية الاختبار:

يحتاج مختبرو العوائق الأخرى إلى التغلب عليها ، وهو اختيار نهج اختبار مناسب لتطبيقات الأجهزة المحمولة باستخدام أدوات اختبار تطبيقات الأجهزة المحمولة المناسبة. عندما يكون هناك طريقتان أساسيتان (يدوي وآلي) يستخدمان لاختبار تطبيقات الأجهزة المحمولة ، من ناحية أخرى ، فإن السوق مليء بمجموعة متنوعة من أدوات اختبار تطبيقات الأجهزة المحمولة الآلية ، مما يجعل اختيار أدوات الاختبار المناسبة مهمة مربكة ومملة للغاية ما لم لدى المرء استراتيجية اختبار مخططة مسبقًا.

أنواع مختلفة من اختبار تطبيقات الهاتف المحمول

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

اختبار واجهة المستخدم الوظيفية:

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

اختبار قابلية الاستخدام:

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

Usability Testing

اختبار التوافق:

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

اختبار تسرب الذاكرة:

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

اختبار أداء:

الهدف الأساسي من اختبار الأداء هو التأكد من أن التطبيق قادر على التعامل مع العديد من تحديات الأجهزة المحمولة مثل تغطية الشبكة السيئة ، وتحويل الاتصال من شبكة الهاتف المحمول إلى شبكة Wi-Fi ، ومشاركة شيء ما خارج التطبيق ، وانخفاض البطارية أو الذاكرة المتوفرة ، والتطبيق السرعة والاستخدام المتزامن للتطبيق من قبل العديد من المستخدمين وظروف أخرى مماثلة. بمعنى آخر ، يتم إجراء اختبار الأداء للتحقق من أداء تطبيق الهاتف والشبكة والخادم.

الانقطاع / الاختبار التشغيلي:

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

اختبار التثبيت:

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

اختبار الأمان:

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

Security Testing

اختبار الترجمة:

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

اختبار الانحدار:

يتضمن هذا النوع من الاختبارات إعادة تشغيل الاختبارات الناجحة التي تم إجراؤها مسبقًا للتأكد من أن التغييرات التي تم إجراؤها على رمز التطبيق لم تعيد إدخال أي أخطاء قديمة أو جديدة. نظرًا لأنه يمكن إجراء اختبارات الانحدار مرارًا وتكرارًا خلال أي من مستويات الاختبار الأربعة (الوحدة والتكامل والنظام والقبول) ، فهي مرشح مثالي للاختبار الآلي.

Regression Testing

نصائح مفيدة لاستراتيجية ناجحة لاختبار تطبيقات الأجهزة المحمولة

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

الاختبار الآلي مقابل الاختبار اليدوي:

يمكن إجراء اختبار تطبيقات الأجهزة المحمولة ، كما هو مذكور أعلاه ، إما يدويًا أو بمساعدة أدوات اختبار تطبيقات الأجهزة المحمولة الآلية مثل Appium و SeeTest و Selenium و Ranorex. نظرًا لاستخدام أحد النهجين أو كليهما خلال مراحل دورة الحياة المختلفة لتطبيق الهاتف المحمول ، يجب أن تكون خبيرًا في الاختيار بينهما وفقًا للموقف. نظرًا لأن الاختبار الآلي لتطبيقات الأجهزة المحمولة هو المفتاح لنجاح اختبار الانحدار أثناء مراحل التطوير المختلفة ، فيجب إجراؤه فقط في السيناريوهات حيث:

  • لديك أكثر حالات الاختبار شيوعًا
  • حالات الاختبار لها نتائج يمكن التنبؤ بها
  • حالات الاختبار سهلة التشغيل الآلي
  • حالات الاختبار تستغرق وقتًا طويلاً جدًا أو يستحيل إجراؤها يدويًا
  • التطبيق ينمو باستمرار
  • دورة حياة تطوير تطبيقات الأجهزة المحمولة طويلة جدًا

Automated vs. Manual Testing

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

المحاكيات مقابل الأجهزة المادية:

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

  • محاكي الجهاز : مقدم من الشركات المصنّعة للأجهزة.
  • Browser Emulator : محاكاة العرض للأجهزة المحمولة في المتصفحات.
  • محاكي نظام التشغيل : يوفره نظام التشغيل نفسه.

Emulators vs. Physical Devices

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

اختيار طرازات الأجهزة المحمولة المناسبة:

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

  • إصدار نظام التشغيل
  • حجم الشاشة ودقتها
  • شكل عامل

Selection of Right Mobile Device Models

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

ضع في اعتبارك اختبار السحابة:

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

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

Consider Cloud Testing

تنظيم اختبار بيتا:

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

Organize Beta Testing

وبالمثل ، يمكنك أيضًا استخدام Google Play Console لتوزيع تطبيق Android على المستخدمين والمختبرين الموثوق بهم للاختبار التجريبي من خلال مجموعات Google المتنوعة أو مجتمعات Google+.