Software Testing and Diagnostics
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
XE33TSW | Z,ZK | 4 | 2+2s |
- The course is a substitute for:
- Software Testing and Diagnostics (X33TSW)
- Lecturer:
- Tutor:
- Supervisor:
- Department of Cybernetics
- Synopsis:
-
A systematic approach is required during development of large software projects. The course is designed to provide students with a comprehensive understanding of fundamental principles of testing as well as how to design quality and reliable software, and how to maintain and improve it. Both management of software process and technical solutions for test procedure design are covered. The student will become familiar with several software tools supporting testing. Modern testing methods and reliability assessment will be emphasized as performance indexes of quality software.
- Requirements:
- Syllabus of lectures:
-
1. Quality - concept, philosophy, and systems. RUP.
2. Software quality assurance - basic tools. UML.
3. Testing methodology. Configuration management. Requirement Management.
4. Capability maturity model. Software engineering standards. Test planning.
5. Software errors and their basic categories.
6. Structural testing. Model Types. Control-flow testing.
7. Loop testing. Data-flow testing.
8. Finite state machine testing.
9. Component testing. Object-oriented testing.
10. Statistical testing of software
11. Software quality metrics. Software reliability evaluation.
12. Automated design of tests.
13. Formal methods.
14. Commercial testing tools.
- Syllabus of tutorials:
-
A series of small software projects is created to provide the students with basic understanding of testing techniques and software quality assessment. The student can develop their testing skills and engineering intuition of using selected methods on their own projects.
1. Project definition. Application model. Rational Unified Process.
2. Software specification with UML. Rational Rose.
3. Requirement management. RequisitePro.
4. Japanese tools.
5. Memory management testing. Purify.
6. Performance testing. Quantify.
7. Coverage evaluation. PureCoverage.
8. Project presentation I.
9. Testing of user interface I. Rational Robot.
10. Testing of user interface II.
11. Statistical testing of algorithms. Haralick's method.
12. Manual testing.
13. Automated testing.
14. Project presentation and evaluation.
- Study Objective:
- Study materials:
-
[1] Beizer, B.: Software Testing Techniques. Second Edition, Van N. Reinhold, New York, 1990
[2] Kit, E.: Software Testing in the Real World. Addison-Wesley, 1995
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans: