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: Teaching material with accompanying software
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:

  • Learning how to generate tests from UML state machines
  • Coverage criteria
  • Mutation testing

Prerequisites

  • Familiarity with Java programming language and Junit

Classification of the Learning Objectives According to Bloom’s Taxonomy

  • 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
1. Analyse code coverage

2.Generate mutants (with different tools)

3. Write test cases to kill live mutants

   

Expected Consequences
1. Reason about the quality of mutants

2. Understand the differences between code coverage and mutation coverage

3.  Be aware of the differences between mutation testing tools

Meta-Metadata

Metadata Schema: IEEE LOM-based ARIADNE
Language: English