Improving software testing course experience with pair testing pattern

Pair programming is a software engineering agile technique where two programmers use a single computer to perform certain tasks together. Research in using pair programming in education showed that pair programming has a positive effect in improving students' ability and willingness to continue learning and practising. In comparison with research in this specific area little research was reported in evaluating the use of pair programming for teaching other software engineering skills (e.g., pair testing, pair design, etc.). This paper focuses on assessing and evaluating the use of pair programming techniques in developing and writing test cases in order to test software systems. Pair programming experiments was used to evaluate the ability of students to learn how to create test cases with different perspectives of coverage in mind.

[1]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[2]  Mahmoud O. Elish,et al.  The Adherence of Open Source Java Programmers to Standard Coding Practices , 2002 .

[3]  Alberto Sillitti,et al.  Understanding the impact of Pair Programming on developers attention: A case study on a large industrial experimentation , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  J.H. Andrews,et al.  Is mutation an appropriate tool for testing experiments? [software testing] , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[5]  Izzat Alsmadi,et al.  The impact of using pair programming: a case study , 2013 .

[6]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[7]  Izzat Alsmadi,et al.  Effective pair programming practice: toward improving student learning in software engineering class , 2013 .

[8]  H. Hulkko,et al.  A multiple case study on the impact of pair programming on product quality , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[9]  Jeff Offutt,et al.  Integration testing of object-oriented components using finite state machines: Research Articles , 2006 .

[10]  Lionel C. Briand,et al.  Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria , 2006, IEEE Transactions on Software Engineering.

[11]  Max Goldman Test-driven roles for pair programming , 2010, ICSE 2010.

[12]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.