Subject description - AE4M33TVS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AE4M33TVS Software Verification and Testing
Roles:PO, V Extent of teaching:2P+2C
Department:13133 Language of teaching:EN
Guarantors:  Completion:Z,ZK
Lecturers:  Credits:6
Tutors:  Semester:Z


This course will introduce the theoretical foundations and mathematical concepts necessary for rigorous software testing, including the definitions of fundamental system characteristics, such as reliability, robustness and correctness of the software system. We will emphasize the techniques and abstract tools necessary for validation of the correctness and reliability characteristics of the software. In the first part of the course, we will introduce the existing techniques and paradigms for system testing (black/white box, formal methods, structural analysis), including the methods for test number reduction and automation. The second part of the course will concentrate on formal methods for system verification. We will introduce the formal frameworks necessary for the dynamic descripton of system properties (Z-notation, temporal logic) and the applicable verification methods (model checking, theorem proving) working on these representations.

Course outlines:

1. Introduction to testing and validation
2. System requirements and specifications
3. Software defects, their characterization and
categorization. Correctness and usability criteria.
4. Black, grey and white box testing.
5. White box teting optmization. Structural analysis.
6. Static and dynamic analysis, data flow analysis.
7. Integration and load testing.
8. Formal program specifications, Z-notation, temporal logic.
9. Verification by automated theorem proving methods.
10. Verification automation by model checking.
11. Axiomatic and functional verification.
12. Verification of open and distributed systems.
13. Testing and verification tools.
14. Future of software tsting and verification.

Exercises outline:

1. Organization, structure presentation
2. Presentation of testing and validation systems
3. Presentation of testing and validation systems
4. Presentation of testing and validation systems
5. Project definition and assignments - Project 1
6. Project work - Project 1
7. Project work - Project 1
8. Project work - Project 1
9. Project work - Project 1
10. Project definition and assignments - Project 2
11. Project work - Project 2
12. Project work - Project 2
13. Project work - Project 2
14. Grading


Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008. Systems and Software Verification: Model-Checking Techniques and Tools by B. Berard, M. Bidoit, A. Finkel, and F. Laroussinie, Springer; 2001


Subject is included into these academic programs:

Program Branch Role Recommended semester
MEKME1 Wireless Communication V 3
MEKME5 Systems of Communication V 3
MEKME4 Networks of Electronic Communication V 3
MEKME3 Electronics V 3
MEKME2 Multimedia Technology V 3
MEOI5NEW Software Engineering PO 3
MEOI5 Software Engineering PO 3
MEEEM1 Technological Systems V 3
MEEEM5 Economy and Management of Electrical Engineering V 3
MEEEM4 Economy and Management of Power Engineering V 3
MEEEM3 Electrical Power Engineering V 3
MEEEM2 Electrical Machines, Apparatus and Drives V 3
MEKYR4 Aerospace Systems V 3
MEKYR1 Robotics V 3
MEKYR3 Systems and Control V 3
MEKYR2 Sensors and Instrumentation V 3

Page updated 3.7.2020 17:51:56, semester: Z,L/2020-1, L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)