The aim of this course is to integrate the concept of quality in each process step of a software, from requirement analysis to maintenance. First, quality assurance approaches and techniques that can be used throughout the whole process are learned. Basic theories related to the quality and test processes of software engineering are introduced and they are applied on examples and assignments. Software testing techniques, test flow and test process are explained. An individual or group-based project is carried out to ensure the use of all the theories learned throughout the semester.
Week 1. Introduction to software testing and quality
Week 2. Validation and verification, basic principles
Week 3. Test and analysis activities
Week 4. Finite models and data flow models
Week 5. Test case selection
Week 6. Functional testing
Week 7. Partitioning the input domain and boundary testing
Week 8. Combinatorial testing, structural testing
Week 9. Midterm
Week 10. Model-based testing, testing object-oriented software
Week 11. Fault-based testing, test execution
Week 12. Inspection, program analysis
Week 13. System, acceptance and regression testing, automating analysis and test
Week 14. Documenting analysis and test
LO 1: Understanding the importance and the effects of quality control, planning, and organization during the development of software-based systems.
LO 2: Understanding the place and the importance of testing in software development process.
LO 3: Learning test techniques.
LO 4: Learning test flows and processes.
LO 5: Learning test adequacy criteria.
LO 6: Studying in a team during software development.
LO 7: Choosing and applying the most appropriate software quality assurance technique for a given software project.
LO 8: Knowing the tools enabling software development with high quality.
LO 9: Learning to write reports representing the test and quality control processes.
Lecture, Discussion, Case Study, Collaborative Learning, Project
M. Pezze, M. Young, Software Testing and Analysis: Process, Principles, and Techniques, John Wiley & Sons Inc, 2008.
J. Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Wiley, 1st Edition, 2005.
C. Fox, “Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2”, Addison-Wesley, 2006.
| Week | Weekly Contents |
|---|---|
| 1 | Introduction to software testing and quality |
| 2 | Validation and verification, basic principles |
| 3 | Test and analysis activities |
| 4 | Finite models and data flow models |
| 5 | Test case selection |
| 6 | Functional testing |
| 7 | Partitioning the input domain and boundary testing |
| 8 | Combinatorial testing, structural testing |
| 9 | Midterm |
| 10 | Model-based testing, testing object-oriented software |
| 11 | Fault-based testing, test execution |
| 12 | Inspection, program analysis |
| 13 | System, acceptance and regression testing, automating analysis and test |
| 14 | Documenting analysis and test |
| Activities | Number | Contribution |
|---|---|---|
| Contribution of in-term studies to overall grade | 4 | 60 |
| Contribution of final exam to overall grade | 1 | 40 |
| Total | 5 | 100 |
| Activities | Number | Contribution |
|---|---|---|
| Assignments | 1 | 15 |
| Presentation | 1 | 15 |
| Midterm Examinations (including preparation) | 1 | 30 |
| Project | 0 | 0 |
| Laboratory | 0 | 0 |
| Other Applications | 0 | 0 |
| Quiz | 0 | 0 |
| Term Paper/ Project | 0 | 0 |
| Portfolio Study | 0 | 0 |
| Reports | 0 | 0 |
| Learning Diary | 0 | 0 |
| Thesis/ Project | 0 | 0 |
| Seminar | 0 | 0 |
| Other | 0 | 0 |
| Total | 3 | 60 |
| No | Program Learning Outcomes | Contribution | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | X | |||||
| 2 | X | |||||
| 3 | X | |||||
| 4 | X | |||||
| 5 | X | |||||
| 6 | X | |||||
| 7 | X | |||||
| 8 | X | |||||
| 9 | X | |||||
| 10 | X | |||||
| 11 | X | |||||
| 12 | ||||||
| 13 | ||||||
| Activities | Number | Period | Total Workload |
|---|---|---|---|
| Class Hours | 14 | 3 | 42 |
| Assignments | 1 | 25 | 25 |
| Presentation | 1 | 15 | 15 |
| Midterm Examinations (including preparation) | 1 | 25 | 25 |
| Project | 1 | 25 | 25 |
| Final Examinations (including preparation) | 1 | 30 | 30 |
| Total Workload | 162 | ||
| Total Workload / 25 | 6.48 | ||
| Credits ECTS | 6 | ||