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: Medium
Intended End-User Role: Learner (Master’s students , final year Bachelor’s students)

Context: Higher Education
Typical Age Range: Adult learners (18+ years)
Difficulty Level: Intermediate
Description of Learning Objectives:

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

Prerequisites

  • Prior knowledge of UML class diagrams and state charts.
  • When using own models: Prior knowledge of testing basics

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
Introduction to testing, testing framework and JUnit
Activity 1: Testing a Three Plater Volley Game in JUnit – with submissions
State Model, Coverage, N+ strategy, Code instrumentation, test generation
Activity2: Review generated tests
Evaluate generated tests with Mutation in comparison with manual tests

Expected Consequences
Students will develop skills in model-based testing.

Meta-Metadata

Metadata Schema: IEEE LOM-based ARIADNE
Language: English

More information