ما هو الاختبار الانحداري؟

مجموعة من العمال يقفون حول شاشة كبيرة وينظرون إلى بعضهم

المؤلفون

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

ما هو الاختبار الانحداري؟

يُعَدّ الاختبار الانحداري استراتيجية لاختبار البرمجيات تُستخدم للتحقق من أن تعديلات التعليمات البرمجية لا تضر بالوظائف القائمة ولا تُدخل أخطاء جديدة.

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

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

أحدث الأخبار التقنية، مدعومة برؤى خبراء

ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.

من يجب عليه استخدام الاختبار الانحداري؟

أي مؤسسة تتلقّى تعليماتها البرمجية تحديثات متكرّرة تحتاج على الأرجح إلى تطبيق أساليب الاختبار الانحداري. أصبحت تحديثات التعليمات البرمجية شائعة على نطاق واسع لدرجة يصعب معها الحصول على عددٍ إجمالي دقيق وموثوق.

ومع ذلك، وبفضل تقنيات مثل الذكاء الاصطناعي (AI) ومسار التكامل والتسليم المستمر (CI/CD)، يزيد كثير من المؤسسات وتيرة تغييرات التعليمات البرمجية، مع قيام بعض الجهات بتحديثات يومية. وهذا يترتّب عليه الكثير من اختبارات الانحدار.

ومن المجالات التي يحتل فيها الاختبار الانحداري موقعًا محوريًا جهود ضمان الجودة (QA). تتشابه مهام الاختبار الانحداري وفِرَق ضمان الجودة بدرجة كبيرة— فكلاهما يهدف إلى تحسين تجربة المستخدم وتقديم بيانات عالية الجودة وبرمجيات بأعلى قدر ممكن من الأمان.

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

تطوير التطبيقات

ابدأ الآن بتطوير التطبيقات المؤسسية في السحابة

في هذا الفيديو، يناقش الدكتور Peter Haumer كيفية تطوير التطبيقات المؤسسية الحديثة في السحابة الهجينة اليوم من خلال عرض مكونات وممارسات مختلفة، بما في ذلك IBM Z Open Editor وIBM Wazi وZowe. 

الاختبار الانحداري في 8 خطوات

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

في الاختبار الانحداري، عادةً ما يُتَّبع هذا التسلسل من الخطوات (أو ما يشبهه بدرجة كبيرة):

  1. إدخال تغيير على التعليمات البرمجية: إضافة تعليمات برمجية جديدة، أو تعديل التعليمات الحالية، أو تحسين الوظائف الموجودة ضمن التعليمات البرمجية المصدرية.
  2. النظر في التأثيرات المحتملة: تحليل التطبيق البرمجي لتحديد المناطق التي قد تتأثر بالتغييرات الجديدة.
  3. اختيار حالات الاختبار: تشارك فِرَق عمليات التطوير في اختيار الاختبارات من مجموعة الاختبارات الانحدارية — مع التركيز خصوصًا على تلك التي تغطي الوظائف الحرجة. قد تشمل هذه الاختبارات اختبارات الوحدات (للتحقق من الوحدات الفردية)، أو الاختبارات الوظيفية (للتحقق من العمليات، أو اختبارات التكامل (لضمان عمل المكونات معًا.
  4. تحديد أولويات حالات الاختبار: عندما يتم اختيار حالات اختبار متعددة، ينظّم الفريق أولويات حالات الاختبار بناءً على أهميتها وتأثيرها المحتمل.
  5. تشغيل حالات الاختبار: تنفيذ الاختبارات يدويًا أو باستخدام أدوات الاختبار الانحداري المؤتمت. وبغض النظر عن الأسلوب (مثل الاختبار اليدوي مقابل المؤتمت)، يتم الاعتماد على نصوص اختبار (Test Scripts) — وهي قوالب منظّمة تُوجّه خطوات المختبِر.
  6. الإبلاغ عن النتائج وتحليلها: مراجعة مخرجات الاختبار والبيانات الداعمة. إذا كشفت الاختبارات عن أعطال أو أخطاء، يجب إخطار فريق التطوير بسرعة.
  7. إصلاح الأخطاء وإعادة الاختبار: يقوم المطورون بتطبيق الإصلاحات اللازمة على حالات الاختبار القائمة ثم يُعاد اختبار المشكلات التي سبق تمييزها للتأكد من حلّها.
  8. تكرار العملية عند الحاجة: يستمر تكرار دورة الاختبار الانحداري بقدر ما يلزم لضمان أن التطبيق يعمل كما هو متوقَّع.

أنواع الاختبار الانحداري

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

الاختبار الانحداري للوحدات

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

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

الاختبار الانحداري الجزئي

الاختبار الانحداري الجزئي، يُستخدم لمعرفة ما إذا كانت التغييرات الأخيرة قد أثرت فقط في جزء من النظام المحدَّث.

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

الاختبار الانحداري الكامل

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

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

الاختبار الانحداري الانتقائي

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

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

الاختبار الانحداري التدريجي

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

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

الاختبار الانحداري التصحيحي

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

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

الاختبار الانحداري لإعادة الاختبار الكامل

يُعتبر الاختبار الانحداري لإعادة الاختبار الكامل (Retest-all Regression Testing) اختبارًا بعديًّا نهائيًا. ويشمل قيام فرق التطوير بتشغيل جميع حالات الاختبار الانحداري التي تم اجتيازها مسبقًا، فقط للتأكد من أن كل شيء يعمل بانسجام.

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

الاختبار الانحداري المؤتمت

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

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

الاختبار الانحداري اليدوي

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

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

اختبار Selenium الانحداري

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

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

الاختبار الانحداري غير الوظيفي

تُقيَّم جودة البرمجيات وفقًا لعدة متغيرات قائمة بمعزل عن دورة حياة تطوير البرمجيات (SDLC). يسعى الاختبار الانحداري غير الوظيفي إلى التحقق من وجود برمجيات عالية الجودة تكون آمنة للاستخدام وتدعم تجربة مستخدم جيدة.

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

ما التقنيات المستخدمة في الاختبار الانحداري؟

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

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

الاختبار الانحداري والذكاء الاصطناعي

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

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

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

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

حلول ذات صلة
خدمة تطبيقات IBM Enterprise لـ Java

خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.

استكشف تطبيقات Java
حلول عمليات التطوير

استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.

استكشف حلول عمليات التطوير
خدمات تطوير تطبيقات المؤسسات

إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.

خدمات تطوير التطبيقات
اتخِذ الخطوة التالية

تقدِّم خدمات استشارات تطوير التطبيقات من IBM Cloud توجيهات الخبراء وحلولًا مبتكرة لتبسيط استراتيجيتك السحابية. تعاون مع خبراء IBM في مجال السحابة والتطوير لتحديث تطبيقاتك وتوسيع نطاقها وتسريعها، ما يحقق النتائج التحويلية لأعمالك.

استكشف خدمات تطوير التطبيقات ابدأ البناء باستخدام IBM Cloud مجانًا