Sie sind auf Seite 1von 4

Proceedings of the Electrical and Electronic Postgraduate Colloquium EEPC2009

Motivation for Developing a High Combinatorial Interaction Strength Testing Suit via
the Grid Computing Approach
Bestoun S. Ahmed1 and Kamal Z. Zamli 2
1
Software Engineering Group, School of Electrical and Electronic Engineering
Universiti Sains Malaysia, Engineering Campus
14300 Nibong Tebal, Seberang Perai Selatan, Pulau Pinang, Malaysia
E-mail: besoon82@gmail.com
2
School of Electrical and Electronic Engineering
Universiti Sains Malaysia, Engineering Campus
14300 Nibong Tebal, Seberang Perai Selatan, Pulau Pinang, Malaysia
E-mail: eekamal@eng.usm.my

Abstract parameters and configuration may give rise to the


combinatorial explosion problem.
An essential purpose of software testing is detecting the
The combinatorial explosion problem appears in a highly
defects for a given set of inputs and estimating the
configurable system, such as those used in industrial
effectiveness of a program operation. This allows the
applications. The testing of such a system needs a large
software program to be viewed as the functionality of an
number of test cases due to the different input parameters the
input to an output to ensure that the program realizes its
system may accept. These parameters and their interactions
function. However, considering all input possibilities is
with each other must be considered to ensure the accurate
impossible for a complex configuration and large input
detection of different software bugs. However, exhaustive
parameter software due to the different factors including
testing is often impossible due to time and resource
time, cost, and resource constraints. Thus, the need for a
limitations. As a result, there still exists a need for a more
more intelligent sampling mechanism is realized. Recently,
intelligent mechanism that ensures that interaction coverage
the widespread use of combinatorial interaction testing has
is approached systematically with a minimum number of test
been shown to provide a dramatic solution to such a problem.
cases. A combinatorial strategy is a method or mechanism
Although there are combinatorial test techniques that can
for selecting test cases using a combination of test input
solve the problem of input defects, the increasing complexity
parameters [1].
of configurable software systems creates the need for more
complex interaction strengths that current solutions do not In this paper, we address the different problems in
have. In this paper, we present our approach to this problem combinatorial interaction testing that motivate us to go
and the possibility of using Grid computing to take a better further and investigate more. To this purpose, we first
development direction. present different combinatorial strategies by providing the
definition and the salient features of each strategy, including
Keywords: their advantages and disadvantage. Our focus will center on
Testing, Combinatorial interaction testing, Grid computing the more recent strategies. In doing so, the motivation points
will be made clearer. From this, we will build our approach
to the problem. Finally, we will give a preliminary analysis
Introduction of the problem and declare our intended approach.

As an essential part of software quality assurance, software


testing must span the entire development life cycle. To
Motivation
address quality standards, two different aspects of the
Literature reveals more than 19 different combination
problem must be considered: (1) revealing the faults and (2)
strategies described in more than 40 papers. One of the early
asserting the reliability of the product [1]. To this end, for
techniques for solving the combinatorial explosion problems
given any software, test cases must be generated to
is random testing [2]. Such testing method, however, has
undertake the test process and address the faults that may
both advantages and disadvantages. In particular, it has been
occur. Nowadays, our dependencies on software are
found that different values may produce the same behaviors
straightforward and increasing, as many kinds of software
in random testing. In addition, the probability that one would
have become a part of our daily lives. We use software in
choose a test value that would cause buggy behavior is very
life-saving or safety applications, for example. As a result,
low. Thus, the randomness of choosing the input parameters
rigorous software testing is immensely important. For this
is considered as a non-deterministic strategy [3]. To address
reason, many combinations of input parameters and system
this problem, a systematic method for choosing the right
configurations need to be tested to ensure that a program
inputs becomes an essential demand. This method is called
functions properly. However, high numbers of input
the deterministic strategy.
Proceedings of the Electrical and Electronic Postgraduate Colloquium EEPC2009

In contrast to random strategies, systematic or deterministic and strategies in detail.


strategies produce the same results from a specific input
parameter domain. Currently, there are different
combinatorial strategies under this category including Table 1. Summary of combination strategies
Orthogonal Array (OA) [4], Covering Array (CA) [5], Each Combination Strategy
Choice (EC), Base Choice (BC) [6], All Combinations (AC),

(4,5,6) - Way
2-Way
3-Way

