skip to main content
10.1145/3408877.3432404acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Peer Instruction in Software Testing and Continuous Integration

Published:05 March 2021Publication History

ABSTRACT

Peer Instruction (PI) is an active learning pedagogy in which students actively participate in the classroom. There have been several research studies regarding the value of PI in computer science. The present work adds to this body of knowledge by examining outcomes from an undergraduate software engineering course with specific focus on the effects of PI on student learning in the topics of unit testing, integration testing and continuous integration. We find encouraging increases in levels of success as measured through a cognitive pre- and post-course survey for those topics. This work also documents and hypothesizes reasons for the cognitive gains from PI, as well as student attitudes towards PI.

References

  1. ACM Computing Curricula Task Force (Ed.). 2013. Computer science curricula 2013: Curriculum guidelines for undergraduate degree programs in computer science. ACM.Google ScholarGoogle Scholar
  2. Adawi,T., Burden,H., Olsson, D., and Mattiasson, R. 2016. Characterizing software engineering students? discussions during peer instruction: Opportunities for learning and implications for teaching. Int. J. Eng. Educ. 32, 2 , 927--936.Google ScholarGoogle Scholar
  3. Agarwal, R., Edwards, S.H., and Pérez-Quiñones, M.. 2006. Designing an adaptive learning module to teach software testing. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, 259--263.Google ScholarGoogle Scholar
  4. Aniche, M., Hermans, F., and Deursen, A. 2019. Pragmatic software testing education. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19), ACM, New York, NY, USA, 414--420.Google ScholarGoogle Scholar
  5. Banerjee, M., Capozzoli, M., McSweeney, L., and Sinha, D. 1999. Beyond kappa: A review of interrater agreement measures. Can. J. Stat. 27, 1 (1999), 3--23.Google ScholarGoogle ScholarCross RefCross Ref
  6. Baptista, A. 2017. Report: Software failures cost $1.1 trillion in 2016. Service Virtualization Today. Retrieved August 7, 2019 from http://servicevirtualization.com/report-software-failures-cost-1--1-trillion-2016/Google ScholarGoogle Scholar
  7. Bertolino, A. 2007. Software testing research: Achievements, challenges, dreams. In Future of Software Engineering (FOSE '07), IEEE, Minneapolis, MN, USA, 85--103.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bloom, B. S. 1956. Taxonomy of educational objectives, Handbook 1: Cognitive domain (2nd edition Edition edition ed.). Addison-Wesley Longman Ltd, New York, NY, USA.Google ScholarGoogle Scholar
  9. Buffardi, K. and Edwards, S.H. 2014. A formative study of influences on student testing behaviors. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14), ACM, New York, NY, USA, 597--602.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chen, Z., Zhang, J., and Luo, B. 2011. Teaching software testing methods based on diversity principles. In 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE T), Honolulu, HI, USA, 391--395.Google ScholarGoogle Scholar
  11. Clarke, P.J., Pava, J., Davis, D., Hernandez, F., and King, T.M. 2012. Using wrestt in se courses: An empirical study. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE '12), ACM, New York, NY, USA, 307--312.Google ScholarGoogle Scholar
  12. Cutts, Q., Esper, S.,and Simon, B. 2011. Computing as the 4th ?R?: A general education approach to computing education. In Proceedings of the Seventh International Workshop on Computing Education Research (ICER '11), ACM, New York, NY, USA, 133--138.Google ScholarGoogle Scholar
  13. Drake, J.M. 2003. Drake, J., 2003. Teaching Software Testing: Lessons learned.DOI=(http://www. micsymposium. org/mics_2003/Drake. PDF.Google ScholarGoogle Scholar
  14. Drost, E.A. 2011. Validity and reliability in social science research. Educ. Res. Perspect. 38, 1, 105--123.Google ScholarGoogle Scholar
  15. Eddy, B.P., Wilde, N., Cooper, N.A., Mishra, B., Gamboa, V.S., Shah, K.S., Deleon, A.M. and Shields, N.A. 2017. A pilot study on introducing continuous integration and delivery into undergraduate software engineering courses. In IEEE 30th Conference on Software Engineering Education and Training (CSEE&T), 47--56.Google ScholarGoogle Scholar
  16. Edwards, S.H. 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, 26--30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Esper, S. 2014. A discussion on adopting peer instruction in a course focused on risk management. J. Comput. Sci. Coll. 29, 4, 175--182.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Garousi, V. and Zhi, J. 2013. A survey of software testing practices in Canada. J. Syst. Softw. 86, 1354--1376.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Goldwasser, M.H. 2002. A gimmick to integrate software testing throughout the curriculum. In Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, 271--275.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Gopal, B. 2020. Peer instruction questions for unit testing, integration testing and continuous integration. https://cse.unl.edu/~bgopal/PISWT.htmlGoogle ScholarGoogle Scholar
  21. Greising, L., Bartel, A. and Hagel, G. 2018. Introducing a deployment pipeline for continuous delivery in a software architecture course. In Proceedings of the 3rd European Conference of Software Engineering Education, 102--107.Google ScholarGoogle Scholar
  22. Henderson, P.B. 2013. CS2013. ACM Inroads 4, 3 (2013), 48--49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Hoegh, A. and Moskal, B. M. 2009. Examining science and engineering students' attitudes toward computer science. In 2009 39th IEEE Frontiers in Education Conference, 1--6.Google ScholarGoogle Scholar
  24. Jones, E.L. 2001. Integrating testing into the curriculum ? Arsenic in small doses. In Proceedings of the Thirty-second SIGCSE Technical Symposium on Computer Science Education, 337--341.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kinne, J., Misner, E., Carter, A.S. and Tuttle, S.M. 2018. Evaluating the efficacy of clicker-based peer instruction across multiple courses at a single institution. J. Comput. Sci. Coll. 34, 1, 164--170.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Koretsky, M.D., Brooks, B.J., White, R.M. and Bowen, A. S. 2016. Querying the questions: Student responses and reasoning in an active learning class. J. Eng. Educ. 105, 2 (2016), 219--244.Google ScholarGoogle ScholarCross RefCross Ref
  27. Krathwohl, D. R. and Anderson, L.W. 2009. A taxonomy for learning, teaching, and assessing: A revision of Bloom?s taxonomy of educational objectives. Longman, New York, NY, USA.Google ScholarGoogle Scholar
  28. Lee, C.B., Garcia, S. and Porter, L. 2013. Can peer instruction be effective in upper-division computer science courses? Trans Comput Educ 13, 3, 12:1--12:22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Liao, S., Griswold, W. and Porter, L. 2017. Impact of class size on student evaluations for traditional and peer instruction classrooms. In Proceedings of the ACM SIGCSE Technical Symposium on Computer Science Education, ACM, 375--380.Google ScholarGoogle Scholar
  30. Mazur, E. 1997. Peer instruction: A user's manual. Prentice Hall, Upper Saddle River, NJ, USA.Google ScholarGoogle Scholar
  31. Ng, S.P., Murnane, T., Reed, K., Grant, D., and Chen, T.Y. 2004. A preliminary survey on software testing practices in Australia. In Australian Software Engineering Conference Proceedings, IEEE, Melbourne, Vic., Australia, 116--125.Google ScholarGoogle Scholar
  32. Orso, A. and Rothermel, G. 2014. Software testing: A research travelogue (2000--2014). In Proceedings of the on Future of Software Engineering, ACM, 117--132.Google ScholarGoogle Scholar
  33. Pargas, R.P. and Shah, D.M. 2006. Things are clicking in computer science courses. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, ACM, 474--478.Google ScholarGoogle Scholar
  34. Leo Porter, Cynthia Bailey Lee, and Beth Simon. 2013. Halving fail rates using peer instruction: A study of four computer science courses. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education, ACM, 177--182.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Porter, L., Lee, C.B., Simon, B., Cutts, Q. and Zingaro, D. 2011. Experience report: A multi-classroom report on the value of peer instruction. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education, ACM, 138--142.Google ScholarGoogle Scholar
  36. Porter, L., Lee, C.B., Simon, B., and Zingaro, D. 2011. Peer instruction: Do students really learn from peer discussion in computing? In Proceedings of the Seventh International Workshop on Computing Education Research, ACM, 45--52.Google ScholarGoogle Scholar
  37. Simon, B., Parris, J., and Spacco, J. 2013. How we teach impacts student learning: Peer instruction vs. lecture in cs0. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education, ACM, 41--46.Google ScholarGoogle Scholar
  38. Tan, N., Shoemaker, G., Gedi, A., Mache, J., and Weiss, R. 2017. Applying a framework for creating and analyzing cybersecurity questions for peer instruction. J. Comput. Sci. Coll. 33, 1, 102--108.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wong, W.E., Bertolino, A., Debroy, V., Mathur, A., Offutt, J. and Vouk, M. 2011. Teaching software testing: Experiences, lessons learned and the path forward. In 24th IEEE-CS Conference on Software Engineering Education and Training, 530--534.Google ScholarGoogle Scholar
  40. Zingaro, D. 2010. Experience report: Peer instruction in remedial computer science. Association for the Advancement of Computing in Education (AACE), 5030--5035. Retrieved August 6, 2019 from https://www.learntechlib.org/primary/p/36184/USA, 356--361.Google ScholarGoogle Scholar

Index Terms

  1. Peer Instruction in Software Testing and Continuous Integration

        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

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader