3.00 Credits
Presents practices and tools used to promote software quality as part of the software development life cycle. Considers several facets of software testing, including unit testing, test-driven development, integration testing, regression testing, and user interface testing. Explores testing frameworks and tools used to automate software testing. Covers the analysis of defects and failure reports, personal and peer reviews, and static analysis. **COURSE LEARNING OUTCOMES (CLOs) At the successful conclusion of this course, students will be able to: 1. Implement software testing processes including unit testing, test-driven development, integration testing, regression testing, and user interface testing. 2. Demonstrate the use of various software testing tools used to automate one or more test suites implemented within a software system. 3. Analyze and prioritize failure reports and defects identified to affect a software system, research potential causes of a defect, and propose and evaluate possible resolutions. 4. Conduct personal reviews, peer reviews, static analysis, and other preventative measures on a component of a software system to improve software quality. Course fee required. Prerequisites: SE 2450 or CS 2450 or WEB 3450 (Grade C or higher). FA