CI CD CT Micro service Test Implementation Guide
Introduction
LINUX-SYTEM Trade Tools team began a groundbreaking new initiative named CI CD CT AUTOMATION-PROJECT to simplify the international shipping experience for LINUX-SYTEM customers. They partnered with Syntel to build an innovative, intelligent platform that classifies commodities to a fully qualified code with a single click.
By applying Big Data, Micro services and data science techniques to historical shipment and tariff data, we were able to deliver a simplified, streamlined customer experience with more accurate estimated duties, taxes and transit time Any Operating company looking for accurate commodity classification and accurate duties, tax and transit and also other non-clearance and brokerage platforms can leverage Trade Tools intelligent micro services
CI CD CT AUTOMATION-PROJECT involves innovative idea of improving the customers experience by providing accurate product code, estimated duties, estimated taxes, transit time, and digitalized experience by utilizing the cutting edge technologies like Big Data and Analytics. Syntel is responsible for ingesting data from various data sources into the Big Data Lake, preparing Data engineering pipelines and machine learning models to create datasets which will be used to render data to Business services
Document Overview
In CI CD CT AUTOMATION-PROJECT, we are continuously developing the application and deploying the code in different environment. We have designed Smoke Test to make sure that all the components of CI CD CT AUTOMATION-PROJECT is up and running in all the environments. The Smoke Test is integrated with build deploy process. Whenever the build is deployed successfully, smoke test is triggered and upon successful execution, an email report generated and sent to all the stakeholders.
Assumptions and Constraints
Topic | Description |
None | Not Captured any Error |
Core Competencies
Skill | Description |
Automation | CA Dev Test used for automating the test cases. |
Environment set-up
The following environment setup is required:
- Installing latest version of Java on the LINUX box: As the CADevTest requires JRE to run some of the script, hence Java was installed and environment variables configured. Java version should be 1.7 or higher.
- Installation of MS office
- Installation of CADevTest workstation on build machine to execute the automated test. For getting the CADevTest installer file we need to contact GTM_CLM team (gtm_ca@corp.ds.LINUX-SYTEM.com ). Below are the steps to install CADevTest Workstation on (LINUX : http://c0008666.test.cloud.LINUX-SYTEM.com) & windows (Windows (http://uwn04530.corp.ds.LINUX-SYTEM.com, http://uwn04531.corp.ds.LINUX-SYTEM.com)) build machine:
Process for Environment set-up
The following process for environment setup is required:
- In a terminal window, navigate to the directory where the installer file is located.
- Ensure that the installer file has the execute permission. chmod 777 devtest_platform_x64.sh This gives rwxrwxrwx permissions on the file.
- Run the installer file. Double-click the icon or enter a command similar to the following command from a terminal window: ./devtest_platform_x64.sh The DevTest Solutions Setup wizard opens.
- Click Next. The CA End User License Agreement step opens.
- Read the license agreement, select the I accept the terms of the License Agreement check box, and click Next. The Select Destination Directory step opens.
- Specify the directory where you want to install DevTest Workstation. Do not use a directory that contains spaces. (The default is /opt/CA/DevTest.)
- Click Next. The Installation Type step opens.
- Select one of the following options and click Next.
Local
Installs all DevTest Solutions components into a single directory on the local computer. By default, all data is stored in this directory, and each user has a personal temp directory. Local is the most common installation type that is used in most environments.
Shared
Used by administrators to install all of the DevTest Solutions components to a shared location that multiple users from multiple computers can access. All data and temporary files are stored in user-specified directories. Each user has personal data, but they share a common DevTest Solutions installation. With a shared installation, users only need read access to the DevTest Solutions programs directory.
The Select Components step opens.
- Clear the Server check box, ensure that the Workstation check box is selected, and click Next. If you chose the shared installation type, the following steps prompt you to specify the data directory and the temporary files directory.
- Specify the directories, clicking Next after each step. The Specify Demo Server step opens.
- If you want the installer to unzip the demo server into the LISA_HOME directory, select the Install demo server check box and specify the fully qualified path of the demo server zip file.
- Click Next. The Select Additional Tasks step opens.
- If you do not want to create a desktop icon for DevTest, clear the check box.
- Click Install. When the installation is finished, the Information step opens.
- Read the information and click Next. The Completing the DevTest Solutions Setup Wizard step opens.
- Click Finish.
- All the necessary jars to be kept in LISA lib directory whose location is /opt/LINUX-SYTEM/tibco/CADevTest/lib/
- Creation of a CADevTest user for executing the Trunner command. A dummy user is created for this by requesting to the LINUX-SYTEM manger concerned.
- Firewall to be configured to allow access to CADevTest registry. Request InfoSec team to allow CADevtset to access lisa registry server from the build box
- Connection to all the component
Smoke Test/ Sanity Test Implementation
Scenarios covered in Smoke Test
Copy all the Smoke test scenarios in below folder
LINUX : http://c0008666.test.cloud.LINUX-SYTEM.com
/opt/LINUX-SYTEM/tradetools/LISA/lisadevtest/Projects/CI CD CT AUTOMATION-PROJECT_DEMO/Tests/
Create Test Runner command for all test suite:
Ex:./TestRunner -a -u 3592564 -p May20198 -t /opt/LINUX-SYTEM/tradetools/LISA/lisadevtest/Projects/CI CD CT AUTOMATION-PROJECT_DEMO/Tests/All_Services_new_framework.tst -m ssl://srh00457.ute.LINUX-SYTEM.com:2010/Registry
AUTOMATION-PIPLINE SUMMARY
- Parametrized build will help customizing the build and deployment process with minimum code
- Single Job Triggered across Multiple Environments in 3 levels (L1, L2 and L3) in a single stage, L4 L6 in 2
- different stages as shown below
- Application components under HSValidation in git lab, which was created as a separate pipeline has
- been merged into a single pipeline where in it will execute the code based upon the selection of
- Application component parameter
- please find below
- Pipeline code has been decreased more than 60% lines of code as compared to the existing code
- Stages are rather executed based on the condition/parameter
- We can use Jenkins shared library which will give more benefits across the projects, Single shared
- library will be access all the projects.
- Through Shared library Jenkins file/Pipeline code will decrease a lot, only reference of the shared
- library will be given in pipeline code
Automation of the smoke test scenarios
CI – CD Team will create pipeline in Jenkins to Trigger Smoke Test suites across all the levels
- L1 – L2- L3
- L4
- L6
Pipeline structure:
Execution of Smoke Test
Auto Triggering Smoke test along with Build
- L1 – L2- L3 (Single deployment and Load master will confirm check point to next levels )
- L4
- L6
Select the environment and application need to deploy.
Send an automated email after the successful completion of test suite execution. In each of the test suite at respective Test level
AD-HOC Smoke Test Execution from Jenkins
Apart from daily execution of smoke test, it can also be triggered manually via Jenkins
Below is the process for the same;
- Go to below link
- Select Build with Parameters
- Select Environment and Application
- Click on the build
this will trigger the chosen smoke test.
Regression Test Implementation
Integrate Regression Test suite
Copy all the Regression test scenarios in below folder in Linux/ windows Box
/opt/LINUX-SYTEM/tradetools/LISA/lisadevtest/Projects/CI CD CT AUTOMATION-PROJECT_DEMO/Tests/
Create Test Runner command for all test suite:
Ex:./TestRunner -a -u 3592564 -p May20198 -t /opt/LINUX-SYTEM/tradetools/LISA/lisadevtest/Projects/CI CD CT AUTOMATION-PROJECT_DEMO/Tests/All_Services_new_framework.tst -m ssl://srh00457.ute.LINUX-SYTEM.com:2010/Registry
Automation of Regression test Scenarios
CI – CD Team will create pipeline in Jenkins to Trigger Regression Test suites across all the levels
- L1 – L2- L3
- L4
- L6
Pipeline structure:
Execution of Regression Test Suite
- Auto Triggering along with build
- L1 – L2- L3 (Single deployment and Load master will confirm check point to next levels )
- L4
- L6
- Ad-Hoc Triggering of Regression test suite on Required environment
Send an automated email after the successful completion of test suite execution. In each of the test suite at respective Test level
Validation of the Results & Logs
- We can see Pass / Fail Test scenarios in Jenkins
- We can monitor build status in Jenkins
- Logs can be available in source box
LINUX : http://c0008666.test.cloud.LINUX-SYTEM.com
/opt/LINUX-SYTEM/tradetools/LISA/lisadevtest/Projects/CI CD CT AUTOMATION-PROJECT_DEMO/Results
Jenkins Console output: