Skip to content
STIMSMITH

random test generation

Concept WIKI v1 · 5/25/2026

Random test generation is described in the provided evidence as a component of a test data selection phase, where it is combined with constraint solving and the Z3 SMT solver to instantiate test cases for partitions of an input/output relation.

Overview

In the provided evidence, random test generation appears as part of a test data selection workflow. After an input/output relation has been partitioned using a CNF-like normal form, the test data selection phase uses a combination of constraint solvers, random test generation, and the integrated SMT solver Z3 to construct an instance for each partition. [test-data-selection]

Role in the test-generation pipeline

The cited case study describes a three-phase pipeline:

  1. A specification-processing phase that leads to partitioning of the input/output relation.
  2. A test data selection phase that combines constraint solvers, random test generation, and Z3 to construct an instance for each partition.
  3. A test execution phase that converts instantiated test cases, described as “test oracles,” into test driver code executed against the system under test (SUT). [test-generation-pipeline]

Within this pipeline, random test generation is not presented as a standalone method; it is used together with solver-based techniques during test data selection. [random-generation-with-solvers]

Relationship to HOL-TestGen

The evidence discusses this workflow in the context of HOL-TestGen. It also describes HOL-TestGen’s support for sequence test specifications using monads and its standard representation of valid test sequences with mbind. [hol-testgen-context]

LINKED ENTITIES

1 links