Capsule 6
TSGame
General Information about the Capsule
Name: TSGame
Identifier: ENACTEST_ID_6
Language: English
Category: Serious Game AND Environment
Keywords: Software Testing, JUnit, Unit Test, Test quality, Test Smells.
Description: The presence of test smells related to low-quality test cases is a known factor contributing to problems in maintaining both test suites and production code. The TSGame (Test Smell Game) capsule provides a serious game where students can familiarize with test smells by practicing with their detection and removal from JUnit test code. TSGame has been implemented as a Web-based application that allows a teacher to assign students test smell detection and refactoring tasks that they have to accomplish in game sessions. Upon completion of the tasks they have the possibility to gain rewards.
Supporting Materials
Cost: Free
Copyright and Other Restrictions: Yes
Description: Licensed for educational and research purposes.
Educational
Interactivity Type: Interactive
Learning Resource Type: Serious Game
Interactivity Level:High
Intended End-User Role: Learner (Master students AND Professionals)
Context: Higher Education
Typical Age Range: Adult learners (18+ years)
Difficulty Level: Advanced
Description of Learning Objectives:
- Learning about bad practices in writing Junit test code (test smells)
- Practicing test smells detection
- Practicing test smells removal maintaining equivalent test cases
Prerequisites
- Prior knowledge of Java language programming
- Prior knowledge of Unit Test techniques
- Familiarity with the JUnit framework.
- Familiarity with good programming practice
Classification of the Learning Objectives According to Bloom’s Taxonomy
- Understand: Comprehend JUnit, Unit Testing, UML state machines, Test generation, and model coverage.
- Apply: N+ strategy for test generation and use mutation testing for evaluating tests.
- Analyze: Compare manual unit tests with generated tests.
- Evaluate: Assess test effectiveness of test cases.
Learning Sequence
a. Students learns theoretical notions about test smells
b. Students receive a test code and a list of test smells to fix
c. Students modify test code to refactor test cases by fixing test smells without reducing test effectiveness
d. Students evaluate their capability of detecting test smells by means of quizzes involving other test cases
e. Students acquire awards and rewards by completing more activities
f. Engage in a challenge: Compete individually to achieve more points by completing more activities
Expected Consequences
Students will develop skills in model-based testing.
