Automated the unit testing, functional testing, and static code analysis along with CI-CD implementation for a Lighting Control Solution

The Need

Our customer, one of the market leaders in wireless lighting control solutions. The lighting control IoT solution reduces the energy consumption of buildings by up to 85%. They are looking for a partner company to create a robust test automation framework to ensure the quality of the code for each commit along with a CI/CD setup. 

Impacts Delivered
  • Exceeded the expected quality criteria for the code.
  • Achieved almost 100%, unit test coverage by using the tool.
  • Dynamic setting of the lighting profile enabled the automation to be executed 24X7
  • Test coverage and release frequency has exceeded the target levels.
Our Solution
  • Continuous Integration & Delivery (CI/CD) set up
    • A CI/CD system based on Jenkins was implemented to ensure the quality of code in each commit.
    • Static code analysis using SonarQube.
    • Unit test framework using Cantata to ensure code coverage.
  • Test Automation Framework development
    • A Scalable Automation Framework with Keywords to interact with Gateway, Sensor, and Validate the results using DALI bus commands.
    • Sensor controls using a relay module to automate restart/power on/off scenarios.
    • Dynamic lighting profile creation using scripts: used for checking the profile change at the configured time of day.
    • Jenkins installed in an AWS ec2 instance to be the master node for controlling the CI/CD
  • Static Code Analysis is performed using SonarQube
  • Cantata for unit testing
  • Jenkins on AWS ec2 for the creation of CI/CD pipeline.
Tools & Technologies
  • SonarQube for static analysis of code
  • Cantata for unit testing
  • Jenkins on AWS ec2 for the creation of CI/CD pipeline.
Automation Framework Architecture Diagram

Automation Framework Architecture Diagram


Explore More
Success Stories

Contact
Us

By submitting this form, you consent to be contacted about your request and confirm your agreement to our Privacy Policy.