testgen
TestGenerator(equivalence_classes, seed, type_specs)
A class that generates abstract test inputs for binary decision trees.
Attributes:
equivalence_classes: list Equivalence classes extracted from the decision tree.
dict
Input types for each feature as defined in the specifications.
list
List of test plans used to sample test inputs.
list
Number of test inputs to generate for each equivalence class.
Methods:
generate_testinputs() Generates abstract test inputs based on the selected coverage strategy.
Initializes the Test Generator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equivalence_classes
|
list
|
Equivalence classes extracted from the decision tree. |
required |
seed
|
int
|
The random seed to use for reproducible test input generation. |
required |
type_specs
|
dict
|
Input types for each feature from the specifications. |
required |
Source code in src/flowcean/testing/generator/ddtig/domain/test_generator/testgen.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | |
generate_testinputs(test_coverage_criterium, eqclass_prio, n_testinputs, *, inverse_alloc, epsilon)
Generates abstract test inputs for all equivalence classes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
test_coverage_criterium
|
str
|
Coverage strategy ("bva" or "dtc"). |
required |
eqclass_prio
|
list
|
Importance scores for each equivalence class. |
required |
n_testinputs
|
int
|
Total number of test inputs to generate. |
required |
inverse_alloc
|
bool
|
If True, allocate more inputs to less important classes. |
required |
epsilon
|
float
|
Offset for BVA sampling. |
required |
Returns:
| Type | Description |
|---|---|
list
|
List of abstract test inputs. |
list
|
Each test input is a tuple of feature values. |
list
|
E.g.: [(1,2,3), (11,22,33), (87,29,38)] |
Source code in src/flowcean/testing/generator/ddtig/domain/test_generator/testgen.py
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | |
reverse_list_by_value(numbers_list)
Reverse values by magnitude while preserving positions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
numbers_list
|
list
|
List of numeric values to reverse. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
list
|
A list where each value is replaced by its reversed counterpart |
|
list
|
based on magnitude. |
|
Example |
list
|
reverse_list_by_value([1, 4, 2, 3]) -> [4, 1, 3, 2] |
Source code in src/flowcean/testing/generator/ddtig/domain/test_generator/testgen.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |