paint-brush
Pinapadali ng Gamification ang Pagtuturo ng Software Testing – Mga Bagong Palabas sa Pag-aaralsa pamamagitan ng@gamifications
644 mga pagbabasa
644 mga pagbabasa

Pinapadali ng Gamification ang Pagtuturo ng Software Testing – Mga Bagong Palabas sa Pag-aaral

sa pamamagitan ng Gamifications FTW Publications4m2025/01/19
Read on Terminal Reader

Masyadong mahaba; Upang basahin

Ine-explore ng pag-aaral na ito kung paano pinapalakas ng gamifying software testing courses gamit ang Gamekins, na isinama sa Jenkins CI, ang pakikipag-ugnayan ng mag-aaral at pinapahusay ang katumpakan ng pagsubok, na may positibong feedback mula sa mga mag-aaral.
featured image - Pinapadali ng Gamification ang Pagtuturo ng Software Testing – Mga Bagong Palabas sa Pag-aaral
Gamifications FTW Publications HackerNoon profile picture
0-item

Mga may-akda:

(1) Philipp Straubinger, Unibersidad ng Passau, Germany;

(2) Gordon Fraser, Unibersidad ng Passau, Germany.

Talaan ng mga Link

Abstract at 1 Panimula

2.1 Pagsubok sa Software

2.2 Gamification ng Software Testing

3 Gamifying Continuous Integration at 3.1 Mga Hamon sa Pagsubok ng Software sa Pagtuturo

3.2 Mga Elemento ng Gamification ng Gamekins

3.3 Gamified Elements at ang Testing Curriculum

4 Experiment Setup at 4.1 Software Testing Course

4.2 Pagsasama-sama ng Gamekins at 4.3 Mga Kalahok

4.4 Pagsusuri ng Datos

4.5 Mga Banta sa Bisa

5.1 RQ1: Paano ginamit ng mga mag-aaral ang Gamekins sa kurso?

5.2 RQ2: Anong pag-uugali sa pagsubok ang ipinakita ng mga mag-aaral?

5.3 RQ3: Paano naramdaman ng mga mag-aaral ang pagsasama ng Gamekins sa kanilang mga proyekto?

6 Kaugnay na Gawain

7 Mga Konklusyon, Pagkilala, at Mga Sanggunian

ABSTRAK

Ang pagsubok ay gumaganap ng isang mahalagang papel sa pagbuo ng software, at ito ay mahalaga para sa mga mag-aaral ng software engineering na makatanggap ng wastong edukasyon sa pagsubok. Gayunpaman, ang pag-uudyok sa mga mag-aaral na magsulat ng mga pagsusulit at gumamit ng awtomatikong pagsubok sa panahon ng pagbuo ng software ay maaaring maging mahirap. Upang matugunan ang isyung ito at mapahusay ang pakikipag-ugnayan ng mag-aaral sa pagsubok kapag nagsusulat sila ng code, iminumungkahi naming bigyang-insentibo ang mga mag-aaral na sumubok nang higit pa sa pamamagitan ng pagpapagalaw ng tuluy-tuloy na pagsasama. Para dito, ginagamit namin ang Gamekins, isang tool na walang putol na isinama sa platform ng tuluy-tuloy na pagsasama ng Jenkins at gumagamit ng mga elemento ng laro batay sa mga commit sa repository ng source code: Ang mga developer ay maaaring makakuha ng mga puntos sa pamamagitan ng pagkumpleto ng mga pagsubok na hamon at quest na nabuo ng Gamekins, makipagkumpitensya sa iba pang mga developer o mga koponan sa isang leaderboard, at makatanggap ng mga tagumpay para sa kanilang mga tagumpay na nauugnay sa pagsubok. Sa papel na ito, ipinakita namin ang aming pagsasama ng Gamekins sa isang undergraduate-level na kurso sa pagsubok ng software. Napansin namin ang isang ugnayan sa pagitan ng kung paano sinubukan ng mga mag-aaral ang kanilang code at ang kanilang paggamit ng Gamekins, pati na rin ang isang makabuluhang pagpapabuti sa katumpakan ng kanilang mga resulta kumpara sa isang nakaraang pag-ulit ng kurso nang walang gamification. Bilang karagdagang tagapagpahiwatig kung paano pinapabuti ng diskarteng ito ang gawi sa pagsubok, ang mga mag-aaral ay nag-ulat ng kasiyahan sa pagsulat ng mga pagsusulit kasama ang Gamekins.


MGA KONSEPTO ng CCS


• Software at ang engineering nito → Pagsubok at pag-debug ng software; • Mga paksang panlipunan at propesyonal → Edukasyon sa software engineering


MGA KEYWORDS


Pagsubok sa Software, Gamification, Patuloy na Pagsasama, Edukasyon


Format ng Sanggunian ng ACM:


