Skip to main content
Log in

An adaptive and trustworthy software testing framework on the grid

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Horgan R (1998) Panel statement: large scale software testing. In: Proceedings of 8th international symposium on software reliability engineering

  2. Foster I, Kesselman C, Tueske S (2001) The anatomy of the grid. Int J Supercomput Appl 15(3):200–222

    Google Scholar 

  3. 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

  4. Foster I, Kesselman C, Nick JM, Tuecke S (2003) The physiology of grid: open grid services architecture for distributed systems integration (draft)

  5. 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

  6. 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

  7. Duarte A, Cirne W, Brasileiro F, Machado P (2006) GridUnit, software testing on the grid. In: Proceedings of ICSE

  8. 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

  9. SETI@home (2002) SETI@home: the Search for Extraterrestrial Intelligence. http://setiathome.ssl.berkeley.edu

  10. Folding@home (2003) Distributed computing. http://folding.stanford.edu

  11. distributed.net (2006) http://www.distributed.net

  12. Pressman R (2005) Software engineering: a practitioner’s approach. McGraw–Hill, New York

    Google Scholar 

  13. Foster I, Kesselman C (1997) Globus: a metacomputing infrastructure toolkit. Int J Supercomput Appl 11(2):115–128

    Article  Google Scholar 

  14. Globus website (2005) http://www.globus.org

  15. JUnit (2005) http://www.junit.org/index.htm

  16. NUnit (2005) http://www.nunit.org

  17. DbUnit (2005) http://dbunit.sourceforge.net

  18. pyUnit (2005) http://pyunit.sourceforge.net

  19. Fisher L (2002) Workflow handbook. Workflow Management Coalition

  20. Bonabeau E, Théraulaz G (2000) Swarm smarts. Sci Am 282:72–79

    Article  Google Scholar 

  21. Bivens HP (2001) Grid workflow. Grid computing environments working group. Global grid forum

  22. Denebourg JL, Pasteels JM, Verhaeghe JC (1983) Probabilistic behavior in ants: a strategy of errors? J Theor Biol 105:259–271

    Article  Google Scholar 

  23. Shapiro JA (1988) Bacteria as multicellular organisms. Sci Am 256:82–89

    Article  Google Scholar 

  24. Fitzgerald TD, Peterson SC (1998) Cooperative foraging and communication in caterpillars. Bioscience 38:20–25

    Article  Google Scholar 

  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

  26. 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

  27. Carriero N, Gelernter D, Leichter J (1986) Distributed data structures in Linda. In: Proceedings of 13th ACM symp on principles of programming languages

  28. Andrews GR (1991) Concurrent programming: principles and practice. Benjamin–Cummings, Redwood City

    Google Scholar 

  29. 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

  30. 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)

  31. 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

  32. Li Y, Mascagni M (2003) Analysis of large-scale grid-based Monte Carlo applications. Int J High Perform Comput Appl 17(4):369–382

    Article  Google Scholar 

  33. 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

  34. 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

    Article  Google Scholar 

  35. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yaohang Li.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-007-0160-2

Keywords

Navigation