Home » TPT » Cloud Testing with TPT: Case Study with AGSOTEC » Technical Aspects in Cloud Testing » Implementation Case 2
Implementation Use Case 2
Implementation Use Case 2
Integration of a digital butler in the form of a Jenkins CI.
Home » TPT » Cloud Testing with TPT: Case Study with AGSOTEC » Technical Aspects in Cloud Testing » Implementation Case 2
Integration of a digital butler in the form of a Jenkins CI.
Because Use Case 1 was completed very quickly and successfully, the question of further automation arose immediately. Why? It is less error-prone, more precise, faster, and more robust.
The first case was to be extended by instantiating a Jenkins server in the cloud. Similar to setting up EC2 instances, Jenkins was installed in an AMI . The major difference between this instance and the instances used for testing is that this instance will run continuously.
The reason for this continuous operation: This instance is meant to monitor the connected software repository (version control) GIT for changes in the code and ongoing tests at all times.
If a team member makes a change to a part of the software, like the Matlab/Simulink model, this change should be immediately detected and verified. Typically, in software version control, there are multiple levels.
For quality assurance, the following principle has been established: Only changes that meet the quality standard are merged into the production path. In contrast, in a development path, the development hands over the change to the version management. This is detected by Jenkins.
Now, first, quality assurance measures like our software tests should demonstrate that the change is mature enough for the production path.
If it is mature enough, it will be incorporated. If not, the change will be discarded, and the development team will receive feedback indicating that the change is causing issues. This is usually communicated through an email from Jenkins.
Additionally, Jenkins offers a wide range of useful plugins, including the EC2 plugin. With its help, EC2 instances are automatically launched, monitored, and pipeline jobs (tests) are executed.
Use Case 2 was successfully implemented and represents an impressive integration of cloud services into our CI environment. The seamless integration was achieved effortlessly, thanks to the excellent documentation of the plugins used.
Security Activities
A significant portion of the work focused on security activities, such as opening inbound ports and setting up webhooks to fetch files from private repositories, and managing access using access tokens.
Communication Relationships
Additionally, communication relationships between the AWS services and the Jenkins server had to be established to enable automatic scaling through the automatic creation and connection of new instances. Thanks to this innovative solution, we were able to successfully overcome the challenges of Use Case 1.
Benefits of the Autoscaling Solution
The current solution does not automatically detect when test cases are stuck and run longer than expected, failing to terminate them in a timely manner.
Internal monitoring mechanisms, known as ‘watchdogs’, can be implemented. These watchdogs can stop test cases if they unexpectedly run for an extended period to control execution time and prevent bottlenecks.
By clicking 'I Accept' you agree to the storing of first- and third-party cookies on your device to enhance site navigation, analyze site usage, and assist in Synopsys marketing efforts. For additional information, please see the Synopsys privacy policy. If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission. You can revoke or adjust your selection at any time under Settings.
If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission. Here you will find an overview of all cookies used. You can give your consent to whole categories or display further information and select certain cookies.