Capsule 16

Test Design Techniques

General Information about the Capsule

Name: Test Design Techniques
Identifier: ENACTEST_ID_16
Language: English
Category: Lesson/ Tool/ Exercise
Keywords: Test Design Techniques – White Box Testing – Black Box Testing – Techniques – BVA – Branch-coverage – Statement coverage – Experience based testing – Exploratory testing – Error guessing

Description:
Test design techniques (TDT) are essential for creating efficient, effective, and comprehensive test cases. They help ensure that software is thoroughly tested while optimizing time and resources.

The training introduces various TDTs, focusing on their importance and practical applications. Black box testing techniques are covered first, including equivalence partitioning and boundary value analysis.

White box testing techniques are then explored. Topics include statement coverage and decision coverage, which ensure that all code paths and decision points are tested.

Experience-based testing techniques are also addressed, highlighting their value in leveraging testers’ expertise and intuition. Methods such as error guessing and exploratory testing allow testers to uncover hidden defects through informed and adaptive testing approaches.

This training equips participants with the skills to apply these techniques effectively, enhancing the overall quality and reliability of their testing efforts.

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