Jenkins is the way to guaranteed quality for your devices

IoT Cloud

Submitted By Jenkins User François Mockers
This consumer electronics leader needed a way to increase the quality of deployed IoT software internationally.
Logo
Industries: IoT industry and new technologies
Programming Languages: Java, Node, js, Scala, Swift, Kotlin
Platform: : Android, iOS, Embedded, Docker or Kubernetes, Linux
Version Control System: Bitbucket Server
Build Tools: Gradle, Maven, sbt
Community Support: Spoke with colleagues and peers

Increasing quality and ensuring IoT software passes all tests pre-deployment.

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.

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.

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.
profile picture
François Mockers, QA Lead

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