Course Code/Name: CMSE 326 / Software Quality Assurance and Testing
Course Instructor: Prof. Dr. ISIK AYBAY (office no: CMPE-213)
This course concentrates on the Testing phase of the software development life-cycle. Software quality assurance issues are discussed in general terms, however, the course concentrates on practical issues related with testing large software packages. Test case design, testing plan and test management are issues that are handled in more detail.
Course Objectives: The course aims to equip the student with an understanding of designing software test plans, test management and their role in the software project management processes. Emphasis will be on practical testing techniques, use of testing tools, white box and black box testing, and writing test report documents, taking into consideration organizational and human factors. Term projects, which are case studies to be performed by project groups, will give an idea on how group work is done and how current popular software systems are tested, with emphasis on the use of testing tools.
Week 1: Basic Concepts in Software Engineering, the Software Life-Cycle.
Week 2: Software testing principles
Week 3: Graph Theory, determining the term project topics
Week 4: Software testing principles (continued)
Week 5: Defects - origins and cost
Week 6: Types of testing
Week 7: Black box and white box test case design strategies
Week 8: Intermediate Presentations
Week 9, 10: Midterm exam
Week 11: Black box and white box test case design strategies (continued)
Week 12: Unit testing
Week 14: Integration and Regression testing
Week 15: Final Presentations for term project
Week 16,17: Final Exam
Term Project: 30% (attendance in Design Studio is compulsory, both written and oral presentations are required)
Midterm Exam: 30 %
Final Exam: 40 %
There is no formal text book. The following books are recommended:
a. Ammann and Offutt (2008), Introduction to Software Testing, Cambridge University Press - Theory
b. Jorgensen (2008), ed. 3, Software Testing: A Craftman's Approach, Auerbach Publications - Practice
c. Pressman, R., (2010), ed. 7., Software Engineering, McGraw Hill.
d. Sommerville, I., (2007), ed. 8, Software Engineering, Addison-Wesley.
e. Gravell and Parsons, "Dynamic Web Application Development using ASP.NET", Cengage Learning, 2010 (Chapter 1) - Web