Capsule 10
Automated state-based testing
General Information about the Capsule
Name: Automated state-based testing
Identifier: ENACTEST_ID_10
Language: English
Category: Teaching material
Keywords: state modeling, model-based testing, finite state machine, mutation testing, test generation
Description:
This capsule, which is developed by RISE, is focused on teaching state-driven model-based testing and how it can be automated. In particular, the teaching material introduces the concepts and practical applications of automated state-based testing using UML (Unified Modelling Language) state machines. With teaching material and practical exercises included in the capsule, students can learn how to model software behaviour using state machines and automate the test generation process to ensure the correctness and conformance of software systems.
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.
