paint-brush
تُظهِر دراسة جديدة أن اللعبيّة تجعل تدريس اختبار البرمجيات أسهلبواسطة@gamifications
636 قراءة٪ s
636 قراءة٪ s

تُظهِر دراسة جديدة أن اللعبيّة تجعل تدريس اختبار البرمجيات أسهل

بواسطة Gamifications FTW Publications4m2025/01/19
Read on Terminal Reader

طويل جدا؛ ليقرأ

تستكشف هذه الدراسة كيف تعمل الألعاب التعليمية لاختبار البرمجيات باستخدام Gamekins، المتكاملة مع Jenkins CI، على تعزيز مشاركة الطلاب وتحسين دقة الاختبار، مع ردود فعل إيجابية من الطلاب.
featured image - تُظهِر دراسة جديدة أن اللعبيّة تجعل تدريس اختبار البرمجيات أسهل
Gamifications FTW Publications HackerNoon profile picture
0-item

المؤلفون:

(1) فيليب شتراوبنجر، جامعة باساو، ألمانيا؛

(2) جوردون فريزر، جامعة باساو، ألمانيا.

جدول الروابط

الملخص و1 مقدمة

2.1 اختبار البرمجيات

2.2 استخدام الألعاب في اختبار البرمجيات

3 دمج الألعاب المستمرة و3.1 التحديات في تدريس اختبار البرمجيات

3.2 عناصر اللعبيّة في Gamekins

3.3 عناصر الألعاب ومنهج الاختبار

4 إعداد التجربة و4.1 دورة اختبار البرمجيات

4.2 دمج Gamekins و4.3 المشاركين

4.4 تحليل البيانات

4.5 التهديدات التي تتعرض لها الصلاحية

5.1 RQ1: كيف استخدم الطلاب Gamekins أثناء الدورة؟

5.2 RQ2: ما هو سلوك الاختبار الذي أظهره الطلاب؟

5.3 RQ3: كيف رأى الطلاب دمج Gamekins في مشاريعهم؟

6 أعمال ذات صلة

7. الاستنتاجات والتقديرات والمراجع

خلاصة

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


مفاهيم التقاط وتخزين الكربون


• البرمجيات وهندستها → اختبار البرمجيات وتصحيح أخطائها؛ • المواضيع الاجتماعية والمهنية → تعليم هندسة البرمجيات


الكلمات الرئيسية


اختبار البرمجيات، اللعبيّة، التكامل المستمر، التعليم


تنسيق مرجع ACM:


فيليب ستراوبينجر وجوردون فريزر. 2024. تحويل دورة اختبار البرمجيات إلى لعبة باستخدام التكامل المستمر. في المؤتمر الدولي السادس والأربعين حول هندسة البرمجيات: تعليم وتدريب هندسة البرمجيات (ICSESEET '24)، 14-20 أبريل 2024، لشبونة، البرتغال. ACM، نيويورك، نيويورك، الولايات المتحدة الأمريكية، 12 صفحة. https://doi.org/10.1145/3639474.3640054

1 المقدمة

اختبار البرمجيات هو مفهوم راسخ ويستخدم على نطاق واسع في الصناعة [13]. ومع ذلك، وعلى الرغم من توفر أدوات مختلفة تسهل عملية الاختبار، مثل دعم الاختبار في بيئات التطوير المتكاملة (IDE) [26] وتنفيذ الاختبار الآلي في منصات التكامل المستمر (CI) [8]، غالبًا ما يتم تجاهل الاختبار في الممارسة العملية. تشمل الأسباب المفترضة لذلك افتقار المطورين إلى الدافع للانخراط في أنشطة الاختبار ونقص التعليم في اختبار البرمجيات [14، 30، 41، 49، 50]. على الرغم من أن المعالجة غير الكافية للاختبار في التعليم العالي [41] قد قوبلت مؤخرًا باعتراف متزايد بأهمية الاختبار [9، 29، 35]، إلا أن هذا يعوقه مع ذلك المتعلمون تمامًا مثل المطورين الذين يميلون إلى إدراك الاختبار على أنه ممل وممل [32]. ونتيجة لذلك، تعاني الصناعة من خسائر كبيرة بسبب جودة البرامج غير الكافية والاختبار غير الكافي [31].


توفر تقنيات اللعبيّة فرصة لتحفيز الطلاب على الاختبار على الرغم من تصورهم له بأنه ممل أو مرهق. تتضمن اللعبيّة دمج العناصر الموجودة عادةً في الألعاب، مثل لوحات المتصدرين والإنجازات، في سياقات غير متعلقة بالألعاب [15]. وقد ثبت أن هذا النهج يساعد في إشراك الطلاب في تعليم هندسة البرمجيات [24]، على سبيل المثال من خلال اللعبيّة في المحاضرات أو الأدوات لتدريس اختبار البرمجيات [7، 12، 16، 22، 36]. ومع ذلك، من أجل أن يستوعب الطلاب الاختبار ويؤسسوه كجزء لا يتجزأ من نهج التطوير الخاص بهم، فإننا نؤكد أن التكامل السلس للعبيّة في الاختبار في عملية تطوير البرمجيات أمر ضروري.


من أجل تحقيق ذلك، قمنا بدمج اللعبيّة في أنظمة التكامل المستمر (CI) التي يستخدمها الطلاب. على وجه التحديد، نستخدم Gamekins [47]، وهو مكون إضافي مصمم لمنصة التكامل المستمر Jenkins المستخدمة على نطاق واسع [1]، والتي تدمج اللعبيّة بسلاسة في سير عمل تطوير البرامج. من خلال تحليل التعليمات البرمجية المصدرية ونتائج الاختبار، تحدد Gamekins المجالات التي يمكن تحسين الاختبار فيها بناءً على تغطية التعليمات البرمجية [53] أو تحليل الطفرات [28] ثم تحفز التحسين باستخدام مفاهيم اللعبيّة مثل التحديات والمهام، ومكافأة الاختبار الجيد بالنقاط والإنجازات وتصنيفات المتصدرين. قمنا بتقييم فوائد دمج Gamekins في دورة اختبار برمجيات جامعية، والتحقيق في تأثيرها على أهداف التعلم في الدورة وسلوك الطلاب. بالتفصيل، مساهمات هذه الورقة هي كما يلي:


• نقترح استخدام اللعبيّة كوسيلة لتحفيز ومكافأة أنشطة الاختبار في CI.


• نقدم Gamekins كأداة يمكن استخدامها في دورة اختبار البرمجيات على مستوى البكالوريوس.


• نقوم بتقييم تأثيرات دمج Gamekins في دورة اختبار البرمجيات بشكل تجريبي، بالمقارنة مع مجموعة سابقة بدون اللعبيّة واستطلاع آراء الطلاب.


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


هذه الورقة متاحة على arxiv بموجب رخصة CC BY-SA 4.0 DEED.


[1] https://www.jenkins.io/