What is MTest?
The MES Test Manager® (MTest) is a model test manager that supports the model tester in testing models and administering tests. MTest enables testing of Simulink®, Stateflow®, TargetLink®, and Embedded Coder® models.
MTest carries out the often-repetitive tasks that make up the testing process: from analysis of the models to be tested, to test frame creation, the testing execution itself, and test documentation. The tool also provides the tester with valuable support in the test planning and test specification stages.
Highlights in MES Test Manager® (MTest) v.7.1
External requirements in reqif-format can be conveniently imported into your test project. Supported by graphical user interface, the import attributes can be adapted to the custom format of your requirements document, and additional filter rules, e.g. regarding the testability of requirements, can easily be applied.
The automated test case generation has been improved further and has been made more robust. Ranges of interface signals are read from the model directly, the resolution of signals is set automatically according to signal data type, and Boolean signals are handled fully automatically.
The extended project configuration now includes the evaluation settings for central configuration and roll-out.
Highlights in MES Test Manager® (MTest) v.7.0
New approach in Configuration Management
The test project configuration has become easier and more convenient, the configuration setup can also be saved and distributed, which enables standardized configurations within a team or organization.
MARS Requirements Included in Test Documentation
Change Impact Analysis on MARS Requirements
Highlights in MES Test Manager® (MTest) v.6.4
Automated generation of functional test cases based on MARS requirements (ALPHA)
For given types of MARS requirements, MTest can now automatically generate test sequences (incl. test vectors) that will trigger the software behavior as defined by the MARS requirement.
Please kindly note, this feature has ALPHA status, and we highly encourage our customers to provide us with their feedback and ideas about it.
Redesigned test project protocol
Test object-specific issues can be identified individually and more quickly with help of the redesigned test project protocol.
Highlights in MES Test Manager® (MTest) v.6.3
Test case generation by variation:
A logical test case in MTCD can include any number of variation points, that are defined by a list of values or parameters. A combination algorithm then creates test sequences automatically.
Extended support of logged signals in signal comparison evaluation
Support of the Simulink Data Dictionary in combination with referenced models
The following system requirements must be in place to use MTest:
- Matlab® R2011b to R2018b
- Targetlink® (base suite) V3.X to V4.4
- Windows® 7, 32-bit and 64-bit versions or Windows® 10 (for running MATLAB®)
- System requirements when using MTest with EXCEL: Excel® 2003 and higher
- Please note: When working with Testwell CTC++, Microsoft Visual Studio® is a prerequisite. The user must have write access to the compiler installation folder.
- System requirements when using MTest with CTE/TESTONA: CTE 3.x or TESTONA 4.x/5.x+
Update to the Latest Version
- You should keep a backup of your old MTest installation (just rename the MTest directory to MTest_x using the "old" version number)
- Then proceed according to the installation instruction given above. If you use the previous MTest directory, you do not have to include the mtest\bin directory in your MATLAB® path again.
- After installation you reuse all your project settings directly (they are not part of the program installation).
- When using a floating license and changing to a new major release (from MTest 5.x to 6.x), please copy your license configuration to the new major-version-specific MTest lismo directory (see MTest client configuration above; use subdir 6_0 instead of 5_0).
- If you receive MTest in one zip file, please extract it into a folder. Please keep all the subdirectories.
- (Optional) Include the ...\mtest\bin directory into your MATLAB® path (only the \bin directory, all path setting is handled by MTest).
- See also Chapter 2 of the User Guide.
If you want to run MTest and MXAM concurrently, run MTest's and MXAM's path initialization before running MTest and MXAM:
- Copy the MTest_MXAM_SideBySide.m script from the demo folder of your MTest installation. For example into your MATLAB® startup folder.
- Change the values of the ``mxamRoot`` and ``mtestRoot`` variables to your MTest and MXAM installation locations.
- Execute the script manually or let MATLAB® execute it on each start.
- You may now start MTest and MXAM in any succession.
- See also Chapter 2 of the User Guide.
- Open MATLAB®, navigate to the MTest installation directory and execute >> mtest
- During the first start up, MTest asks for your project preferences (name, short name, model directory, test directory, ...)
- See also Chapter 2 of the User Guide
If you have any suggestions to help us improve the MES Test Manager® (MTest), please do not hesitate to contact us:
In this video we will demonstrate how to use the new test case variation feature by means of a specific example, namely how to define a logical test case from which concrete test cases can be derived. You will need to have basic knowledge about MTest and the MTCD test description method to watch this video.
The MES User Guide presents clear instructions on how to work with the MES Test Manager® (MTest). It provides users with information about getting started and working with MTest.
You can easily call the User Guide by clicking on "Help" > "View User Guide" (see image).
Release Notes - MTest v.7.1 (June 2020)
- Import of External Requirements Using the *.reqif Format
- With this release, MTest enables you to also import your requirements from *.reqif files (Requirements Interchange Format). The import is fully configurable. All import tags can be set in order to read the respective requirement attributes (e.g. ID, Description, etc.) according to the custom format of your requirements document. Also, by defining the specification type the import can be tailored to import only specific requirements. In this release, the import of attributes is limited to string data type (i.e. attributes of type XHTML are not supported, yet).
- Graphical User Interface for Configuration of Requirements Import
- Further Improvement of Test Case Generation
- The ranges of your interface signals ([Min Max]) are read from the model directly, so that your already implemented signal ranges are carried over to the MTest Specification Editor automatically (upon initial creation of the *_interface.io file).
Please note: The Min/Max values are not read from TargetLink ports.
- Boolean signals are now handled automatically. You do not have to specify signal range and resolution for this signal type.
- With respect to the signal data type, the resolution is set automatically (i.e.)
- Boolean, integer -> resolution = 1;
- single, double, fixdt -> resolution = 0.1
- The internal test case generation algorithm was made more robust in order to prevent any memory overflows during solution computation.
- Extension of Project Configuration
- Exclusion of Selected Signals from Regression Test
- Improved Handling of TargetLink Parameters
- License Injection Via MES Jenkins Plugin
- Elementary MATLAB Constants Available in MARS (#8107)
- Further Bug Fixes
- Now, the import of your requirement documents (*.xlsx and *.reqif) is fully supported by a graphical user interface. You can access the interface from the MTest menu bar via "Requirements / Configure Requirements Import" or via the button "Configure" in the "Requirements" panel.
- Here, you can easily specify the import settings, i.e. the elements of your requirements document that shall be carried over to MTest. Also, the setting of filter rules for the automatic determination of the requirements' testability was improved to be more intuitive and user friendly.
- This new release includes some further improvements to the requirements-based test case generation. These are:
- The evaluation configuration (assessment, signal comparison, expected output) is now integrated into the project configuration. On the one hand the user benefits from the convenience of specifying the evaluation configuration for a given test level (test project, test model, test object, test group, test sequence). On the other hand the evaluation configuration can be defined within a central, external project configuration and thus can be distributed to different MTest projects by means of referencing it. In addition, it is now possible to specify that a given test project level (e.g. test group) shall inherit its evaluation configuration from a level that is higher up in the project tree (e.g. test object or external). Furthermore, the evaluation configuration GUI was enhanced to better browse the test project tree. Now, the user has the option to display all test groups and/or test sequences.
- Upon initial opening of an MTest project created with MTest 7.0 or older, the migration of the previous evaluation configuration is carried out automatically.
- With this release, the user can now select which signals shall be excluded from a regression test. The evaluation result for those signals is rendered to 'Not Triggered.' You can access the interface from the MTest menu bar via "Evaluation / Manage Reference Data Set."
- The interface analysis was enhanced to recognize TargetLink DDV parameters. Now, they are read from the model and thus are available for use in MARS.
- Now, CI users of MTest do not have to perform the license configuration on each slave-machine of the CI setup individually (i.e. MES Jenkins Plugin and multiple instances of MTest). Once the license of the MES Jenkins Plugin is configured properly, this information is passed on to MTest and is prepended to the license configuration of MTest.
- It is now possible to use elementary MATLAB constants (e.g. pi, eps, i, inf) within MARS requirements.
- #7482: Fixes an issue when the source model utilizes the Data Import/Export configuration parameter 'Single Simulation Output.’ Previously the simulation data could not be retrieved when this option was active. This problem has now been resolved.The option is deactivated for the simulation.
- #7894: This fix provides drastically accelerated test sequence import by optimizing the analysis for logged signals.
- #7902: This fix enables the user to log signals if the test object is a top-level Stateflow chart.
- #7922: This fixes an issue with a runtime exception being thrown during Test Case Generation (TCG) when respective MARS requirements were using enumeration assignments. Those requirements are now skipped during TCG.
- #7926: In the MTest Specification Editor "~=" and "not equal" are now part of the Content Assist.
- #7940: This fixes an issue during interface analysis in case a test object, which is a referenced model, has bus inputs.
- #7944: The Simulink Data Dictionaries referenced by the currently selected test object are now closed upon selection of another testbed. This prevents issues while compiling the model due to model and testbed data dictionary being open at the same time.
- #7956: This fixes an issue of a failing interface analysis in case (sub-)bus objects have been defined within a Simulink Data Dictionary.
- #7971: During interface analysis, MTest also collects all parameters (i.e. workspace variables) of test objects that resemble referenced models. With this fix those parameters are now available for use with MTCD and/or MARS.
- #7986: This fix enables MTest to recognize signals logged with TargetLink even if the test object (i.e. the selected TargetLink subsystem) is set to SiL mode.
- #8002: This fixes an issue where a Simulink Data Dictionary is being opened once the testbed has been saved. This could have lead to a simulation crash caused by conflicting (multiple) definitions of data due to multiple loaded data dictionaries. See also bug fix #7944.
- #8004: This fixes an issue where a testbed was not generated in case an input bus contains elements that are of type enumeration only.
- #8041: In case of multiple bus object instances originating from a Stateflow chart the testbed generation now builds bus selectors with the names from the model and not ones that were renamed by MTest.
- #8053: Fixes an issue related to test sequences that only set parameters, and not any signals, that were only one time step long, ignoring the set duration.
- #8129: This fix ensures naming consistency when storing logged signals data and displaying them in the *_interface.io file. In the past, this could have led to errors handling logged signals whose name string contained inadmissible characters.
- #8123: Solves an issue where the coverage settings in the testbed were reset after regeneration. This fix is especially helpful in batch mode.
- #8151: This fixes an issue during test bed generation in case buses are terminated within a test object.
- #8188: This fix solves an issue regarding a runtime error when MATLAB is not able to read an MTCD Excel document during the test sequence import.
- #8196: This fix ensures that the TargetLink simulation mode is reset correctly, e.g. when changing the test project or test object.