Capsule 4
FRAFOL – FRAmework FOr Learning mutation testing
General Information about the Capsule
Name: FRAFOL
Identifier: ENACTEST_ID_4
Language: English
Category: Learning Environment
Keywords: Mutation Testing, Software Testing, PIT, Major
Description:
FRAFOL is a teaching tool that integrates the PIT and Major mutation testing tools into a unified and user-friendly environment. These tools were chosen for their widespread use and complementary features (source code vs. bytecode mutations). FRAFOL’s WebGUI and Docker-based deployment streamline usability and accessibility, making it ideal for teaching and learning mutation testing. Built as an extension of Defects4J, a repository of reproducible Java bugs, FRAFOL provides access to realistic projects and facilitates analysis and testing.
Supporting Materials
Cost: Free
Copyright and Other Restrictions: Yes
Description: Licensed for educational and research purposes.
Educational
Interactivity Type: Interactive
Learning Resource Type: Learning/teaching environment
Interactivity Level: High
Intended End-User Role: Learner (Bachelor AND Master students)
Context: Higher Education
Typical Age Range: Adult learners (18+ years)
Difficulty Level: Advanced
Description of Learning Objectives:
- Apply mutation analysis and testing
- Reason about test quality, using coverage and mutation adequacy criteria
- Be aware of the differences among mutation testing tools
Prerequisites
- Familiarity with Java programming language and Junit
Classification
- Understand: Comprehend mutation testing concepts
- Apply: Write unit test cases to kill generated mutants
- Analyze: Analyse code and build test cases to kill mutants
- Evaluate: Assess test effectiveness using metrics like mutation score
Learning Sequence
a. Analyse code coverage
b. Generate mutants (with different tools)
c. Write test cases to kill live mutants
Expected Consequences
a. Reason about the quality of mutants
b. Understand the differences between code coverage and mutation coverage
c. Be aware of the differences between mutation testing tools
