Software Testing Education: dreams and challenges when bringing academia and industry closer together
Software systems are present in people's lives and they are increasing to the same extent as their complexity and their criticality. Therefore, we must ensure that these systems maintain high quality in order to behave as expected. To develop high quality software, it is essential to have qualified people who are knowledgeable about Validation and Verification (V&V) techniques, especially software testing. This paper reports on the teaching process in two undergraduate courses in two different contexts: Computer Science students, who can dedicate more time during the day to studying, and Information Systems students, who can only study during the evenings. To engage and motivate the students in the context of software testing learning, we studied ways to bring real industry problems to the classroom in order to adopt the Problem-based Learning (PBL) approach. We chose two real open source projects which, considering the feedback from students and professors, was a good decision. However, the approach requires students to take extra classes rather than teacher-centered approaches. Extra classes may hinder the approach when the class consists of students who work during the day, thus developing a balance between student-centered and teacher-centered can be a good solution in such contexts.
B. Beizer. 2003. Software Testing Techniques. Dreamtech.
Thiago A. Beppe, Ítalo Linhares de Araújo, Bruno Sabóia Aragão, Ismayle de Sousa Santos, Davi Ximenes, and Rossana M. Castro Andrade. 2018. GreaTest: A Card Game to Motivate the Software Testing Learning. In Proceedings of the XXXII Brazilian Symposium on Software Engineering (SBES '18). Sao Carlos, Brazil, 298--307.
Jacob Lowell Bishop and Matthew A Verleger. 2013. The flipped classroom: A survey of the research. In 120th American Society for Engineering Education, Vol. 30. 1--18.
Benjamin S Bloom et al. 1956. Taxonomy of educational objectives. Vol. 1: Cognitive domain. New York: McKay 1, 1 (1956), 20--24.
Lyn Brodie, Hong Zhou, and Anthony Gibbons. 2008. Steps in developing an advanced software engineering course using problem based learning. Engineering Education 3, 1 (2008), 2--12.
Jean Felipe P. Cheiran, Elder de M. Rodrigues, Ewerson Luiz de S. Carvalho, and João Pablo S. da Silva. 2017. Problem-Based Learning to Align Theory and Practice in Software Testing Teaching. In Proceedings of the 31st Brazilian Symposium on Software Engineering (SBES'17). Fortaleza, CE, Brazil, 328--337.
M. Delamaro, M. Jino, and J. Maldonado. 2017. Introdução ao Teste de Software. Elsevier Editora Ltda.
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. ACM, Anaheim, California, USA, 148--155.
Cindy E. Hmelo-Silver. 2004. Problem-Based Learning: What and How Do Students Learn? Educational Psychology Review 16, 3 (01 Sep 2004), 235--266.
Daniel E. Krutz, Samuel A. Malachowsky, and Thomas Reichlmayr. 2014. Using a Real World Project in a Software Testing Course. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). Atlanta, Georgia, USA, 49--54.
Ling Liang. 2018. Investigating the skills and capabilities that software testers need: A New Zealand study. Master's thesis. School of Engineering, Computer and Mathematical Sciences, New Zealand.
Yang Lu. 2017. Industry 4.0: A survey on technologies, applications and open research issues. Journal of Industrial Information Integration 6 (2017), 1--10.
Alexandra Martinez. 2018. Use of JiTT in a Graduate Software Testing Course: An Experience Report. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET '18). Gothenburg, Sweden, 108--115.
Victor Moura and Gleison Santos. 2018. ProcSoft: A Board Game to Teach Software Processes Based on ISO/IEC 29110 Standard. In Proceedings of the 17th Brazilian Symposium on Software Quality (SBQS). Curitiba, Brazil, 363--372.
G.J. Myers, C. Sandler, and T. Badgett. 2011. The Art of Software Testing. Wiley.
Sofia Costa Paiva and Dárlinton Barbosa Feres Carvalho. 2018. Software Creation Workshop: A Capstone Course for Business-oriented Software Engineering Teaching. In Proceedings of the XXXII Brazilian Symposium on Software Engineering (SBES '18). Sao Carlos, Brazil, 280--288.
M. Pezzè and M. Young. 2008. Software Testing and Analysis: Process, Principles, and Techniques. Wiley India Pvt. Limited.
R.S. Pressman and B.R. Maxim. 2016. Software Engineering: A Practitioner's Approach (Eighth Edition, English Abridgement). Ji xie gong ye chu ban she.
I. Richardson and Y. Delaney. 2009. Problem Based Learning in the Software Engineering Classroom. In 2009 22nd Conference on Software Engineering Education and Training. Munich - Germany, 174--181.
I. Richardson, L. Reid, S. B. Seidman, B. Pattinson, and Y. Delaney. 2011. Educating software engineers of the future: Software quality research through problem-based learning. In 2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE T). Klagenfurt - Austria, 91--100.
Pedro Henrique Dias Valle, Rafaela Vilela Rocha, and José Carlos Maldonado. 2017. Testing Game: An Educational Game to Support Software Testing Education. In Proceedings of the 31st Brazilian Symposium on Software Engineering (SBES'17). Fortaleza, CE, Brazil, 289--298.
Arie Van Deursen, Maurício Aniche, Joop Aué, Rogier Slag, Michael De Jong, Alex Nederlof, and Eric Bouwers. 2017. A Collaborative Approach to Teaching Software Architecture. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). Seattle, Washington, USA, 591--596.