Cleveland State University Department of Electrical Engineering and Computer Science EEC 624 Software Testing Catalog Data: EEC 624 Software Testing(4 credits) Prerequisites: EEC 521 This course introduces concepts, methods, and approaches in software testing. The course covers various aspects of software testing, including methods for both black box testing and white box testing and approaches for unit testing, integration testing, and system testing. Special techniques for software testing will also be introduced. In addition, we will discuss issues in software testing planning, management, and automation. The course tries to integrate theory with practice by emphasizing on fundamentals in software testing and their applications. Students will apply the concepts and theory in a course project. Textbook: Paul Ammann and Jeff Offutt, Introduction to Software Testing, University Press, 2008. References: Instructor: Cambridge Mauro Pezze and Michal Young, Software Testing and Analysis: Process, Principles and Techniques, Wiley, 2007. John McGregor and David Sykes, A Practical Guide to Testing Object-Oriented Software, Addison-Welskey, 2001. Kaner, C., Falk, J., and Nguyen, H., Testing Computer Software (2nd Edition), John Wiley & Sons, 1999. Paul C. Jorgensen, Software Testing: A Craftsman's Approach (2nd Edition), CRC Press, 2002. Daniel J. Mosley, Bruce A. Posey, Just Enough Software Test Automation, Prentice Hall PTR, 2002. Brian Marick, The Craft of Software Testing, Prentice Hall, 1995. Yongjian Fu Office: FH 432 Phone: 216-687-5518 Email : y.fu@csuohio.edu Grading: Quiz: Homework: Project: Final: 10%. 20%. 30%. 40%. 90%-100% 87%-89% 83%-86% 80%-82% 76%-79% 60%-75% 0%-59% A AB+ B BC F There are about 4 homework assignments. A group project, which applies the concepts and ideas learned in the class, is required. Details of the project will be given later. A few quizzes will be given randomly. Missed quiz will not be made up. Course Outline: Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Finals Week Topic Terminology and limitations Graph coverage overview, criteria Graph coverage for source code Graph coverage for design elements, specifications Logic coverage overview, criteria Structural logic coverage Logic coverage for specifications, fsm Input space partitioning Combination strategies Syntax-based coverage criteria Regression testing Integration testing Test process Testing OO software Project presentation and demonstration Final exam Readings Ch. 1 Ch. 2.1-2.2 Ch. 2.3 Ch. 2.4-2.5 Ch. 3.1-3.2 Ch. 3.3 Ch 3.4-3.5 Ch. 4.1 Ch. 4.2 Ch. 5.1 Ch. 6.1 Ch. 6.2 Ch. 6.3 Ch. 7.1 Course Policies: Attendance to all classes is required. Each student is responsible for his/her missed classes. No makeup of homework or quiz will be given. A student who misses two submissions must see the instructor immediately with an explanation. Homework is due in class on the specified date. Late homework will receive the penalty of 10% per day up to two calendar days. No homework will be accepted twocalendar days after the due date. Talk to instructor for special cases, such as illness. Proper documents, such as a doctor's note, may be required as a proof. Discussions on homework are allowed, but all homework must be independent work. Any forms of cheating may cause penalties, from getting an F in the course to academic actions according to the department guidelines and university regulations.The ethics policy of the Electrical and Computer Engineering Department can be found at https://www.csuohio.edu/engineering/sites/csuohio.edu.engineering/files/Ethics%20Policy.pdf.