(7,8) - Way

Higher (t)
Anti Random (AR), Partly Pair Wise (PPW), and IPO,
among others. The following diagram shows the detailed T-Way strategy
categorizations for most of the available testing strategies.

AETG N N N
Non-deterministic mAETG N N N
mTCG
GA N N N
ACA N N N
OA
CA
TConfig
AllPairs
TCG N N N N
Deterministic IPO
IPOG
Jenny
TVG
CTS

Figure 1. A detailed categorization of the available testing


strategies Referring to Table 1, the existing T-way strategies are scarce
in higher (t) interaction strengths. We must note that, the
above table is with a certain parameter number not with a
In the deterministic direction, a combinatorial approach is flexible situation of parameter. As a result, there is a scarce
used to ensure that the parameters interact in such a way that also in the parameter number also. It is important to mention
the minimum number of test cases is produced. This type of that (N) in the table refers to the fact that not enough
testing combines parameter values with T-way input information exists because of time constraints. Most
parameters that are covered at least once in a generated test strategies aim to support t=6 at most. As mentioned before,
case. due to the increasing complexity of configurable software
One form of T-Way testing is pairwise or 2-way testing. It is systems, parameter interaction tends to increase
used to ensure the pairwise interaction between two dramatically.
parameters. There are several tools used for pairwise testing
such as AETG [7], TConfig [8], [9], IPO [10], TCG, and Approach
Jenny, among others. However, different studies show that
some faults may also be caused by interactions involving
From the above discussion, clearly there is a need for a new
more than two parameters [11]. Thus, it is necessary to approach for developing new strategies to support high
enable a higher strength of coverage (or t value). IPOG [5] strength combinations of interacting variables. Higher
and its improvements, IPOG-D [12] and IPO-s [13], are interacting degrees of coverage can be remarkably more
perhaps three of the most recent strategies for T-Way
effective in revealing faults.
interaction testing implemented in a tool called FireEye [14].
To address this problem, our research group has made two
A comparison of combination strategies has been made with efforts to increase the strength of parameter interaction. The
respect to coverage criteria, size of generated test suits, time first effort is called the G2Way strategy. This strategy is used
of execution, and generation. Based on these research for conducting T-Way test generation using the backtracking
studies, it appears that the problem of generating and approach [15]. The second effort is a modification of the
constructing a minimum test set from the exhaustive test IPOG strategy called MIPOG for conducting T-Way testing
space is an NP-complete problem [10]. To summarize these [16]. Empirical results demonstrate that both strategies, in
features, the following table compares most of these tools most cases, outperform other strategies as far as the number
Proceedings of the Electrical and Electronic Postgraduate Colloquium EEPC2009

of T-way test sets is concerned. From the results of both For highly configurable systems, the likelihood that one will
strategies, it is clear that there are problems that exist for obtain an out-of-memory error increases when performing
higher T-ways and time. high interaction test generation. Even when the interaction is
within an appropriate range, the time necessarily spent on
There are two efforts in performing improvements through
test case generation will also increase. To prevent such
the modification of the MIPOG strategy for parallel T-way
situations, the strategy called Grid computing appears to be a
test generation.
favorable solution.
The first effort uses multi-core systems, and it is given the
Grid computing provides two main directions. First, it
strategy name MC_MIPOG [17]. The second effort uses
develops a new strategy for T-way test case generation
Grid computing, and it is given the strategy name G_MIPOG
because it is able to deal with a large number of parameters
[16]. Although both cases show an improvement in terms of
and values. Second, the Grid system provides a method for
T-interaction (around t=11), problems still arise due to time
the better distribution of computational processes. This can
and higher T-way interactions. Table 2 summarizes these
lead to higher T-way interactions that utilize less time for
results.
processing.

Preliminary Analysis Conclusion


From the discussion above, it is evident that some problems
This paper aims to address the motivations for developing
still exist with regard to the methods of input selection for
and building a test suit for a system with a high T size. Such
software testing and that these problems require further
a test suit must include the minimum possible number of test
study. These problems include the interaction factors for
cases. When this number is obtained, we can take advantage
generating test cases, the size of these generated cases, and
of real parallelism by distributing them over a set of grid
the time it takes to generate these cases. Each problem gives
resources.
rise to other factors that must also be considered.
Currently, we are developing a test generation strategy that
When the number of parameter coverage increases, the
can derive a minimal test size within an acceptable time limit.
number of T-way test sets also increases exponentially. As
Such a strategy must be able to work with high parameters
such, large and complex systems require higher numbers of
and values. When such a strategy becomes available, we can
parameters and higher orders of T-way tests. Thus, the size
use a real parallel technique to distribute the task around a
of generated test cases will increase dramatically. This large
Grid system that gains time and interaction strength.
number of test cases may further lead to a combinatorial
explosion problem. Testing may become tedious and
consume more of the main memory of the system.

