Arunkumar Khannur's Software Testing Knowledge Center

7.6 Domains and Interface Testing

In order to perform domain testing there is a need to select and specify input values that are related to the set of output values; set of input values supplied as input parameters in order to invoke those functions shall be appropriate; there shall be compatibility between caller and called programs.

7.6.1 Domains and Range

The set of input values with which achievable program segments are activated is referred as the domain of the boundary and the set of output values produced by a program segments in response to the domain is called as range of the function.

In domain testing we need to partition the boundary into different equivalent domains; select a set of input values for each domain; supply them to execute corresponding program segment; and check whether output produced are as per our expectations.

Programs that are built using modular programming concepts have many functions. While executing such programs we need to invoke these functions through functional call statements in another function. A function where such calls are invoked is referred to as a caller function and the corresponding function which is executed is referred to as a called function. During Interface testing we map called domain which represent input parameters and verify for correctness of output produced by called function. Such an interface testing consists of exploring the correctness of following mappings:

  • Caller domain is mapped to caller range in order to perform unit test of a caller function
  • Caller range is mapped to called domain in order to perform integration testing
  • Called domain is mapped to called range in order to perform unit testing of called functions

7.6.2 Closure Compatibility

A set of input value selected from closed input domain of a boundary shall be effective enough to execute corresponding achievable predicate path in the program. This requires that input values that are supplied shall be appropriate in number and format so as to produce desired range.

7.6.3 Span Compatibility

Many a times caller functions accept a set of input values so as to produce corresponding set of range in the called functions. Though the called functions seemed to be ok, the called range which represents output values may not be in acceptable form. Such instances result in a bug. Such problems result in incompatibility issues in domain and range. To overcome such span incompatibility issues there is a need to validate the called number with that of caller and by doing so we have to choose only those values that can be included in the call.

7.6.4 Interface range/domain compatibility testing

There can be incompatibility between domain input values and output values that form the range corresponding to this domain. Hence there is a need to test independently every input variable to confirm whether it is compatible with corresponding range. By doing so input shall be classified as a valid input or invalid inputs.

Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt