Interface TestInputPrioritizer

  • All Known Implementing Classes:
    NoOpTestInputPrioritizer

    public interface TestInputPrioritizer
    An algorithm which orders test inputs according to some internal prioritization criterion.

    This can be used together with a TestInputGroupGenerator is used which does not take any prioritization information into account. The generator is then only responsible for building test suites which satisfy the defined combinatorial coverage criterion, and a TestInputPrioritizer is used in a following phase to order the generated test inputs.

    No implementation should use information which is not given through the TestModel. If further information are required they should be included into the TestModel so that all algorithms can profit from them.

    Implementations must at least be immutable but should also be stateless (no fields) with the possible exception of configuration parameters.

    • Method Detail

      • prioritize

        List<int[]> prioritize​(Collection<int[]> testCases,
                               TestModel model)
        Prioritizes the given test cases according to some internal prioritization criterion. This criterion should be explained in the Javadoc of the implementation.
        Parameters:
        testCases - the test cases to prioritize. Must not be null
        model - the model which includes additional prioritization information. Must not be null
        Returns:
        the same test cases as in the input, but ordered according to the prioritization criteria. This must NEVER include additional/remove existing test cases! Otherwise the correct behaviour of any calling class can not be guaranteed. Consequently, null is also never a valid return value