Jenkins is the way to automate the boring stuff

Automating Unit Testing, Security Scanning and UAT

Submitted By Jenkins User Mohamad Farhan bin Zainudin
Accelerating testing for this Malaysian DevOps-as-a-Service company.
Team Members: Celeste Yap, Senior DevOps Engineer
Industries: Software development
Programming Languages: Node.js, Python, GO
Version Control Systems: GitLab
Community Support: Jenkins.io websites & blogs

Software delivery acceleration with an end-to-end CI/CD pipeline using Jenkins

Background:  As a cloud engineer for a technology-centric company that focuses on helping clients realize their Asia-Pacific digital needs, fast software delivery isn’t just a "nice to have," it’s a "must-have."

Before we used Jenkins for automating the unit testing, security scanning, and user acceptance testing (UAT), our developers had to do all the tests manually. This is unacceptable as these processes are not just tedious, they also slow down our developer workflow. Using Jenkins, we manage to create a new workflow for our developers, making the code faster and of higher quality than ever before.

Goals: Automating all tests for better software quality.

"Jenkins has helped our team create a complete CI/CD pipeline and, in doing so, made our software delivery 3 times faster!"
image— Mohamad Farhan bin Zainudin, Cloud Engineer

Solution & Results: 

We chose to use Jenkins to automate the unit testing using PHP-unit. In doing so, our developers no longer need to do unit testing manually on their local machines. We also have incorporated Sonarqube scanning for auditing the developer’s code. This helps the developer team identify any bugs or vulnerabilities early, before deploying code to the production environment.  

Lastly, we automated the UAT by incorporating Robot-Framework in the pipeline. Robot-Framework replicates an actual user by checking the web UI according to the unique Robot script created.

We have incorporated several essential Jenkins plugins for this project:

  1. Gitlab plugin

  2. Folders Plugin (Organization)

  3. Git plugin

  4. Pipeline plugin

  5. Sonarqube Scanner for Jenkins

Jenkins has helped our team create a complete CI/CD pipeline and, in doing so, made our software delivery three times faster than ever! We are delighted with the results:

  • Developer’s efficiency increased by 70%

  • Code smell and bugs managed to be detected early

  • Releases cycles shortened from 3 days to 3 hours

    +
    +