Abstract
Grid computing, which is characterized by large-scale sharing and collaboration of dynamic distributed resources has quickly become a mainstream technology in distributed computing and is changing the traditional way of software development. In this article, we present a grid-based software testing framework for unit and integration test, which takes advantage of the large-scale and cost-efficient computational grid resources to establish a testbed for supporting automated software test in complex software applications. Within this software testing framework, a dynamic bag-of-tasks model using swarm intelligence is developed to adaptively schedule unit test cases. Various high-confidence computing mechanisms, such as redundancy, intermediate value checks, verification code injection, and consistency checks are employed to verify the correctness of each test case execution on the grid. Grid workflow is used to coordinate various test units for integration test. Overall, we expect that the grid-based software testing framework can provide efficient and trustworthy services to significantly accelerate the testing process with large-scale software testing.
Similar content being viewed by others
References
Horgan R (1998) Panel statement: large scale software testing. In: Proceedings of 8th international symposium on software reliability engineering
Foster I, Kesselman C, Tueske S (2001) The anatomy of the grid. Int J Supercomput Appl 15(3):200–222
Goble C, Roure DD (2003) The grid: an application of the semantic web. In: Grid computing: making the global infrastructure a reality, pp 437–470
Foster I, Kesselman C, Nick JM, Tuecke S (2003) The physiology of grid: open grid services architecture for distributed systems integration (draft)
Duarte AN, Cirne W, Brasileiro F, Duarte P, Machado L (2005) Using the computational grid to speed up software testing. In: Proceedings of 19th Brazilian symposium on software engineering
Li Y, Dong T, Zhang X, Song Y, Yuan X (2006) Large-scale software unit testing on the grid. In: Proceedings of IEEE international conference on granular computing, Atlanta
Duarte A, Cirne W, Brasileiro F, Machado P (2006) GridUnit, software testing on the grid. In: Proceedings of ICSE
Beck M, Dongarra J, Eijkhout V, Langston M, Moore T, Plank J (2003) Scalable, trustworthy network computing using untrusted intermediaries: a position paper. DOE/NSF workshop on new directions in cyber-security in large-scale networks: development obstacles
SETI@home (2002) SETI@home: the Search for Extraterrestrial Intelligence. http://setiathome.ssl.berkeley.edu
Folding@home (2003) Distributed computing. http://folding.stanford.edu
distributed.net (2006) http://www.distributed.net
Pressman R (2005) Software engineering: a practitioner’s approach. McGraw–Hill, New York
Foster I, Kesselman C (1997) Globus: a metacomputing infrastructure toolkit. Int J Supercomput Appl 11(2):115–128
Globus website (2005) http://www.globus.org
JUnit (2005) http://www.junit.org/index.htm
NUnit (2005) http://www.nunit.org
DbUnit (2005) http://dbunit.sourceforge.net
pyUnit (2005) http://pyunit.sourceforge.net
Fisher L (2002) Workflow handbook. Workflow Management Coalition
Bonabeau E, Théraulaz G (2000) Swarm smarts. Sci Am 282:72–79
Bivens HP (2001) Grid workflow. Grid computing environments working group. Global grid forum
Denebourg JL, Pasteels JM, Verhaeghe JC (1983) Probabilistic behavior in ants: a strategy of errors? J Theor Biol 105:259–271
Shapiro JA (1988) Bacteria as multicellular organisms. Sci Am 256:82–89
Fitzgerald TD, Peterson SC (1998) Cooperative foraging and communication in caterpillars. Bioscience 38:20–25
Di Caro G, Dorigo M (1998) Ant colonies for adaptive routing in packet-switched communications networks. In: Proceedings of fifth international conference on parallel problem solving from nature
Di Garo G, Dorigo M (1998) An adaptive multi-agent routing algorithm inspired by ants behavior. In: Proceedings of 5th annual Australasian conf para & real-time sys
Carriero N, Gelernter D, Leichter J (1986) Distributed data structures in Linda. In: Proceedings of 13th ACM symp on principles of programming languages
Andrews GR (1991) Concurrent programming: principles and practice. Benjamin–Cummings, Redwood City
Kuang H, Bic LF, Dillencourt MB (2002) Iterative grid-based computing using mobile agents. In: Proceedings of 31st IEEE international conference on parallel processing, ICPP2002
Sarmenta LFG (2001) Sabotage-tolerance mechanisms for volunteer computing systems. In: Proceedings of ACM/IEEE international symposium on cluster computing and the grid (CCGrid’01)
Wu M, Sun X (2003) A general self-adaptive task scheduling system for non-dedicated heterogeneous computing. In: Proceedings of IEEE intl conf on cluster computing
Li Y, Mascagni M (2003) Analysis of large-scale grid-based Monte Carlo applications. Int J High Perform Comput Appl 17(4):369–382
Li Y, Mascagni M (2004) E-science on the grid: toward a dynamic E-science automation with XML and workflow techniques. In: Proceedings of the 8th world multi-conference on systemics, cybernetics, and informatics, SCI’04, Orlando, Florida
Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) SETI@home: an experiment in public-resource computing. Commun ACM 45(11):56–61
Li Y, Mascagni M (2003) Improving performance via computational replication on a large-scale computational grid. In: Proceedings of the 3rd IEEE/ACM international symposium on cluster computing and the grid
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, Y., Song, YD. An adaptive and trustworthy software testing framework on the grid. J Supercomput 46, 124–138 (2008). https://doi.org/10.1007/s11227-007-0160-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0160-2