Philipp Straubinger at Gordon Fraser. 2024. Gamifying ng Software Testing Course na may Tuloy-tuloy na Pagsasama. Sa 46th International Conference on Software Engineering: : Software Engineering Education and Training (ICSESEET '24), Abril 14–20, 2024, Lisbon, Portugal. ACM, New York, NY, USA, 12 pages. https://doi.org/10.1145/3639474.3640054

1 PANIMULA

Ang pagsubok ng software ay isang mahusay na itinatag na konsepto at malawakang ginagamit sa industriya [13]. Gayunpaman, sa kabila ng pagkakaroon ng iba't ibang mga tool na nagpapadali sa proseso ng pagsubok, tulad ng suporta sa pagsubok sa integrated development environment (IDE) [26] at automated test execution sa tuluy-tuloy na integration (CI) na mga platform [8], ang pagsubok ay madalas na hindi napapansin sa pagsasanay. Kasama sa mga speculated na dahilan para dito ang kawalan ng motibasyon ng mga developer na makisali sa mga aktibidad sa pagsubok at kakulangan ng edukasyon sa pagsubok ng software [14, 30, 41, 49, 50]. Bagama't ang madalas na hindi sapat na paggamot sa pagsubok sa mas mataas na edukasyon [41] ay kamakailan lamang ay sinalungat sa lumalaking pagkilala sa kahalagahan ng pagsubok [9, 29, 35], gayunpaman ito ay hinahadlangan ng mga mag-aaral tulad ng mga developer na may posibilidad na makita ang pagsubok bilang nakakapagod at nakakainip [32]. Bilang resulta, ang industriya ay dumaranas ng malaking pagkalugi dahil sa hindi sapat na kalidad ng software at hindi sapat na pagsubok [31].


Ang mga diskarte sa gamification ay nagbibigay ng pagkakataon na mag-udyok sa mga mag-aaral na sumubok sa kabila ng kanilang pang-unawa na ito ay nakakainip o nakakapagod. Ang gamification ay nagsasangkot ng pagsasama ng mga elemento na karaniwang makikita sa mga laro, tulad ng mga leaderboard at mga nakamit, sa mga konteksto na hindi laro [15]. Naipakita na ang pamamaraang ito ay nakakatulong na makisali sa mga mag-aaral sa software engineering education [24], halimbawa sa pamamagitan ng gamifying lectures o mga tool para magturo ng software testing [7, 12, 16, 22, 36]. Gayunpaman, para ma-internalize ng mga mag-aaral ang pagsubok at maitatag ito bilang mahalagang bahagi ng kanilang diskarte sa pag-unlad, pinagtatalunan namin na kailangan ang tuluy-tuloy na pagsasama ng gamification ng pagsubok sa proseso ng pagbuo ng software.


Upang makamit ito, isinasama namin ang gamification sa tuluy-tuloy na integration (CI) system na ginagamit ng mga mag-aaral. Sa partikular, ginagamit namin ang Gamekins [47], isang plugin na idinisenyo para sa malawakang ginagamit na platform ng CI na Jenkins[1], na walang putol na isinasama ang gamification sa workflow ng software development. Sa pamamagitan ng pagsusuri sa source code at mga resulta ng pagsubok, kinikilala ng Gamekins ang mga lugar kung saan mapapabuti ang pagsubok batay sa saklaw ng code [53] o pagsusuri ng mutation [28] at pagkatapos ay nagbibigay ng insentibo sa pagpapabuti gamit ang mga konsepto ng gamification tulad ng mga hamon at pakikipagsapalaran, nagbibigay-kasiyahan sa mahusay na pagsubok na may mga puntos, tagumpay, at mga ranggo sa leaderboard. Sinuri namin ang mga benepisyo ng pagsasama ng Gamekins sa isang undergraduate na software testing course, sinisiyasat ang epekto nito sa mga layunin ng pag-aaral ng kurso at pag-uugali ng estudyante. Sa detalye, ang mga kontribusyon ng papel na ito ay ang mga sumusunod:


• Iminumungkahi namin ang paggamit ng gamification bilang isang paraan upang bigyan ng insentibo at gantimpalaan ang mga aktibidad sa pagsubok sa CI.


• Ipinakilala namin angGamekin bilang isang tool na gagamitin sa isang undergraduate-level na software testing course.


• Empirically namin sinusuri ang mga epekto ng pagsasama ng Gamekins sa software testing course, paghahambing sa isang nakaraang cohort nang walang gamification at pagsisiyasat sa mga mag-aaral.


Ang mga resulta ng pag-aaral ay nagpapakita ng isang ugnayan sa pagitan ng pag-uugali ng pagsubok ng mga mag-aaral at ang paggamit ng Gamekins, pati na rin ang isang makabuluhang pagpapabuti sa mga tamang resulta kumpara sa nakaraang edisyon ng kurso, kung saan walang gamification ang ginamit sa parehong mga takdang-aralin. Bagama't hindi lahat ng aspeto ng Gamekins ay pangkalahatang nagustuhan ng mga mag-aaral, sa pangkalahatan, nasiyahan sila sa paggamit nito sa buong kurso, na nagpapatunay na ang Gamekins ay isang praktikal na tool sa pagtuturo.


Ang papel na ito ay makukuha sa arxiv sa ilalim ng CC BY-SA 4.0 DEED na lisensya.


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