Course detail
Automated Testing and Dynamic Analysis
FIT-ATAAcad. year: 2024/2025
Coverage criteria. Control flow graph. Unit testing. Test doubles. Requirement-based testing. Bug localisation. Data-driven testing. Automatic generation of test data. Fuzz testing. Performance testing. Run-time monitoring. Testing of parallel programs. Test management. Reliability of test reports.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Rules for evaluation and completion of the course
Students can obtain up to 40 points from 2 projects and up to 60 points from the final exam.
Aims
Study aids
Prerequisites and corequisites
Basic literature
Myers, G. J., Sandler, C., Badgett, T.: The Art of Software Testing, 3. vydání. John Wiley & Sons, 2011, 256 s., ISBN 978-1118031964
Recommended reading
Kaner, C., James, B., Pettichord, B.: Lessons Learned in Software Testing: A Context-Driven Approach. Wiley Computer Publishing, 2002, 286 s., ISBN 0-471-08112-4.
Marick, B.: The Craft Of Software Testing, Subsystem Testing, Prentice Hall PTR, 1995, ISBN 0-13-177411-5.
Spillner, A., Linz, T. , Schaefer, H.: Software Testing Foundations : A Study Guide for the Certified Tester Exam. Rocky Nook Computing. 2014. 296 s.. ISBN 9781937538422
Elearning
Classification of course in study plans
- Programme MITAI Master's
specialization NGRI , 0 year of study, summer semester, elective
specialization NADE , 0 year of study, summer semester, elective
specialization NISD , 0 year of study, summer semester, elective
specialization NMAT , 0 year of study, summer semester, elective
specialization NSEC , 0 year of study, summer semester, elective
specialization NISY up to 2020/21 , 0 year of study, summer semester, elective
specialization NNET , 0 year of study, summer semester, elective
specialization NMAL , 0 year of study, summer semester, elective
specialization NCPS , 0 year of study, summer semester, elective
specialization NHPC , 0 year of study, summer semester, elective
specialization NVER , 0 year of study, summer semester, compulsory
specialization NIDE , 0 year of study, summer semester, elective
specialization NISY , 0 year of study, summer semester, elective
specialization NEMB , 0 year of study, summer semester, elective
specialization NSPE , 0 year of study, summer semester, elective
specialization NEMB , 0 year of study, summer semester, elective
specialization NBIO , 0 year of study, summer semester, elective
specialization NSEN , 0 year of study, summer semester, compulsory
specialization NVIZ , 0 year of study, summer semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Model-based testing I
- Control flow graph, Interprocedural CFG.
- Coverage-driven generation of test cases.
- Model-based testing II
- Automation of unit tests.
- xUnit test patterns (Mocking).
- Test fixture and test doubles.
- Requirement based testing.
- Requirement classification.
- Traceability.
- Automation in Behaviour-driven development (BDD).
- Data-driven testing I
- Combinatorial testing.
- Test data minimization.
- Data-drivven testing II
- API testing.
- Systematic generation of test data.
- Data-driven testing III
- Mutation testing.
- Fuzz testing.
- Performance testing
- Performance parameters.
- Types and processes of performance testing.
- Run-time verification II
- Test properties, temporal properties, parametric properties.
- Program instrumentation.
- Testing of parallel programs I
- Concurrency bug classification.
- Contracts for concurrency.
- Systematic vs. random testing.
- Noise injection methods.
- Testing of parallel programs II
- Atomrace and Eraser algorithms.
- Vector clocks.
- Fasttrack algorithm.
- Run-time verification I
- Low-level tracing.
- Post-mortem analysis.
Project
Teacher / Lecturer
Syllabus
- Design of automated test suite with knowledge of source code and/or requirements.
- Implementation of run-time monitor.
Elearning