This course provides students with a comprehensive understanding of software testing and quality assurance (QA) principles, techniques, and methodologies. It covers the entire software testing lifecycle, from test planning and design to execution and evaluation. Students will explore key testing methods, including unit testing, integration testing, system testing, performance testing, and stress testing.
The course also delves into verification and validation, black-box and white-box testing techniques, model-based and integration testing, and acceptance and regression testing. Additionally, it introduces software quality assurance processes, quality metrics, ISO 9000/SEI CMM process evaluation, and test automation. Special topics such as mobile application testing and API testing are also covered.
By the end of the course, students will gain hands-on experience in test case development, defect life cycle management, and test automation approaches, preparing them for careers in software quality engineering and testing.
This course aims to equip students with the knowledge and practical skills required to ensure software quality through effective testing and quality assurance techniques. The specific objectives of the course are to:
Understand the Fundamentals of Software Testing and Quality Assurance
Learn Software Testing Lifecycle and Strategies
Explore Testing Techniques and Approaches
Develop Test Cases and Test Plans
Gain Hands-on Experience in Test Execution and Automation
Understand Software Verification and Validation Processes
Analyze Performance, Stress, and Mobile Testing
Manage Defect Life Cycle and Quality Assurance Processes
Develop Skills for API Testing
By achieving these objectives, students will be prepared to apply testing methodologies in real-world software projects, ensuring software quality, efficiency, and reliability.
By the end of this course, students will be able to:
Understand Software Testing and Quality Assurance Concepts
Apply Software Testing Strategies and Lifecycle Processes
Utilize Various Software Testing Techniques
Design and Implement Effective Test Cases
Automate Software Testing Processes
Perform Software Verification and Validation
Analyze Software Performance and Mobile Testing Challenges
Manage the Defect Life Cycle and Quality Assurance Processes
Conduct API and Agile Testing
By achieving these ILOs, students will be equipped with the theoretical knowledge and practical skills necessary to ensure software quality in real-world development environments.
1. Software Quality Assurance: From Theaory to Implementation, Daniel Galin, Adision Wesley, 2004.
2. Aditya Mathur, Foundations of software testing, Pearson Education, 2008.
3. The Art of Software Testing, Myers, G.J., Sandler, C. and Badgett, T., 2012 3 rd Edition.
4. Software testing, R. Patton, China Machine Press,
5. Agile Testing, a Practical Guide for Testers and Agile Teams, 2009 6. Introducing to Software Testing, Louis Tamres, Addison Wesley Publications, First Edition.
Activity | Percent (%) |
---|---|
Exams (Midterm + Final) | 65% |
HWs | 10% |
Project | 20% |
Quizzes and Class Participation | 5% |