Course Outline

Spring 2019/2020

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

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

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: 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