Plugin Information |
---|
View TraceTronic ECU-TEST on the plugin site for more information. |
Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:
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
- Configuration
- Downstream report generation
- Downstream trace analysis
- Extensions
- Screencasts
- Issues
- FAQ
- Compatibility
- License
- Changelog
- Release 2.10 (Jul 03, 2019)
- Release 2.9 (Jun 14, 2019)
- Release 2.8 (May 24, 2019)
- Release 2.7 (May 17, 2019)
- Release 2.6 (Feb 15, 2019)
- Release 2.5 (Dec 07, 2018)
- Release 2.4 (Jul 30, 2018)
- Release 2.3 (Jul 20, 2018)
- Release 2.2 (Apr 13, 2018)
- Release 2.1 (Feb 16, 2018)
- Release 2.0 (Dec 08, 2017)
- Release 1.18 (Jul 28, 2017)
- Release 1.17.1 (Jun 06, 2017)
- Release 1.17 (Jun 02, 2017)
- Release 1.16 (Mar 10, 2017)
- Release 1.15 (Jan 06, 2017)
- Release 1.14 (Nov 25, 2016)
- Release 1.13 (Oct 14, 2016)
- Release 1.12 (Sep 16, 2016)
- Release 1.11 (May 27, 2016)
- Release 1.10 (May 13, 2016)
- Release 1.9 (Apr 15, 2016)
- Release 1.8 (Mar 18, 2016)
- Release 1.7 (Mar 04, 2016)
- Release 1.6 (Jan 29, 2016)
- Release 1.5 (Dec 18, 2015)
- Release 1.4 (Dec 04, 2015)
- Release 1.3 (Nov 23, 2015)
- Release 1.2 (Nov 06, 2015)
- Release 1.1 (Oct 23, 2015)
- Release 1.0 (Oct 09, 2015)
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 Snippet 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 7.0.0 or higher
- optional: TEST-GUIDE 1.55.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.10 (Jul 03, 2019)
Dynamic TEST-GUIDE installation not found when publishing reports (PR #69)
Rename pipeline symbols to camel case names (PR #68)
Dependencies updates (PR #63, #66)
Release 2.9 (Jun 14, 2019)
Add generator option to read from persisted settings file (PR #44)
Add support for analysis packages (PR #45)
Dynamic ECU-TEST installation not found when stopping instance (PR #43)
Enable Dependabot (PR #49)
Enable Release Drafter (PR #52)
Release 2.8 (May 24, 2019)
Check whether configurations are started (PR #32)
Add timeout option using Quit and Exit via COM API (PR #34)
Add more debug logs (PR #37)
Ensure compatibility up to ECU-TEST 8.0.0 (PR #35)
Drop support for ECU-TEST 6.x (PR #35)
Update available ATX settings to TEST-GUIDE 1.67.0 (PR #36)
Release 2.7 (May 17, 2019)
Add full support for Configuration as Code plugin (PR #23)
Allow dynamic inline ECU-TEST instances in pipelines (PR #31)
Allow dynamic inline TEST-GUIDE instances in pipelines (PR #29)
Use random generated id for linking reports (PR #24)
Release 2.6 (Feb 15, 2019)
Add option to update user libraries (PR #12)
Support generation and re-use of ECU-TEST caches (PR #13)
Allow individual Windows task name (PR #19)
Request API endpoint to check TEST-GUIDE availability (PR #15)
Internal refactoring (PR #7)
Reference filter validation throws ANTLR exception (PR #17)
Updated available ATX settings to TEST-GUIDE 1.64.1
Requires at least TEST-GUIDE 1.55.0
Release 2.5 (Dec 07, 2018)
Allow dynamic TEST-GUIDE configuration in Pipelines
Add partial JCasC plugin support to manage ECU-TEST installations
Use unique ATX id for linking reports to TEST-GUIDE if available
Improved ECU-TEST version parsing (PR #6)
Ensured compatibility up to ECU-TEST 7.2.0
Release 2.4 (Jul 30, 2018)
Fixed security issues SECURITY-932, SECURITY-994
Release 2.3 (Jul 20, 2018)
Allow to use TMS credentials from any Jenkins context
Removed existence check of .workspace directory
Improved COM connection stability by updating to JACOB 1.19
More robust parsing the ATX upload response
Updated available ATX settings to TEST-GUIDE 1.57.1
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
Attachments:
post_build_steps.png (image/png)
build_steps.png (image/png)
post_build_steps.png (image/png)
ecutest.png (image/png)
testguide.png (image/png)
testguide.png (image/png)
build_steps.png (image/png)
ecutest.png (image/png)
post_build_steps.png (image/png)
demo_job.png (image/png)
demo_build.png (image/png)
demo_build.png (image/png)
demo_log.png (image/png)
continuous_testing.png (image/png)
ecutest-logo.png (image/png)
ecutest-logo.png (image/png)
tracetronic-logo.png (image/png)
ecutest-logo.png (image/png)
build_steps.png (image/png)
ecutest.png (image/png)
post_build_steps.png (image/png)
testguide.png (image/png)
post_build_steps.png (image/png)
build_steps.png (image/png)
ecutest.png (image/png)
testguide.png (image/png)
downstream_report_generation.png (image/png)
downstream_build_steps.png (image/png)
downstream_post_build_steps.png (image/png)
upstream_build_steps.png (image/png)
upstream_post_build_steps.png (image/png)
swarm-client-jar-with-dependencies.zip (application/zip)
RESTART_JENKINS_SLAVE.xml (text/xml)
downstream_trace_analysis.png (image/png)
downstream_report_generation.png (image/png)
upstream_build_steps2.png (image/png)
upstream_post_build_steps2.png (image/png)
downstream_build_steps2.png (image/png)
downstream_post_build_steps2.png (image/png)