Course detail
Testing and Dynamic Analysis
FIT-ITSAcad. year: 2018/2019
Test specification. Coverage criteria for source code (EC, NC, EPC, PPC). Logic coverage criteria (PC, CC, MCDC). Input space partitioning. Input space coverage criteria. Black-box dynamic analysis. Tracing of shared resource usage. Testing multi-threaded applications. Testing network applications. Testing GUI. Performance testing. Test management.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Student will learn through project excercise how to analyse a software product to rise its quality. Student gain a knowledge how to create a test suite and how to find bugs in programs.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Exam prerequisites:
For receiving the credit and thus for entering the exam, students have to earn at least 15 points from all projects.
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
- recommended prerequisite
Algorithms - recommended prerequisite
Formal Languages and Compilers - recommended prerequisite
Operating Systems
Basic literature
Recommended reading
A. Spillner, T. Linz, H. Schaefer. Software Testing Foundations, 2nd ed., 2007, 296 p., ISBN 978-1-9339-5278-9.
B. Marick. The Craft Of Software Testing, Subsystem Testing, Prentice Hall PTR, 1995, ISBN 0-13-177411-5.
C. Kaner, J. Bach, B. Pettichord. Lessons Learned in Software Testing: A Context-Driven Approach. Wiley Computer Publishing, 2002, 286 p., ISBN 0-471-08112-4.
G. J. Myers, C. Sandler, T. Badgett. The Art of Software Testing, 3rd edition. John Wiley & Sons, 2011, 256 p., ISBN 978-1118031964.
P. Ammann, J. Offutt. Introduction to Software Testing. Cambridge University Press, 2008, 322 p. ISBN 978-0-511-39330-3.
P. Farrell-Vinay. Manage Software Testing. Auerbach Publications, 2008, 537 p., ISBN 978-0-8493-9383-9.
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Role of testing and dynamic analysis in development of a computer-based system. Introduction to terms in testing. Models of testing process. Test requirements, test specification, and test plan. Test-driven development.
- Subsystem testing. Coverage criteria for source code. Control flow graph. Graph coverage criteria. Data flow coverage criteria.
- Relation of a graph coverage and the source code. Relation of a data flow coverage and the source code.
- Logic coverage criteria.
- Input domain modelling. Input space coverage criteria.
- Syntax-based testing.
- Test case development based on specification requirements of a system. Testing according to V-model.
- Combining test cases. Test-based bug localization. Bug-reporting.
- Black-box dynamic program analysis. Analysis based on tracing library and system calls. Constructing data and control flow graph. Constraints of event sequence.
- Virtualization in dynamic analysis. Analysis of shared resource usage. Coverage criteria based on shared resource usage.
- Testing multi-threaded applications.
- Testing network applications. Testing graphical user interface and its automation. Testing non-functional requirements.
- Performance testing. Test planning and management. Brief introduction to static analysis.
Project
Teacher / Lecturer
Syllabus
- Design of a test suite satisfying specified test criteria for a given software project.
- Implementation of an automated test suite..