Table 2. Comparative results using the TCAS module for T=2 to 11(source [17])
Proceedings of the Electrical and Electronic Postgraduate Colloquium EEPC2009

[11] Fouche, S., Cohen, M., and Porter, A., "Towards


References incremental adaptive covering arrays", Proceedings of
the 6th joint meeting of the European software
engineering conference and the ACM SIGSOFT
[1] Baresi, L., 2006,"An introduction to software testing", symposium on The foundations of software engineering,
Electronic Notes in Theoretical Computer Science,
Dubrovnik, Croatia, 2007.
148: 89-111.
[12] Lei, Y., Kacher , R., and Richard, D., 2008, "
[2] Mandl.,R., 1985, "Orthogonal Latin Squares: An
IPOG/IPOG-D: efficient test generation for multi-way
application of experiment design to compiler testing", combinatorial testing", Journal of software testing ,
Communications of the ACM, 28(10):1054-1058. verification and reliability, 18: 125-148.
[3] Grindal, M., Offutt, J., Andler, F., 2005, "Combination
[13] Calvaga, A., and Gargantini, A., "IPO-s: incremental
testing strategies: a survey", Journal of Software
generation of combinatorial interaction test data based
Testing, Verification and Reliability, 15(3): 167-199.
on symmetries of covering arrays", Proceedings of
[4] Hedayat, A.S., Sloane, N.J.A., and Stufken., J., IEEE Int. Conf. on software testing verification and
"Orthogonal Arrays: Theory and Applications", New validation workshops, Denver, Colorado – USA, 2009.
York: Springer, 1999.
[14] Lei, Y., Kacker, R., Kuhn, D.R., Okun, V., and
[5] Hartman, A., and Raskin, L., "Problems and Lawrence, J., “IPOG: A General Strategy for T-way
Algorithms for Covering Arrays", Discrete Math., July software testing,” Proceedings of 14th IEEE Intl. Conf.
2004, pp. 149-156. and Workshops on the Engineering of Computer Based
Systems, August 2007.
[6] Grindal, M., Lindstrom, Offutt, J, and Andler, S., "An
Evaluation of Combination Strategies for Test Case [15] Klaib, M., Zamli, K., Mat .Isa, Younis, M., and
Selection, Technical Report", Technical Abdullah, R., “G2Way – A Backtracking Strategy for
ReportHS-IDA-TR-03-001, Department of Computer Pairwise Test Data Generation”, in the 15th IEEE
Science, University of Skovde, 2003. Asia-Pacific Software Engineering Conference,
Beijing, China, 2008, pp. 463-470.
[7] Cohen, D.M., Dalal, S.R., Fredman, M.L., and Patton,
G.C., "The AETG System: An Approach to Testing [16] Younis, M.I. Zamli, K.Z. Isa, N., "
Based on Combinatorial Design", IEEE Trans. on A strategy for Grid based t-way test data generation",
Software Engineering, 23(7), July 1997, pp. 437-444. In proc. First International Conference on Distributed
Framework and Applications, DFmA, 2008.
[8] TConfig tool. Available:
http://www.site.uottawa.ca/~awilliam. [17] Younis, I., and Zamli, Z., 2008, "MC_MIPOG: Parallel
T-Way Test Generation Strategy for Multi-core
[9] Williams, A. W., and Probert, R. L., "A practical System", ETRI Journal.
strategy for testing pair-wise coverage of network
interfaces", In Proceedings of the 7th International
Symposium on Software Reliability Engineering
(ISSRE), White Plains, New York, 1996.
[10] Lei, Y., and Tai, K. C., “In-parameter-order: a test
generation strategy for pairwise testing,” Proceedings
of 3rd IEEE Intl. Conf. on High-Assurance Systems
Engineering Symposium, 1998, pp. 254-261.

Das könnte Ihnen auch gefallen