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.
Industry: Software development
Programming Language: Node.js, Python, GO
Platform: Docker or Kubernetes, Linux
Version Control System: GitLab
Build Tool: Composer
Team Members: Celeste Yap, Senior DevOps Engineer
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.
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:
- Gitlab plugin
- Folders Plugin (Organization)
- Git plugin
- Pipeline plugin
- 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