Background: As a QA lead at this multinational company, we needed an all-encompassing solution for consumers to connect all devices, no matter which protocol they used, and create viable interactions between them. This was a massive team effort as developers for different factions are spread out internationally.
Goals: We started with Jenkins to run our full test suites on the test environment each morning to have a complete status at the start of the day.
"Jenkins allows us to run the jobs we need when we need. Be it on a schedule, on a trigger, or on-demand, Jenkins is always there."
Solution & Results: Once we got our full test suites running every morning, they allowed us to quickly identify issues and flaky tests. Once tests were stable enough, we started on-demand deployments through Jenkins, which also runs related tests after the deployment, allowing us to verify changes quickly.
The next step was to also run tests on the staging environment. It ensured that anything deployed to production was working.
Finally, we started running a subset of our tests in production every hour, with Jenkins notifying us of any failure. Once confident in our solution using Jenkins, we added jobs, computing reports from analytics, and logs to drive us to increase our test coverage.
In the end, Jenkins allowed us to have a clear vision on what to do to improve our quality and to ensure everything released was passing our tests.
We looked for capabilities and notifications plugins that allowed for job parameterization, scheduling, and notifications. We found all of that and more.
What results are we seeing?
safer deployments
on-demand deployments
better reaction time
production monitoring