Course Outline

Semester: Spring 2023/2024

Course Code/Name: CMSE 326 / Software Quality Assurance and Testing 

Course Instructor: Prof. Dr. ISIK AYBAY (office no: CMPE-211)

Course Description:

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.

Course Outline:

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

Course Assessment

Term Project: 50% (attendance in Design Studio is compulsory, both written and oral presentations are required)

Final Exam: 50 % (open book, open notes).

There is no letter grade table for this course. The instructor will be deciding on letter grades depending on the class average and overall grade distribution.

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, or later editions.

d.    Sommerville, I., (2007), ed. 8, Software Engineering, Addison-Wesley, or later editions.

e.  Gravell and Parsons, "Dynamic Web Application Development using ASP.NET", Cengage Learning, 2010 (Chapter 1) - Web