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".
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.
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Master Lecture on the general layout of a hydropower plant. Detailing the specification of Pelton, Francis, Kaplan and Bulb turbines, Storage pumps and Reversible pump-turbines.
Statistics lies at the foundation of data science, providing a unifying theoretical and methodological backbone for the diverse tasks enountered in this emerging field. This course rigorously develops
We discuss a set of topics that are important for the understanding of modern data science but that are typically not taught in an introductory ML course. In particular we discuss fundamental ideas an
In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing.
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not necessarily limited to: analyzing the product requirements for completeness and correctness in various contexts like industry perspective, business perspective, feasibility and viability of implementation, usability, performance, security, infrastructure considerations, etc.
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code.
The potential of automatic code generation through Model-Driven Engineering (MDE) frameworks has yet to be realized. Beyond their ability to help software professionals write more accurate, reusable code, MDE frameworks could make programming accessible fo ...
Dielectric Elastomer Actuators (DEA) are devices designed to convert electric energy into mechanical work. However, the current actuator design will expand when actuated while muscles contract. Fiber reinforcement may allow for anisotropic movement, which ...
Electron-cyclotron waves are a tool commonly used in tokamaks, in particular to drive current. Their ability to drive current in a very localized manner renders them an optimal tool for MHD mode mitigation. However, such applications require high accuracy ...