Article Preview
Top1. Introduction
The creation of isolated and product-by-product approach of the software development is shifted to the concept of the software product lines (SPL) (Kim et al., 2011). This approach provides various features, like cost minimization and the concept of reachability time in addition to the facilitation of idea for customisable software products. The customisable features of this approach can be either added or separated from the selected software functionality depending on the requirements of the customers or the developers. Eclipse is the commonly used SPL with the presence of number of functions and features that can be either included or obtained from the main framework (Weiss, 2011). The development of interactions among these features leads to the occurrence of fault in the system (Ahmed, et al., 2015; Ahmed, 2016). Thus, the interactions among the features need to be tested with more care (Ahmed, et al., 2017). The testing phase is carried out in order to identify all the defects present in the software (Agarwal, et al., 2010). The defects arise from various sources based on the design of software and the application. Thus, different software testing methodologies are developed and some of them are Boundary Value analysis, Cause- Effect Graphing, and the Equivalence Class Partitioning. Hence, as an unwritten rule, the software testers apply more than one methodology to the software so as to confirm the good quality of the program (Ahmed, et al., 2014).
In software systems, the frequent cause of the defects always arises from the combination of the individual GUI components by catching event transactions (Yuan, et al., 2011). Basically, these types of faults are not resolved using the ordinary testing methods (Bryce, et al., 2011), but in fact, there arise the presence of various constraints in the features. Some of these features can be used or not used at the time of testing (Ahmed, et al., 2017). Thus, the GUI combination testing methodologies are used to resolve these problems using the consideration of combinations of the events (Memon, 2002). The CIT approach is capable of tackling the interactions in an effective manner, but in case of ordinary approaches, all the constraints cannot be satisfied and there arise a possibility of the presence of some invalid combinations in the final test suit being constructed (Ahmed, et al., 2017). In general, the combination testing methods, which are also known as combinatorial testing always depend on the popular mathematical theory termed as combinatorial design (Ahmed, et al., 2014). In the combinatorial design, the finite set of elements is arranged into patterns, such as words, arrays or subsets based on the rules specified (Stinson, 2004). The arrangement of combinations is represented in the form of Covering Array (CA) that denotes all combinations in a single array. Hence, the number of combinations is reduced completely, but are covered with the CA. This way of reduction is very effective for the detection of defect as there is no necessity to test all the combinations that are possible (Nie & Leung, 2011).