The aim of the course is to understand the importance of the control if the software is designed in respect to user requirements. The main theories on quality and test processes of software engineering are represented and these theories are used for project development process. They involves software quality requirements, software test techniques, test flow and processes. An individual or group-based project is realized, which provides using all the theories learned during the semester.
Week 1. Introduction to software quality
Week 2. Introduction to quality control
Week 3. Quality engineering
Week 4. Introduction to software testing process
Week 5. Software testing: Terms and techniques
Week 6. Test automation and techniques
Week 7. Partitioning the input domain and boundary testing
Week 8. Software inspection
Week 9. Midterm
Week 10. Formal validation
Week 11. Quality models and measurement
Week 12. Risk analysis
Week 13. Software reliability engineering
Week 14. Project presentations
LO 1: Understanding the importance and the effects of quality control, planning, and organization during the development of software-based systems.
LO 2: Developing a small-size software project.
LO 3: Understanding the place and the importance of testing in software development process.
LO 4: Learning test techniques.
LO 5: Learning test flows and processes.
LO 6: Studying in a team during software development.
LO 7: Choosing and applying the most appropriate software development approach and test 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, Project
1. Jeff Tian, “Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement”, Wiley, 1 edition, 2005.
2. Christopher Fox, “Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2”, Addison-Wesley, 2006.
| Week | Weekly Contents |
|---|---|
| 1 | Introduction to software quality |
| 2 | Introduction to quality control |
| 3 | Quality engineering |
| 4 | Introduction to software testing process |
| 5 | Software testing: Terms and techniques |
| 6 | Test automation and techniques |
| 7 | Partitioning the input domain and boundary testing |
| 8 | Software inspection |
| 9 | Midterm |
| 10 | Formal validation |
| 11 | Quality models and measurement |
| 12 | Risk analysis |
| 13 | Software reliability engineering |
| 14 | Project presentations |
| 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 | 0 | 0 |
| Presentation | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 25 |
| Project | 1 | 20 |
| Laboratory | 0 | 0 |
| Other Applications | 0 | 0 |
| Quiz | 2 | 15 |
| 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 | 4 | 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 | 20 | 20 |
| Midterm Examinations (including preparation) | 1 | 25 | 25 |
| Project | 1 | 25 | 25 |
| Final Examinations (including preparation) | 1 | 30 | 30 |
| Total Workload | 142 | ||
| Total Workload / 25 | 5.68 | ||
| Credits ECTS | 6 | ||