Guidelines for software testing education objectives from industry practices with a constructive alignment approach

Testing and quality assurance are characterized as the most expensive tasks in the software life cycle. However, several studies also indicate that the industry could enhance product quality and reduce costs by investing in developing testing practices. Software engineering educators can bridge the gap between formal education and industry practices to produce more industry-ready graduates, by observing the industry in action. To find out the current state of industry, we conducted a study in software organizations to assess how they test their products and which process models they follow. According to the survey results, the organizations rely heavily on test automation and use sophisticated testing infrastructures, apply agile practices even when working with mission-critical software, and have reduced the use of formal process reference and assessment models. Based on the results, this paper identifies a number of key learning objectives in quality assurance and software testing disciplines that the industry expects from university graduates. The principles of constructive alignment are used to present learning goals, teaching methods, and assessment methods that align with the industry requirements.

[1]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[2]  Fereydoun Kazemian,et al.  A software testing course for computer science majors , 2005, SGCS.

[3]  Erik van Veenendaal,et al.  Test Maturity Model integration TMMi , 2012 .

[4]  Ralf Kneuper CMMI: Improving Software and Systems Development Processes Using Capability Maturity Model Integration , 2009 .

[5]  David Broman,et al.  The Company Approach to Software Engineering Project Courses , 2012, IEEE Transactions on Education.

[6]  Lorraine Carter,et al.  How to Conduct Surveys: A Step-by-Step Guide , 2010 .

[7]  Joanna Smith,et al.  Using peer review to teach software testing , 2012, ICER '12.

[8]  Ossi Taipale,et al.  Software Test Automation in Practice: Empirical Observations , 2010, Adv. Softw. Eng..

[9]  Fabiano Cutigi Ferrari,et al.  Experience report: Can software testing education lead to more reliable code? , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[10]  Monica McGill Defining the expectation gap: a comparison of industry needs and existing game development curriculum , 2009, FDG.

[11]  Shaukat Ali,et al.  Formalizing the ISO/IEC/IEEE 29119 Software Testing Standard , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[12]  J. Biggs Enhancing teaching through constructive alignment , 1996 .

[13]  Ellen Francine Barbosa,et al.  CS curricula of the most relevant universities in Brazil and abroad: Perspective of software testing education , 2015, 2015 International Symposium on Computers in Education (SIIE).

[14]  Vahid Garousi,et al.  Current State of the Software Testing Education in North American Academia and Some Recommendations for the New Educators , 2010, 2010 23rd IEEE Conference on Software Engineering Education and Training.

[15]  Ossi Taipale,et al.  Finding and Ranking Research Directions for Software Testing , 2005, EuroSPI.

[16]  Thomas Reichlmayr,et al.  Using a real world project in a software testing course , 2014, SIGCSE.

[17]  Fabiano Cutigi Ferrari,et al.  The impact of Software Testing education on code reliability: An empirical assessment , 2017, J. Syst. Softw..