Implementazione nuove funzionalità per Gamekins: un plugin per la gamification nel processo di continuous integration
View/ Open
Author
Chiola, Diego <2000>
Date
2024-02-20Data available
2024-02-22Abstract
Quella del testing è un’attività fondamentale nel ciclo di sviluppo di un software. Gli obiettivi principali sono quelli di rivelare eventuali difetti e assicurarsi che il software finale sia conforme ai requisiti stabiliti durante la fase di progettazione. Una gestione non corretta della fase di testing può portare al rilascio di un software difettoso con la conseguente perdita di credibilità e costi aggiuntivi. Nonostante l’importanza di questa attività, scrivere test è considerato poco piacevole, noioso e tedioso. Un potenziale approccio per influenzare il comportamento delle persone è la gamification, una tecnica che è applicabile in molti contesti diversi e che è stata esplorata anche nell’ingegneria del software. Sono state date diverse definizioni al termine gamification, la più condivisa è quella proposta dal ricercatore e game designer Sebastian Deterding:
“La Gamification è l’utilizzo di elementi di game design in contesti diversi dal gioco” (Deterding, 2011).
Negli ultimi anni sono stati implementati molti tool per introdurre tecniche di gamification nel processo di sviluppo di un software, uno di questi è Gamekins. Gamekins è un plugin di Jenkins sviluppato da Philipp Straubinger e Gordon Fraser, creato per introdurre il concetto di gamification nel processo di continuos integration al fine di invogliare gli sviluppatori a scrivere un numero maggiore di test. Uno degli elementi di gamification presenti in Gamekins consiste in un meccanismo di ricompense che premia i giocatori in risposta allo svolgimento di determinate attività, dette challenge. L’obiettivo di questa prova finale è estendere questo aspetto di Gamekins, creando un nuovo tipo di challenge e illustrandone un’ipotesi di implementazione. Testing is a fundamental activity in the software development cycle. The main objectives are to reveal any defects and ensure that the final software complies with stability requirements during the design phase. Incorrect management of the testing phase can lead to the release of faulty software with the consequent loss of credibility and additional costs. Despite the importance of this activity, writing tests is considered unpleasant, boring and tedious. One potential approach to influencing people's behavior is gamification, a technique that is applicable in many different contexts and which has also been explored in software engineering. Various definitions have been given to the term gamification, the most shared is that proposed by the researcher and game designer Sebastian Deterding:
“Gamification is the use of game design elements in contexts other than gaming” (Deterding, 2011).
In recent years, many tools have been implemented to introduce gamification techniques into the software development process, one of these is Gamekins. Gamekins is a Jenkins plugin developed by Philipp Straubinger and Gordon Fraser, created to introduce the concept of gamification into the continuous integration process in order to invoke developers to write more tests. One of the gamification elements present in Gamekins consists of a reward mechanism that rewards players in response to carrying out certain activities, called challenges. The goal of this final test is to extend this aspect of Gamekins, creating a new type of challenge and illustrating an implementation hypothesis.
Type
info:eu-repo/semantics/bachelorThesisCollections
- Laurea Triennale [2336]