Category Partition (CP) is a Black Box testing technique that formalizes the specification of the input domain of the system under test. A CP specification is driven by the tester's expertise and comprises of parameters, categories (characteristics of parameters) and choices (acceptable values for categories) required for extensively testing the system. To ensure completeness, choices not only correspond to permitted input values but also correspond to values that account for boundaries or robustness. These choices are combined on the basis of various selection criterion (e.g., Base Choice, Pairwise) to form test frames which given input values form test cases. To ensure that the combinations of choices are feasible and account for valid sets of user requirements, constraints are introduced. A constraint can be a specification for permitted choice combination or a choice annotation as Error or Single. In a typical development environment where testing is driven by stringent deadlines, a tester might have to decide how many constraints (constraints among choices, Error or Single annotation) are enough to attain the maximum level of test completeness. The present work will assist a test engineer in making this decision. This thesis contributes by concluding, based on experimental evaluation of academic and industrial case studies, that in case of limited resources an equally effective test suite can be attained by meticulously defining Error and Single annotations in a CP specification. The present work also contributes by challenging the notion that introducing constraints reduces the cost of the test suite by restricting the combination of choices. This thesis asserts, based on experimental evaluation, that introducing constraints does not always reduce cost and that the cost of the test suite depends on various other factors. iv Combining choices while accounting for constraints and forming each choice adequate test set, for instance, is achievable, thanks to Constrained Covering Arrays from combinatorial testing. But, Base Choice (BC) criterion besides being an integral and domain specific criterion has not been defined to specifically account for constraints on choices. This thesis contributes by introducing two extensions to the BC criterion: Constrained Base Choice and Extended Constrained Base Choice, to account for constraints resulting from complex input domain. A number of academic and industrial case studies have been used to compare different selection criteria, including the new ones, in terms of data flow coverage, control flow coverage, cost and effectiveness at finding faults. Results show the performance of the new criteria equivalent to a 3-way selection criterion with a much smaller cost. The use of CP on large systems can result in a large number of parameters (categories) and values (choices). A technique based on combinatorics called Combinatorial Testing (CT) is then used to automate the process of creating those combinations of choices to form test frames. CT is typically performed with the...