The module presents a systematic approach to software testing, in context of the software life cycle and as a branch of software engineering, building on students prior knowledge of software engineering. Through both the breadth and depth of its coverage, the module prepares students to make an effective contribution to software testing as professional software engineers.
• Provide a systematic overview of standards, techniques and tools in software testing. • Introduce core methodologies for the management and execution of the testing process. • Introduce practical techniques for testing and apply them to simple examples. • Provide basics of Software Quality Assurance, its factors, components, and SQA environment
| Week | Topic |
|---|---|
| 1 | Introduction |
| 2 | Software Testing Foundations |
| 3 | Software Quality |
| 4 | Software Testing Lifecycle |
| 5 | Static Testing |
| 6 | Test Management |
| 7 | Unit Testing I |
| 8 | Midterm |
| 9 | Techniques of Test Design |
| 10 | Structural Testing |
| 11 | Integration, System and Regression Testing |
| 12 | Testing Metrics |
| 13 | Test Tools |
| 14 | Other Topics |
| Method | % Each | Quantity |
|---|---|---|
| Midterm Exam(s) | 1 | |
| Project | 30 | 1 |
| Laboratory | 1.5 | 10 |
| Final Exam | 55 | 1 |
Software Testing: A Craftsman’s Approach, Fifth Edition, P. Jorgensen and B. DeVries, (2021), Software Testing: Concepts and Operations, Milli and Tchier, (2015),