Mualliflar:
(1) Filipp Straubinger, Passau universiteti, Germaniya;
(2) Gordon Freyzer, Passau universiteti, Germaniya.
2.1 Dasturiy ta'minotni sinovdan o'tkazish
2.2 Dasturiy ta'minotni sinovdan o'tkazishning gamifikatsiyasi
3 Gamifying uzluksiz integratsiya va 3.1 ta'lim dasturlarini sinovdan o'tkazishdagi qiyinchiliklar
3.2 Gamekinsning gamifikatsiya elementlari
3.3 Gamified elementlar va test o'quv dasturi
4 Tajribani o'rnatish va 4.1 Dasturiy ta'minotni sinovdan o'tkazish kursi
4.2 Gamekins va 4.3 Ishtirokchilarning integratsiyasi
4.4 Ma'lumotlarni tahlil qilish
5.1 RQ1: Kurs davomida talabalar Gamekinsdan qanday foydalanishdi?
5.2 RQ2: Talabalar qanday sinov xatti-harakatlarini namoyish qildilar?
5.3 RQ3: Talabalar Gamekinsning o'z loyihalariga integratsiyalashuvini qanday qabul qilishdi?
7 Xulosa, minnatdorchilik va havolalar
Test dasturiy ta'minotni ishlab chiqishda hal qiluvchi rol o'ynaydi va dasturiy ta'minot muhandisligi talabalari uchun to'g'ri test ta'limi olishlari juda muhimdir. Biroq, talabalarni testlarni yozishga va dasturiy ta'minotni ishlab chiqishda avtomatlashtirilgan testlardan foydalanishga undash qiyin bo'lishi mumkin. Ushbu muammoni hal qilish va talabalar kod yozishda test sinovlariga jalb qilishni kuchaytirish uchun biz doimiy integratsiyani o'ynash orqali talabalarni ko'proq test qilishga undashni taklif qilamiz. Buning uchun biz Jenkins uzluksiz integratsiya platformasiga uzluksiz integratsiyalashgan va manba kodlari omboriga berilgan majburiyatlarga asoslangan oʻyin elementlaridan foydalanadigan Gamekins vositasidan foydalanamiz: Ishlab chiquvchilar Gamekins tomonidan yaratilgan test sinovlari va topshiriqlarini bajarish orqali ball toʻplashlari, boshqa ishlab chiquvchilar bilan raqobatlashishi yoki jamoalar peshqadamlar ro‘yxatida bo‘ladi va sinovlar bo‘yicha erishgan yutuqlari uchun yutuqlarga ega bo‘ladi. Ushbu maqolada biz Gamekins-ni dasturiy ta'minotni sinovdan o'tkazish bo'yicha bakalavriat kursiga integratsiyalashganimizni taqdim etamiz. Biz talabalarning o'z kodlarini qanday sinab ko'rishlari va Gamekins-dan foydalanishlari o'rtasidagi bog'liqlikni, shuningdek, o'yinsiz kursning oldingi iteratsiyasi bilan solishtirganda natijalarining aniqligi sezilarli darajada yaxshilanganini kuzatamiz. Ushbu yondashuv test xatti-harakatlarini qanday yaxshilashining yana bir ko'rsatkichi sifatida, talabalar Gamekins bilan test yozishdan zavqlanishlarini xabar qilishdi.
CCS kontseptsiyalari
• Dasturiy ta'minot va uning muhandisligi → Dasturiy ta'minotni sinovdan o'tkazish va disk raskadrovka; • Ijtimoiy va professional mavzular → Dasturiy ta'minot muhandisligi bo'yicha ta'lim
KALİT SO'ZLAR
Dasturiy ta'minotni sinovdan o'tkazish, gamifikatsiya qilish, uzluksiz integratsiya, ta'lim
ACM mos yozuvlar formati:
Filipp Straubinger va Gordon Freyzer. 2024. Uzluksiz integratsiya bilan dasturiy ta'minotni sinovdan o'tkazish kursini gamifying. Dasturiy ta'minot muhandisligi bo'yicha 46-xalqaro konferentsiyada: : Software Engineering Education and Training (ICSESEET '24), 2024 yil 14–20 aprel, Lissabon, Portugaliya. ACM, Nyu-York, NY, AQSH, 12 bet. https://doi.org/10.1145/3639474.3640054
Dasturiy ta'minotni sinovdan o'tkazish yaxshi qabul qilingan tushuncha bo'lib, sanoatda keng qo'llaniladi [13]. Biroq, sinov jarayonini osonlashtiradigan turli xil vositalar mavjudligiga qaramay, masalan, integratsiyalashgan ishlab chiqish muhitlarida (IDE) testni qo'llab-quvvatlash [26] va uzluksiz integratsiya (CI) platformalarida avtomatlashtirilgan testlarni bajarish [8], sinov ko'pincha amalda e'tibordan chetda qoladi. Buning taxminiy sabablari orasida ishlab chiquvchilarning test faoliyati bilan shug'ullanish uchun motivatsiyasi yo'qligi va dasturiy ta'minotni sinovdan o'tkazish bo'yicha ma'lumot etishmasligi kiradi [14, 30, 41, 49, 50]. Garchi oliy taʼlim muassasalarida test sinovlariga koʻpincha notoʻgʻri munosabatda boʻlish [41], soʻnggi paytlarda test oʻtkazishning ahamiyati tobora ortib borayotgan eʼtirof bilan qarshilik koʻrsatayotgan boʻlsa-da, shunga qaramay, bu oʻquvchilar tomonidan testni zerikarli va zerikarli deb hisoblaydigan ishlab chiquvchilar kabi toʻsqinlik qilmoqda. zerikarli [32]. Natijada, dasturiy ta'minot sifatining etarli emasligi va sinovlarning etarli darajada o'tkazilmaganligi sababli sanoat sezilarli yo'qotishlarga duchor bo'ladi [31].
Gamifikatsiya usullari talabalarni zerikarli yoki zerikarli deb bilishlariga qaramay, test qilishga undash imkoniyatini beradi. Gamifikatsiya o'yinlarda keng tarqalgan elementlarni, masalan, peshqadamlar jadvali va yutuqlarni o'yindan tashqari kontekstlarga kiritishni o'z ichiga oladi [15]. Ushbu yondashuv talabalarni dasturiy ta'minot muhandisligi bo'yicha ta'limga jalb qilishga yordam berishi ko'rsatilgan [24], masalan, ma'ruzalar yoki dasturiy ta'minotni sinovdan o'tkazishni o'rgatish vositalarini o'ynash orqali [7, 12, 16, 22, 36]. Biroq, talabalar testni o'zlashtirishlari va uni rivojlanish yondashuvining ajralmas qismi sifatida belgilashlari uchun biz test o'yinlarini dasturiy ta'minotni ishlab chiqish jarayoniga uzluksiz integratsiya qilish zarurligini ta'kidlaymiz.
Bunga erishish uchun biz o'yinlarni talabalar tomonidan qo'llaniladigan uzluksiz integratsiya (CI) tizimlariga birlashtiramiz. Xususan, biz keng qoʻllaniladigan CI platformasi Jenkins[1] uchun moʻljallangan Gamekins [47] plaginidan foydalanamiz, u oʻyinni dasturiy taʼminotni ishlab chiqish ish jarayoniga muammosiz birlashtiradi. Manba kodi va test natijalarini tahlil qilib, Gamekins kod qamrovi [53] yoki mutatsiyalar tahlili [28] asosida testni yaxshilash mumkin bo'lgan sohalarni aniqlaydi va keyin qiyinchiliklar va kvestlar kabi o'yinlashtirish tushunchalari yordamida yaxshilanishni rag'batlantiradi, yaxshi testlarni ball, yutuqlar, va peshqadamlar reytingi. Biz Gamekins dasturini bakalavriat dasturlarini sinovdan o‘tkazish kursiga integratsiyalashning afzalliklarini baholadik, uning kursning o‘quv maqsadlari va talabalar xatti-harakatiga ta’sirini o‘rgandik. Batafsil, ushbu maqolaning hissalari quyidagilardan iborat:
• Biz CIda test faoliyatini rag'batlantirish va mukofotlash vositasi sifatida o'yinlashtirishdan foydalanishni taklif qilamiz.
• Biz Gamekinsni bakalavriat darajasidagi dasturiy ta'minotni sinovdan o'tkazish kursida foydalaniladigan vosita sifatida tanishtiramiz.
• Biz Gamekins-ni dasturiy ta'minotni sinovdan o'tkazish kursiga integratsiyalash ta'sirini o'yinsiz oldingi kohort bilan taqqoslab va talabalarni so'rov o'tkazmasdan empirik baholaymiz.
Tadqiqot natijalari talabalarning test o'tkazish xatti-harakatlari va Gamekins-dan foydalanish o'rtasidagi bog'liqlikni, shuningdek, xuddi shu topshiriqlarda hech qanday o'yin qo'llanilmagan kursning oldingi nashriga nisbatan to'g'ri natijalarning sezilarli yaxshilanishini ko'rsatadi. Gamekinsning barcha jihatlari talabalarga yoqmagan bo'lsa-da, umuman olganda, ular kurs davomida undan foydalanishni yoqtirishdi, bu Gamekins hayotiy o'qitish vositasi ekanligini tasdiqlaydi.
Ushbu hujjat arxivda CC BY-SA 4.0 DEED litsenziyasi ostida mavjud .
[1] https://www.jenkins.io/