|
|
|
||
Last update: Tajemník Katedry (22.04.2015)
|
|
||
Last update: Tajemník Katedry (22.04.2015)
M. Utting and B. Legeard. Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2006. P. Ammann and J. Offutt. Introduction to Software Testing (1 ed.). Cambridge University Press, New York, NY, USA, 2008. M. Young and M. Pezze. Software Testing and Analysis: Process, Principles and Techniques. John Wiley & Sons, 2005. |
|
||
Last update: Tajemník Katedry (21.04.2017)
Software testing consists in the verification of a program on a finite number of selected executions. In model-based testing (MBT), formal specifications (e.g., FSMs, B models, ASMs, ...) are used to support the testing efforts; in particular, test cases (consisting of both the test data and the oracle) are automatically generated from specifications. The course first introduces concepts on testing and program-based testing. Then, model-based testing is presented by focusing on three main areas: testing of logical expressions, test generation from FSMs, and input space partitioning and combinatorial testing. Model-based testing is usually considered an "offline" testing technique. The last part of the course introduces some approaches of "online" model-based testing, in which specifications are executed together with the implementation: in particular, approaches for doing design by contract and runtime verification of Java programs are presented.
The course consists of both theoretical and laboratory lessons.
Syllabus 1) Introduction to testing 1.1) Different kinds of testing 1.2) Basic concepts, limits of testing 2) Program-based testing 2.1) Coverage criteria: instruction, decision, and condition coverage 2.2) Unit testing 3) Model-based testing 3.1) Theory of model-based testing 3.2) Logic Coverage 3.3) FSM-based testing 3.4) Input Space Partitioning and Combinatorial Testing 4) Online model-based testing 4.1) Design by contract 4.2) Runtime verification |