Hierarchical test suites
When considering several hundred or thousand test cases, maintaining corresponding resources may become a problem. Test case resources may be reduced by arranging test suites similar to requirements and test cases in hierarchies. This also allows introducing advanced testing features as test suite inheritance.
E.g. a test suite defined for value domain check that refers to 5 subordinates test cases (defining tests for lower than or equal to minimum value, between minimum and maximum and equal to or greater than maximum) may share its data with another value domain check by using the same parent test suite.
Finally, how test suites are structured, depends on practical requirements. In general, test suites are required when resources for tests differ, i.e. within a test suite, all tests refer to the same test set and same set of expected results, but may be called in different ways.
Hierarchical test suites provide the advantage, that resources may be inherited from test suite parents, which allows defining reusable test resources.
- main_suite - providing default resources
- test suite 1
- test suite 11
- ...
- ...
- test suite n
Since running a test suite includes running all test cases and related tests defined in subordinated test suites, too, ordering test suites in a hierarchy provides an additional way of filtering a set of test suites to be executed. Moreover, hierarchical test suites allow referring to advanced test run features as resource inheritance and action overloading.
Using resource inheritance and action overloading features, borderlines between test suites as well as between test suite and test case become blurred. Nodes in the hierarchy may be interpreted as test suite, but also as test case.