A UML-based approach to system testing
the category - partition method for specifying and generating functional tests .