Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Model-based testing
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
[[File:Mbt-overview.png|frame|General model-based testing setting]] '''Model-based testing''' is an application of [[model-based design]] for designing and optionally also executing artifacts to perform [[software testing]] or [[system testing]]. Models can be used to represent the desired behavior of a [[system under test]] (SUT), or to represent testing strategies and a test environment. The picture on the right depicts the former approach. A model describing a SUT is usually an abstract, partial presentation of the SUT's desired behavior. Test cases derived from such a model are functional tests on the same level of abstraction as the model. These test cases are collectively known as an [[abstract test suite]]. An abstract test suite cannot be directly executed against an SUT because the suite is on the wrong level of abstraction. An [[executable test suite]] needs to be derived from a corresponding abstract test suite. The executable test suite can communicate directly with the system under test. This is achieved by mapping the abstract test cases to concrete test cases suitable for execution. In some model-based testing environments, models contain enough information to generate executable test suites directly. In others, elements in the [[abstract test suite]] must be mapped to specific statements or method calls in the software to create a [[concrete test suite]]. This is called solving the "mapping problem".<ref name="Jeff Offutt 2016">Paul Ammann and Jeff Offutt. Introduction to Software Testing, 2nd edition. Cambridge University Press, 2016.</ref> In the case of online testing (see below), abstract test suites exist only conceptually but not as explicit artifacts. Tests can be derived from models in different ways. Because testing is usually experimental and based on heuristics, there is no known single best approach for test derivation. It is common to consolidate all test derivation related parameters into a package that is often known as "test requirements", "test purpose" or even "use case(s)". This package can contain information about those parts of a model that should be focused on, or the conditions for finishing testing (test stopping criteria). Because test suites are derived from models and not from source code, model-based testing is usually seen as one form of [[black-box testing]]. Model-based testing for complex software systems is still an evolving field.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)