Abstract
Software continues to affect a major part of our daily lives, including the way we use our phones, home appliances, medical devices, and cars. The pervasiveness of software has led to a growing demand for software developers over the next decade. To ensure the high quality of software developed in industry, students being trained in software engineering also need to be trained on how to use testing techniques and supporting tools effectively at all levels of development.
In this article, we investigate how testing tools are used in the software project of an undergraduate testing course. We also investigate how a cyberlearning environment—the Web-Based Repository of Software Testing Tutorials (WReSTT)—is used to supplement the learning materials presented in class, particularly the tutorials on different software testing tools. The results of a study spanning three semesters of the undergraduate course suggest that (1) the use of code coverage tools motivates students to improve their test suites; (2) the number of bugs found when using coverage tools slightly increased, which is similar to the results found in the research literature; and (3) students find WReSTT to be a useful resource for learning about software testing techniques and the use of code coverage tools.
- AAAS and NSF. 2013. Transforming Undergraduate Education in STEM: Making and Measuring Impacts. In Proceedings of the 2013 TUES Principal Investigators (Pls) Conference. http://ccliconference.org/files/2013/01/2013-Tues-Conference-Program.pdfGoogle Scholar
- Kalle Aaltonen, Petri Ihantola, and Otto Seppälä. 2010. Mutation analysis vs. code coverage in automated assessment of students’ testing skills. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (OOPSLA’10). ACM, New York, NY, 153--160. DOI:http://dx.doi.org/10.1145/1869542.1869567 Google ScholarDigital Library
- ACM/IEEE-CS Interim Review Task Force. 2008. Computer Science Curriculum 2008: An Interim Revision of CS 2001. Retrieved June 12, 2017, from http://www.acm.org/education/curricula/ComputerScience 2008.pdf.Google Scholar
- Paul Ammann and Jeff Offutt. 2008. Introduction to Software Testing. Cambridge University Press, New York, NY.Google Scholar
- Robert V. Binder. 1999. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison Wesley Longman, Boston, MA.Google ScholarDigital Library
- P. Bourque and R. Dupuis. 2004. Guide to the Software Engineering Body of Knowledge 2004 Version. IEEE, Los Alamitos, California.Google Scholar
- Tom Britton, Lisa Jeng, Graham Carver, and Paul Cheak. 2013. Reversible Debugging Software “Quantify the Time and Cost Saved Using Reversible Debuggers.” Available at http://citeseerx.ist.psu.edu/viewdoc/summary? doi=10.1.1.370.9611Google Scholar
- 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 Scholar
- J. C. Carver and N. A. Kraft. 2011. Evaluating the testing ability of senior-level computer science students. In Proceedings of the 24th IEEE-CS Conference on CSEET. IEEE, Los Alamitos, CA, 169--178. DOI:http://dx.doi.org/10.1109/CSEET.2011.5876084 Google ScholarDigital Library
- Peter J. Clarke, Debra Davis, Raymond Chang-Lau, and Tariq King. 2014a. Observations on student use of tools in an undergraduate testing class. In 121st American Society for Engineering Education (ASEE)—Software Engineering Constituent Committee Division Track (SWECC). Paper No. 10123. ASEE, Washington DC.Google Scholar
- Peter J. Clarke, Debra Davis, Tariq M. King, Jairo Pava, and Edward L. Jones. 2014b. Integrating testing into software engineering courses supported by a collaborative learning environment. Transactions on Computing Education 14, 3, Article No. 18. DOI:http://dx.doi.org/10.1145/2648787 Google ScholarDigital Library
- 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 ScholarDigital Library
- CodeCover Team. 2011. CodeCover Home Page. Retrieved June 12, 2017, from http://codecover.org/Google Scholar
- Jacob Cohen. 1988. Statistical Power Analysis for the Behavioral Sciences (2nd ed.). Lawrence Erlbaum, NJ.Google Scholar
- John W. Creswell. 2004. Educational Research: Planning, Conducting, and Evaluating Quantitative and Qualitative Research (2nd ed.). Prentice Hall, Upper Saddle River, NJ.Google Scholar
- Sebastian Deterding, Dan Dixon, Rilla Khaled, and Lennart Nacke. 2011. From game design elements to gamefulness: Defining “gamification.” In Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments (MindTrek’11). ACM, New York, NY, 9--15. DOI:http://dx.doi.org/10.1145/2181037.2181040 Google ScholarDigital Library
- E. W. Dijkstra. 1970. Software Engineering Techniques. Report on a conference sponsored by the NATO Science Committee, Rome, Italy, October 1969.Google Scholar
- T. Dvornik, D. S. Janzen, J. Clements, and O. 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 ScholarDigital Library
- Stephen Edwards. 2015. Web-CAT: The Web-Based Center for Automated Testing. http://web-cat.org/.Google Scholar
- Stephen H. Edwards. 2004. Using software testing to move students from trial-and-error to reflection-in-action. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE’04). ACM, New York, NY, 26--30. DOI:http://dx.doi.org/10.1145/971300.971312 Google ScholarDigital Library
- Stephen H. Edwards and Zalia Shams. 2014. Comparing test quality measures for assessing student-written tests. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion’14). ACM, New York, NY, 354--363. DOI:http://dx.doi.org/10.1145/2591062.2591164 Google ScholarDigital Library
- FitNesse Team. 2015. FitNesse Home Page. Retrieved June 12, 2017, from http://www.fitnesse.org/.Google Scholar
- P. G. Frankl and E. J. Weyuker. 1993. A formal analysis of the fault-detecting ability of testing methods. IEEE Transactions on Software Engineering 19, 3, 202--213. http://dx.doi.org/10.1109/32.221133 Google ScholarDigital Library
- S. Frezza. 2002. Integrating testing and design methods for undergraduates: Teaching software testing in the context of software design. In Proceedings of the 32nd Annual Conference on Frontiers in Education (FIE’02). Vol. 3. IEEE, Los Alamitos, CA.Google ScholarCross Ref
- E. Gamma and K. Beck. 2015. JUnit Home Page. Retrieved June 12, 2017, from http://www.junit.org/.Google Scholar
- V. Garousi. 2011. Incorporating real-world industrial testing projects in software testing courses: Opportunities, challenges, and lessons learned. In Proceedings of the 24th IEEE-CS Conference on CSEET. IEEE, Los Alamitos, CA, 396--400. DOI:http://dx.doi.org/10.1109/CSEET.2011.5876112 Google ScholarDigital Library
- Michael Hackett. 2013. The changing landscape of software testing. LogiGear Magazine 7, 1, 7--15. http://www.logigear.com/magazine/wp-content/uploads/2013/02/LogiGear-Magazine-The-Rapidly-Changing-Testing-Landscape1.pdf.Google Scholar
- Joachim Hofer. 2010. eCobertura Home Page. (August2010). Retrieved June 12, 2017, from http://ecobertura.johoop.de/.Google Scholar
- Marc R. Hoffmann, Brock Janiczak, and Evgeny Mandrikov. 2015. EclEmma Home Page. Retrieved June 12, 2017, from http://www.eclemma.org/.Google Scholar
- IBM. 2015a. Rational Functional Tester. Retrieved June 12, 2017, from http://www-01.ibm.com/software/awdtools/tester/functional/.Google Scholar
- IBM. 2015b. Rational Test RealTime. Retrieved June 12, 2017, from http://www-03.ibm.com/software/products/en/realtime.Google Scholar
- Laura Inozemtseva and Reid Holmes. 2014. Coverage is not strongly correlated with test suite effectiveness. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). ACM, New York, NY, 435--445. DOI:http://dx.doi.org/10.1145/2568225.2568271 Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- C. Kaner and S. Padmanabhan. 2007. Practice and transfer of learning in the teaching of software testing. In Proceedings of the 20th Conference on Software Engineering Education Training (CSEET’07). IEEE, Los Alamitos, CA, 157--166. DOI:http://dx.doi.org/10.1109/CSEET.2007.38 Google ScholarDigital Library
- Alex Koohang. 2004. Creating learning objects in collaborative e-learning settings. Issues in Information Systems 4, 2, 584--590. http://www.iacis.org/iis/2004/Koohang.pdfGoogle Scholar
- Ilaria Liccardi, Asma Ounnas, Reena Pau, Elizabeth Massey, Päivi Kinnunen, Sarah Lewthwaite, Marie-Anne Midy, and Chandan Sarkar. 2007. The role of social networks in students’ learning experiences. ACM SIGCSE Bulletin 39, 4, 224--237. http://doi.acm.org/10.1145/1345375.1345442Google ScholarDigital Library
- 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 ScholarDigital Library
- Aditya P. Mathur. 2008. Foundations of Software Testing. Pearson Education, Delhi, India.Google Scholar
- John D. McGregor and David A. Sykes. 2001. A Practical Guide to Testing Object-Oriented Software. Addison Wesley Longman, Boston, MA.Google Scholar
- NUnit Team. 2015. NUnit Home Page. Retrieved June 12, 2017, from http://www.nunit.org/.Google Scholar
- Selenium Development Team. 2014. SeleniumHQ Home Page. Retrieved June 12, 2017, from http://www.seleniumhq.org/.Google Scholar
- 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). IEEE, Los Alamitos, CA, 1167--1170.Google Scholar
- 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 Scholar
- Rachel S. Smith. 2004. Guidelines for Authors of Learning Objects. New Media Consortium. Available at https://www.nmc.org/publication/guidelines-for-authors-of-learning-objects.Google Scholar
- Jean Tesser. 2010. Dependency Finder. Retrieved June 12, 2017, from http://depfind.sourceforge.net.Google Scholar
- Wikipedia. 2013. Category:Software testing tools. Retrieved June 12, 2017, from http://en.wikipedia.org/wiki/Category:Software_testing_tools.Google Scholar
- WReSTT Team. 2015. WReSTT: Web-Based Repository for Software Testing Tutorials. Retrieved June 12, 2017, from http://wrestt.cis.fiu.edu/.Google Scholar
- Qian Yang, J. Jenny Li, and David Weiss. 2007. A survey of coverage-based testing tools. Computer Journal 52, 5, 589--597. Google ScholarDigital Library
- Hong Zhu. 1996. A formal analysis of the subsume relation between software test adequacy criteria. IEEE Transactions on Software Engineering 22, 4, 248--255. DOI:http://dx.doi.org/10.1109/32.491648 Google ScholarDigital Library
- Hong Zhu, Patrick A. V. Hall, and John H. R. May. 1997. Software unit test coverage and adequacy. ACM Computing Surveys 29, 366--427. Google ScholarDigital Library
Index Terms
- Impact of Using Tools in an Undergraduate Software Testing Course Supported by WReSTT
Recommendations
Survey of Learning Environments for Software Testing Education
ECBS 2021: 7th Conference on the Engineering of Computer Based SystemsSoftware development is one of the fastest growing industries today. The defects in software can be very costly, either in terms of losing money, reputation, or even lives in case of some critical applications. Consequently, there is a high and always ...
Integrating Testing into Software Engineering Courses Supported by a Collaborative Learning Environment
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 ...
A survey of coverage based testing tools
AST '06: Proceedings of the 2006 international workshop on Automation of software testTest coverage is sometimes used as a way to measure how thoroughly software is tested. Coverage is used by software developers and sometimes by vendors to indicate their confidence in the readiness of their software. This survey studies and compares 17 ...
Comments