TraceTronic ECU-TEST2.2Minimum Jenkins requirement: 2.60.3ID: ecutest
Maintainers
ECU-TEST is a test automation software for the validation of embedded systems in automotive environments developed by TraceTronic GmbH.
This software executes regression tests which are essential for validating complex technical products such as electronic control units (ECUs).
It supports standardized access to a broad range of test tools and provides an extensive automation of distributed test environments (SiL – MiL – HiL – vehicle).
Table of contents
Features
- Provides an easy integration and control of ECU-TEST and the Tool-Server with Jenkins
- Enables the execution of ECU-TEST packages and projects with their respective configurations
Moreover publishing test results is included in form of:
- Linking the TRF reports
- Generating various report formats
- Displaying test result trend graphs
- Uploading ATX test reports to TEST-GUIDE
- Parsing the ECU-TEST logs for warnings and errors
- Downstream report generation
Configuration
ECU-TEST configuration
- ECU-TEST installations are administrated in the Jenkins system configuration or starting with Jenkins 2.0 in the global tool configuration at section "ECU-TEST"
- An installation entry is specified by an arbitrary name and the path to the installation directory
- The execution on a Jenkins slave requires the adaption of the ECU-TEST installation directory on the slave configuration page
TEST-GUIDE configuration
- TEST-GUIDE is also configured in the Jenkins system configuration at section "TEST-GUIDE"
- A new entry requires both an arbitrary name and the selection of a previously configured ECU-TEST installation
- Further settings like the server or ATX specific configuration can be found in the advanced block
Job configuration
The plugin provides several new build steps:
Note:
- All build steps have an "Advanced" button through which more options can be accessed
- All text fields can be parameterized and are resolved at build execution
Syntax: $parameter or ${parameter}
The post-build actions are extended by these test report related post-build steps:
Job execution
- After job configuration is done a new build can be triggerd by clicking on the "Build now" button
- The console log contains detailed information per build step execution
- The test results are published both on the build page and the job page based on the latest build
Environment variables
- This plugin also exposes the tool and test related information of the current build as environment variables
- These variables are composed of $TT_<TOOL | TEST>_<information>_n where n is the 0-based index of the related build steps in the job configuration
- The summary of all generated environment variables is also shown on the build page
Downstream report generation
The concept of downstream report generation allows to execute the report generators like ATX, UNIT, HTML etc. in a downstream-based project.
Therefore the report artifacts like TRF reports etc. must be archived after the test execution stage and will then be copied into a separate workspace of the triggered downstream project.
This downstream project acts like a central reporting service which waits for inputs from other test executions. It will be an ease to scale this service with help of Jenkins parallelization and distribution features.
The big advantage of this approach is to save time for the report generation and uploading process on expensive testing resources like HiL test benches. These resources can be directly used for the next test.
Example configurations
Preconditions
To prevent duplicate reports the build workspace should be cleaned before running the tests and before copying artifacts inside of the downstream project.
This can be achieved by using clean checkouts from repository or using the Workspace Cleanup Plugin when preparing the build environment.
To transfer the report artifacts from one node to another the Copy Artifact Plugin is required for freestyle projects. When using pipelines also stash/unstash commands can be used.
Freestyle configuration
Executing tests and archiving the artifacts (upstream)
Copying artifacts and generating ATX report (downstream)
Pipeline configuration
Downstream trace analysis
In addition to downstream report generation the plugin allows to run trace analyses in a downstream-based project. Therefore the test cases are executed without trace analysis at first.
Afterwards all trace analysis artifacts like analysis job files, traces, trace step templates and TRF reports etc. must be archived and will then be copied into a separate workspace of the triggered downstream project.
This downstream project acts like a central trace analysis service which waits for inputs from other test executions and is designed to be highly scalable.
The huge advantage of better ressource efficiency is the same as for downstream report generation and can also be used in combination.
Example configurations
Preconditions
Same as in downstream report generation.
Freestyle configuration
Executing test cases without trace analysis and archiving the artifacts (upstream)
Copying artifacts and running the trace analysis (downstream)
Pipeline configuration
Extensions
Job DSL
The Job DSL Plugin allows the programmatic creation of projects using a DSL. This plugin provides some specific DSL extensions.
Furthermore, if there is a method which is currently not supported then Job DSL also provides an auto-generator.
Pipeline
The Pipeline Plugin allows to orchestrate automation, simple or complex, using a DSL. This plugin supports the use of all provided build steps and post-build actions from within a Jenkins Pipeline build. The appropriate DSL syntax for these steps and actions can be easily generated with help of the Pipeline Snipped Generator using the related custom pipeline step or the 'step' command, when using plugin version prior to 1.13.
Screencasts
For more information about installation and configuration of the plugin as well as using the plugin in a slave-based setup see our screencasts.
Issues
To report a bug or request an enhancement to this plugin please create a ticket in JIRA.
Known limitations
When using the plugin in a slave-based setup (especially running the slave at command line via JNLP) you also need to restart the slave when restarting the master.
This is due to already loaded libraries, for more information see this blog post and related issue JENKINS-31961.
Release 1.8 implemented an extension point that will workaround this issue. In order to work a new task has to be created in the Windows Task Scheduler named RESTART_JENKINS_SLAVE and configured with actions how to restart the slave.
FAQ
When encountering problems or error messages, please check the installed plugin version at first and update to the most recent version, if any.
If the problem still exists search the following list of issues for possible solutions, otherwise you are asked to create a ticket in JIRA.
Common issues
Error messages
Compatibility
- Jenkins LTS 2.60.3 or higher
- Java SE Runtime Environment 8 or higher
- ECU-TEST 6.3.0 or higher
- optional: TEST-GUIDE 1.11.0 or higher
License
This plugin is licensed under 3-clause BSD license.
More information can be found inside the LICENSE file.
Changelog
Release 2.2 (Apr 13, 2018)
Allow additional data types as global constant
Improved COM connection stability with COM timeouts
Evaluate ATX upload info for linking ATX reports
Ensured compatibility up to ECU-TEST 7.1.0
Updated available ATX settings to TEST-GUIDE 1.54.0
Release 2.1 (Feb 16, 2018)
Added publisher for downstream trace analysis
Disabled COM timeout by default
Fixed ATX report links when using downstream publisher
Bumped Jenkins baseline to LTS 2.60.3
Release 2.0 (Dec 08, 2017)
Added publisher for downstream report generation
Added build variables containing last loaded ECU-TEST configurations
Added COM timeout to detect non-responding ECU-TEST instance or tool connections
Fixed sporadic errors when setting global constants
Bumped Jenkins baseline to LTS 2.60.1
Requires Java 8 on master and slaves
Ensured compatibility up to ECU-TEST 7.0.0
Updated available ATX settings to TEST-GUIDE 1.49.0
Labels
Are you maintaining this plugin?
Visit the Jenkins Plugin Wiki to edit this content.