skip to main content
research-article

Integrating Testing into Software Engineering Courses Supported by a Collaborative Learning Environment

Published:27 October 2014Publication History
Skip Abstract Section

Abstract

As software becomes more ubiquitous and complex, the cost of software bugs continues to grow at a staggering rate. To remedy this situation, there needs to be major improvement in the knowledge and application of software validation techniques. Although there are several software validation techniques, software testing continues to be one of the most widely used in industry. The high demand for software engineers in the next decade has resulted in more software engineering (SE) courses being offered in academic institutions. However, due to the number of topics to be covered in SE courses, little or no attention is given to software testing, resulting in students entering industry with little or no testing experience.

We propose a minimally disruptive approach of integrating software testing into SE courses by providing students access to a collaborative learning environment containing learning materials on testing techniques and testing tools. In this article, we describe the learning environment and the studies conducted to measure the benefits accrued by students using the learning environment in the SE courses.

References

  1. ACM/IEEE-CS Interim Review Task Force. 2008. Computer Science Curriculum 2008: An Interim Revision of CS 2001. Retrieved August 7, 2014, from http://www.acm.org/education/curricula/ComputerScience 2008.pdf.Google ScholarGoogle Scholar
  2. Paul Ammann and Jeff Offutt. 2008. Introduction to Software Testing. Cambridge University Press, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Tara Astigarraga, Eli M. Dow, Christina Lara, Richard Prewitt, and Maria R. Ward. 2010. The emerging role of software testing in curricula. In Transforming Engineering Education: Creating Interdisciplinary Skills for Complex Global Environments, 2010 IEEE. IEEE, Los Alamitos, CA, 1--26. DOI: http://dx.doi.org/10.1109/TEE.2010.5508833Google ScholarGoogle ScholarCross RefCross Ref
  4. Ellen Francine Barbosa, José Carlos Maldonado, Richard LeBlanc, and Mark Guzdial. 2003. Introducing testing practices into objects and design course. In Proceedings of the 16th Conference on Software Engineering Education and Training. IEEE, Los Alamitos, CA, 279--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Victor R. Basili, Richard W. Selby, and David H. Hutchens. 1986. Experimentation in software engineering. IEEE Transactions on Software Engineering SE-12, 7, 733--743. DOI: http://dx.doi.org/10.1109/TSE.1986.6312975 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Sebastian Bergmann. 2013. PHPUnit. Retrieved August 7, 2014, from https://github.com/sebastianbergmann/phpunit/.Google ScholarGoogle Scholar
  7. Robert V. Binder. 1999. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison Wesley Longman, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Pierre Bourque and Robert Dupuis. 2004. Guide to the Software Engineering Body of Knowledge 2004 Version. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  9. Bernd Bruegge and Allen H. Dutoit. 2009. Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd ed.). Prentice Hall, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Lilian Cassel, Lois Delcambre, Edward Fox, and Richard Furuta. 2012. Ensemble: Computing Portal Connecting Computing Educators. Retrieved August 7, 2014, from http://www.computingportal.org/.Google ScholarGoogle Scholar
  11. Yaofei Chen, Rose Dios, Ali Mili, Lan Wu, and Kefei Wang. 2005. An empirical study of programming language trends. IEEE Software 22, 3, 72--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. CITIDEL Team. 2010. CITIDEL: Computing and Information Technology Interactive Digital Educational Library. Retrieved August 7, 2014, from http://www.citidel.org/.Google ScholarGoogle Scholar
  13. Mike Clark. 2012. JDepend. Retrieved August 7, 2014, from http://clarkware.com/software/JDepend.html.Google ScholarGoogle Scholar
  14. Peter J. Clarke, Andrew A. Allen, Tariq M. King, Edward L. Jones, and Prathiba Natesan. 2010. Using a Web-based repository to integrate testing tools into programming courses. In Proceedings of the ACM OOPSLA 2010 Companion (SPLASH’10). ACM, New York, NY, 193--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Peter J. Clarke, Jairo Pava, Debra Davis, and Tariq M. King. 2012. Using WReSTT in SE courses: An empirical study. In Proceedings of the 43rd SIGCSE Conference. ACM, New York, NY, 307--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Peter J. Clarke, Jairo Pava, Yali Wu, and Tariq M. King. 2011. Collaborative Web-based learning of testing tools in SE courses. In Proceedings of the 42nd SIGCSE Conference. ACM, New York, NY, 147--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. CNN. 2012. Is Knight’s $440 million glitch the costliest computer bug ever? (2012). CNN Money, August 9. Retrieved August 7, 2014, from http://money.cnn.com/2012/08/09/technology/knight-expensive- computer-bug/index.html.Google ScholarGoogle Scholar
  18. CNSS. 2005. Software 2015: A National Software Strategy to Ensure U.S. Security and Competitiveness. Technical Report. Center for National Software Studies, Upper Marlboro, MD.Google ScholarGoogle Scholar
  19. Cobertura Team. 2012. Cobertura. Retrieved August 7, 2014, from http://cobertura.sourceforge.net/.Google ScholarGoogle Scholar
  20. CoverStory Team. 2013. CoverStory. Retrieved August 7, 2014, from http://code.google.com/p/coverstory/.Google ScholarGoogle Scholar
  21. Tony Cowling. 2012. Stages in teaching software testing. In Proceedings of the 2012 International Conference on Software Engineering (ICSE’12). IEEE, Los Alamitos, CA, 1185--1194. Available at http://dl.acm.org/citation.cfm?id=2337223.2337379. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. David C. Crowther and Peter J. Clarke. 2005. Examining software testing tools. Dr. Dobbs Journal 373, 1, 26--33.Google ScholarGoogle Scholar
  23. Chetan Desai, David S. Janzen, and John Clements. 2009. Implications of integrating test-driven development into CS1/CS2 curricula. ACM SIGCSE Bulletin 41, 1, 148--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Adrián Domínguez, Joseba Saenz de Navarrete, Luis de Marcos, Luis Fernández-Sanz, Carmen Pagés, and José-Javier Martínez-Herráiz. 2013. Gamifying learning experiences: Practical implications and outcomes. Computers and Education 63, 380--392. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Drupal Community. 2012. Drupal. Retrieved August 7, 2014, from http://drupal.org/.Google ScholarGoogle Scholar
  26. Thomas Dvornik, David S. Janzen, John Clements, and Olga Dekhtyar. 2011. Supporting introductory test-driven labs with WebIDE. In Proceedings of the 24th IEEE-CS Software Engineering Education and Training Conference (CSEET’11). IEEE, Los Alamitos, CA, 51--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Stephen H. Edwards. 2003. Rethinking computer science education from a test-first perspective. In Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’03). ACM, New York, NY, 148--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Facebook Team. 2012. Facebook. Retrieved August 7, 2014, from http://www.facebook.com/.Google ScholarGoogle Scholar
  29. Michael Feathers. 2012. CppUnit. Retrieved August 7, 2014, from http://sourceforge.net/projects/cppunit/.Google ScholarGoogle Scholar
  30. Stephen Frezza. 2002. Integrating testing and design methods for undergraduates: Teaching software testing in the context of software design. In Proceedings of the 32nd Annual Frontiers in Education, 2002 (FIE’02), Vol 3. IEEE, Los Alamitos, CA, SIG-1--SIG-4.Google ScholarGoogle ScholarCross RefCross Ref
  31. Michael P. Gallaher and Brian M. Kropp. 2011. The Economic Impacts of Inadequate Infrastructure for Software Testing. Retrieved August 7, 2014, from http://www.rti.org/pubs/software_testing.pdf.Google ScholarGoogle Scholar
  32. Erich Gamma and Kent Beck. 2012. JUnit. Retrieved August 7, 2014, from http://www.junit.org/.Google ScholarGoogle Scholar
  33. Vahid Garousi. 2010. An open modern software testing laboratory courseware—an experience report. In Proceedings of the 23rd IEEE-CS Software Engineering Education and Training Conference (CSEET’10). IEEE, Los Alamitos, CA, 177--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Michael H. Goldwasser. 2002. A gimmick to integrate software testing throughout the curriculum. In Proceedings of the 33rd SIGCSE Conference. ACM, New York, NY, 271--275. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Starr R. Hiltz. 1998. Collaborative learning in asynchronous learning networks: Building learning communities. (1998). In Proceedings of WEB98.Google ScholarGoogle Scholar
  36. Marc R. Hoffmann. 2012. EclEmma. Retrieved August 8, 2014, from http://www.eclemma.org/.Google ScholarGoogle Scholar
  37. IBM. 2012. Rational Functional Tester. Retrieved August 7, 2014, from http://www-01.ibm.com/software/awdtools/tester/functional/.Google ScholarGoogle Scholar
  38. David S. Janzen and Hossein Saiedian. 2006. Test-driven learning: Intrinsic integration of testing into the CS/SE curriculum. ACM SIGCSE Bulletin 38, 1, 254--258. DOI: http://dx.doi.org/10.1145/1124706.1121419 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Edward L. Jones. 2000. Software testing in the computer science curriculum—a holistic approach. In Proceedings of the Australasian Conference on Computing Education (ACSE’00). ACM, New York, NY, 153--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Cem Kaner, James Bach, and Bret Pettichord. 2001. Lessons Learned in Software Testing. John Wiley & Sons, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Timothy C. Lethbridge, Jorge Diaz-Herrera, Richard J. LeBlanc Jr., and J. Barrie Thompson. 2007. Improving software practice through education: Challenges and future trends. In Proceedings of the 2007 Future of Software Engineering (FOSE’07). IEEE, Los Alamitos, CA, 12--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Cen Li, Zhijiang Dong, Roland H. Untch, and Michael Chasteen. 2013. Engaging computer science students through gamification in an online social network based collaborative learning environment. International Journal of Information and Education Technology 3, 1, 72--77.Google ScholarGoogle ScholarCross RefCross Ref
  43. Qing Li, Rynson W. H. Lau, Timothy K. Shih, and Frederick W. B. Li. 2008. Technology supports for distributed and collaborative learning over the Internet. Transactions on Internet Technology 8, 2, Article No. 5. DOI: http://dx.doi.org/10.1145/1323651.1323656 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Michael J. Lutz, W. Michael McCracken, Susan Mengel, Mark Sebern, Greg W. Hislop, and Thomas B. Hilburn. 2010. SWENET—SEEK Category: Software Verification and Validation (VAV). Retrieved August 7, 2014, from http://www.swenet.org/browseModules.aspx?categoryID=11.Google ScholarGoogle Scholar
  45. Thomas W. Malone. 1980. What makes things fun to learn? Heuristics for designing instructional computer games. In Proceedings of the 3rd ACM SIGSMALL Symposium and the 1st SIGPC Symposium on Small Systems (SIGSMALL’80). ACM, New York, NY, 162--169. DOI: http://dx.doi.org/10.1145/800088.802839. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Aditya P. Mathur. 2008. Foundations of Software Testing. Pearson Education, Delhi, India. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Microsoft Corporation. 2013. Using Testing Tools in Visual Studio Professional Edition. Retrieved August 7, 2014, from http://msdn.microsoft.com/en-us/library/bb385902(v=VS.90).aspx.Google ScholarGoogle Scholar
  48. Glenford J. Myers. 2004. Art of Software Testing (2nd ed.). John Wiley & Sons, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. John Neter, William Wasserman, and Michael H. Kutner. 1990. Applied Linear Statistical Models. Irwin Press, Boston, MA.Google ScholarGoogle Scholar
  50. William Perry. 2006. Effective Methods for Software Testing (3rd ed.). John Wiley & Sons, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Shari Lawrence Pfleeger and Joanne M. Atlee. 2009. Software Engineering: Theory and Practice (4th ed.). Pearson Education, Cranbury Township, NJ.Google ScholarGoogle Scholar
  52. Alex Ramírez and Geoffrey C. Fox. 2011. A Report of the National Science Foundation Advisory Committee for Cyberinfrastructure Task Force on Cyberlearning and Workforce Development. Retrieved August 7, 2014, from http://www.nsf.gov/cise/aci/taskforces/TaskForceReport_Learning.pdf.Google ScholarGoogle Scholar
  53. Sen:te. 2013. Moving OCUnit tests between Logic and Application tests. Retrieved August 7, 2014, from http://www.sente.ch/?p=276&lang=en.Google ScholarGoogle Scholar
  54. Terry Shepard, Margaret Lamb, and Diane Kelly. 2001. More testing should be taught. Communications of the ACM 44, 6, 103--108. DOI: http://dx.doi.org/10.1145/376134.376180 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Charlie Y. Shim, Mina Choi, and Jung Yeop Kim. 2009. Promoting collaborative learning in software engineering by adapting the PBL strategy. In Proceedings of the WASET International Conference on Computer and Information Technology (ICCIT ’09). IEEELos Alamitos, CA, 1167--1170.Google ScholarGoogle Scholar
  56. Sidney Siegel and N. John Castellan. 1988. Nonparametric Statistics for the Behavioral Sciences (2nd ed.). McGraw-Hill, New York, NY.Google ScholarGoogle Scholar
  57. Barbara Leigh Smith and Jean T. MacGregor. 1992. What is collaborative learning? In Collaborative Learning: A Sourcebook for Higher Education, A. S. Goodsell, M. R. Maher, and V. Tinto (Eds.). National Center on Postsecondary Teaching, Learning, and Assessment, University Park, PA.Google ScholarGoogle Scholar
  58. Software Quality Engineering Research Group (SoftQual). 2012. SoftQual Repository of Software Testing Laboratory Courseware. Retrieved August 7, 2014, from http://www.softqual.ucalgary.ca/projects/testing_labs/.Google ScholarGoogle Scholar
  59. Ian Sommerville. 2004. Software Engineering (7th ed.). Pearson Addison Wesley, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Bénédicte Talon, Dominique Leclet, Arnaud Lewandowski, and Grégory Bourguin. 2009. Learning software testing using a collaborative activities oriented platform. In Proceedings of the 2009 9th IEEE International Conference on Advanced Learning Technologies (ICALT’09). IEEE, Los Alamitos, CA, 443--445. DOI: http://dx.doi.org/10.1109/ICALT.2009.61 Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. William Trochim. 2001. The Research Methods Knowledge Base (2nd ed.). Atomic Dog Publishing, Cincinnati, OH.Google ScholarGoogle Scholar
  62. Tom Tullis and Bill Albert. 2008. Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics. Elsevier: Morgan Kaufmann, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Ultimate Software. 2012. Simple Web Automation Toolkit. Retrieved August 7, 2014, from http://sourceforge.net/projects/ulti-swat/.Google ScholarGoogle Scholar
  64. Wikipedia. 2012. List of Software Bugs. Retrieved August 7, 2014, from http://en.wikipedia.org/wiki/List_of_software_bugs.Google ScholarGoogle Scholar
  65. Laurie Williams. 2010. Software Engineering: Testing. OpenSeminar. Retrieved August 7, 2014, from http://openseminar.org/se/modules/7/index/screen.do.Google ScholarGoogle Scholar
  66. Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Bjöorn Regnell, and Anders Wesslén. 2000. Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. WReSTT Team. 2012. WReSTT: Web-based Repository of Software Testing Tools. Retrieved August 7, 2014, from http://wrestt.cis.fiu.edu/.Google ScholarGoogle Scholar

Index Terms

  1. Integrating Testing into Software Engineering Courses Supported by a Collaborative Learning Environment

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Computing Education
      ACM Transactions on Computing Education  Volume 14, Issue 3
      November 2014
      129 pages
      EISSN:1946-6226
      DOI:10.1145/2668970
      Issue’s Table of Contents

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 October 2014
      • Revised: 1 April 2014
      • Accepted: 1 April 2014
      • Received: 1 December 2012
      Published in toce Volume 14, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader