اختبار تطبيقات الجوال: 10 خطوات لاختبار تطبيقاتك

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

جدول المحتويات:

ما المقصود باختبار تطبيقات الجوال؟

اختبار تطبيقات الهاتف المحمول Mobile app testing هي إحدى مراحل تطوير تطبيقات الجوال، وهي المرحلة التي تسبق إصداره للمستهلكين، ويجري فيها عدّة عمليات مثل؛ التحقق من مطابقة التطبيق لمتطلبات الأداء والمتطلبات الوظيفية والفنية التي حُددت في مرحلة التخطيط، وتحديد الأخطاء البرمجية وإصلاحها قبل تشغيل التطبيق.

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

أهمية اختبار تطبيقات الجوال

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

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

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

ما هي أنواع اختبار تطبيقات الجوال؟

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

1. الاختبار الوظيفي

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

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

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

3. اختبار الأداء

يُعدّ اختبار الأداء Performance testing الأهم بين أنواع اختبار تطبيقات الجوال. إذ يفحص سلوك التطبيق واستقرار عمله تحت ظروف معينة؛ كتغيير الاتصال من شبكات 2G و3G إلى شبكة WIFI، ومشاركة المستندات، واستهلاك البطارية. كما يشمل اختبار الموارد، الذي يركز على اختبار استخدام الذاكرة والحذف التلقائي للملفات المؤقتة، ومشكلات قاعدة البيانات المحلية.

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

4. اختبار الأمان

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

5. اختبار المقاطعة

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

6. اختبار التوافق

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

7. اختبار التثبيت

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

8. الاختبار اليدوي

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

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

بما أن مرحلة اختبار تطبيقات الجوال تتضمن عدّة عمليات. لذا يوجد العديد من الأدوات لكل عملية، وهذه بعض الأمثلة عليها:

  • Kobiton: منصة سحابية مدفوعة توفر اختبار الأداء في تطبيقات الجوال لنظامي أندرويد وIOS باستخدام أجهزة حقيقية، إذ تسمح بإجراء اختبار تطبيقات الجوال دون الدخول في التفاصيل البرمجية، وتمنح المستخدمين أثناء ذلك التحكم الكامل في الأجهزة المحمولة الفعلية أثناء الاختبار اليدوي. كما تنشئ سجلات تلقائية تلتقط جميع الأنشطة التي تجرى أثناء جلسة الاختبار، ما يسمح بالتعرف على الأخطاء وإصلاحها سريعًا.
  • Bug Hunters: أداة اختبار تطبيقات جوال يدوية لتطبيقات أندرويد، تركز على عملية اختبار واجهة المستخدم وتوفر مزايا عديدة مثل: تجريب تصميم جديد على جهاز حقيقي، والتحقق من مطابقة تخطيط التطبيق للمتطلبات المحددة، وتحديد أحجام مكونات واجهة المستخدم، بالإضافة إلى هوامشها.
  • Eggplant Software: أداة مخصصة لاختبار واجهة المستخدم، تُستخدم لاختبار التطبيقات لكل من نظامي أندرويد وIOS، وتوفر واجهة مستخدم سهلة الاستخدام.
  • HeadSpin: منصة توفر اختبار يدوي وآلي لتطبيقات الجوال، بنتائج تصل دقتها إلى 100% على الأجهزة الفعلية. تتيح للمستخدمين إجراء الاختبار، وتصحيح الأخطاء عن بُعد على آلاف الأجهزة. كما تُنشئ تجربة مستخدم واقعية، من خلال اختبار التطبيق في ظل ظروف مختلفة للشبكة.
  • Test IO: جهاز محاكاة يوفر اختبار التطبيق بدقة ويحدد أي عيوب يمكن أن يفوتها فريق التطوير، يركز على اختبار عملية قابلية الاستخدام على أجهزة فعلية.

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

يتطلب اختبار تطبيقات الجوال بفعالية إعادة المرور بكل مراحل تطويرها واختبارها على حِدة، ما يجعل المهارات الواجب توافرها في مختبر تطبيقات الجوال تتشابه مع مهارات مطور تطبيقات الجوال، والتي تشمل:

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

كيفية اختبار تطبيقات الجوال الخاصة بك

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

1. وضع المعايير والمتطلبات العامة

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

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

2. تحديد مجال الاختبار

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

3. اختيار الأجهزة المستخدمة للاختبار

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

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

4. تحديد أنواع الاختبارات اللازمة

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

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

5. اختيار نوع التجريب

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

6. تصميم حالات الاختبار لكل وظيفة

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

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

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

7. إجراء اختبارات التطبيق

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

8. تحليل نتائج الاختبار

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

9. إجراء الاختبار الأخير

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

10. إصدار النسخة النهائية

بعد إتمام كل المراحل السابقة بنجاح، سيكون لديك تطبيق خالٍ من العيوب والأخطاء، وجاهز للتنزيل من قِبل المستخدمين على جميع أنواع الأجهزة، وهنا يمكنك تقديمه لمتاجر التطبيقات.

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

تم النشر في: تطوير تطبيقات الجوال