Make Testing Easier
Submitted By Jenkins User Ryan Febriansyah
Malaysia/Indonesia HR firm uses Jenkins to eliminate manual testing, shorten testing, and catch bugs early!
Organization: AJobThing, https://www.ajobthing.com
Industry: Human Resources
Programming Language: Python
Platform: Android, iOS, Windows, TestProject, Slack
Build Tool: Python
Community Support: Jenkins.io websites & blogs, Spoke with colleagues and peers
Parallel testing, shortened testing time and
accelerated Dev process, with Jenkins.
Background: AJobThing is a recruitment platform tool for hiring better staff. AJobThing helps facilitate the recruitment process of talented candidates for any organization by attracting and sourcing the best talent to match company requirements. In 2018, our platform Maukerja was awarded the Best Job Portal in the Asia Recruitment Awards.
Before the Jenkins concept was applied and integrate into our software development lifecycle, the process for doing testing was almost 100% manual. On the other hand, the release of our own products takes place very quickly and sometimes spends a lot of time in the testing process. Our products, MauKerja and Ricebowl, are used for both Android and iOS. For that, we have a valid reason to use Jenkins to do parallel testing, shorten the testing time, do tests simultaneously, and speed up the devs process when fixing the issue.
Goals: To simplify the process of testing, reduce tester time, and embrace the CI/CD ecosystem.
Solution & Results: Now every time a developer makes a new build, the testing process will be triggered through the Jenkins pipeline, which will execute automated tests for UI aspects or data-driven tests. The pipeline is divided into several parts; there are pipelines devoted to performing regression tests, system testing, or UI tests. With Jenkins, too, we can do parallel tests simultaneously with the help of TestProject. This eliminates the manual effort for testing, making it easier for testers to focus more on unexpected or hidden issues.
It also speeds up the release process, and saves developers time to fix other issues. Using Jenkins, we can create our custom infrastructure for testing integration which we can flexibly add or customize with what we need. In my opinion, Jenkins is complex to use, but on the other hand, it comes with many reliable plugins that make it easy for us to overcome that complexity.
Jenkins is not just for automation tests for mobile apps; we experimented with Jenkins freestyle to perform load tests or automation API tests integrated with tools such as Apache JMeter or Newman from Postman. In this way, we only need to run or click the build, and then the complete results will be immediately visible on the dashboard.
There are many features and plugins that I like about Jenkins, but what impressed me the most is that we can integrate with platforms like Slack or others to generate testing reports from the finished pipeline. With that, the visibility of the testing report can be seen directly by developers and I think it’s a crucial part since developers know directly that their build has an error or not.
The results were awesome:
- Cut off manual testing in the core functionality aspect of our product
- Shortened testing time up to 3 hours
- Perform parallel tests simultaneously without requiring much effort
- Early tracking to catch a bug