Shin Yoo firstname.lastname@example.org Office: E3-1 Room 2405
This course is concerned with a broad range of software testing technique, with a heavy emphasis on automation, tools, and frameworks, as well as the research output behind them. The topic will include, but are not limited to: black box testing/combinatorial testing, random testing, concepts of coverage, structural testing, mutation testing, regression testing, testability transformation, automated debugging, etc.
- Coursework: 30%
- Midterm Exam: 30%
- Project: 30%
- Class Participation: 10%
- To be announced.
We do not have a textbook per se, and the course will be based on slides and other reading material that are deemed appropriate. However, if you want to get broader sense for some of the topics dealt by this course, I recommend the following books and publications.
- Paul Ammann and Jeff Offutt. Introduction to Software Testing (2nd Ed.)
- Andreas Zeller. Why Programs Fail (2nd Ed.)
- Y. Jia and M. Harman. An analysis and survey of the development of mutation testing. IEEE transactions on software engineering, 37(5):649–678.
- P. McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105–156, June 2004.
I have three trips that I am already committed to in Spring 2018. I was invited to speak at the 58th CREST Open Workshop on 27th February. I am the Program Co-chair for ICST 2018, which takes place from 9th to 13th of April. Finally, I am attending the biggest software engineering conference, ICSE 2018, in the last week of May to present papers and conduct meetings. I will try my best to keep the disruptions to the minimum; there may be one or two guest lectures where appropriate.
Since this is the first year I take over CS453, the list of topics and papers to read are flexible and may change.
- 27 Feb: No Lecture (CREST Open Workshop)
- 01 Mar: No Lecture (Independence Day)
- 06 Mar: Introduction & Black Box Testing
- 08 Mar: Combinatorial Interaction Testing
- 13 Mar: Structural Coverage
- 15 Mar: Random and Adaptive Random Testing
- 20 Mar: Search Based Test Data Generation
- 22 Mar: Mutation Testing
- 27 Mar: Regression Testing
- 29 Mar: Untestable Programs and Metamorphic Testing
- 03 Apr: Delta Debugging
- 05 Apr: Fault Localisation
- 10 Apr: No Lecture (ICST 2018)
- 13 Apr: No Lecture (ICST 2018)
- 17 Apr: Midterm Exam
- 24 Apr: Mutation Testing Hands-on using Code-Wars
- 26 Apr: E. J. Weyuker. On testing non-testable programs. The Computer Journal, 25(4):465–470, Nov. 1982.
- 01 May: J. Zhang, J. Chen, D. Hao, Y. Xiong, B. Xie, L. Zhang, and H. Mei. Search-based inference of polynomial metamorphic relations. In Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE ’14, pages 701–712, New York, NY, USA, 2014. ACM.
- 03 May: P. McMinn. Search-based failure discovery using testability transformations to generate pseudo-oracles. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2009), pages 1689– 1696. ACM Press, 2009.
- 08 May: R. Abraham and M. Erwig. Mutation operators for spreadsheets. IEEE Transactions on Software Engineering, 35(1):94–108, 2009.
- 10 May: Y. Jia and M. Harman. Constructing subtle faults using higher order mutation testing. In Proceedings of IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2008), pages 249–258. IEEE Computer Society Press, 2008.
- 15 May: S. Elbaum, G. Rothermel, and J. Penix. Techniques for improving regression testing in continuous inte- gration development environments. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pages 235–245, New York, NY, USA, 2014. ACM.
- 17 May: M. Harman and P. McMinn. A theoretical and empirical analysis of evolutionary testing and hill climbing for structural test data generation. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2007), pages pp. 73–83. ACM Press, July 2007.
- 22 May: No Lecture (Happy Birthday, Buddha!)
- 24 May: S. Yoo. Evolving human competitive spectra-based fault localisation techniques. In G. Fraser and J. Teixeira de Souza, editors, Search Based Software Engineering, volume 7515 of Lecture Notes in Computer Science, pages 244–258. Springer Berlin Heidelberg, 2012.
- 29 May: No Lecture (ICSE 2018)
- 31 May: No Lecture (ICSE 2018)
- 05 Jun: Project Presentation #1
- 07 Jun: Project Presentation #2