HVAC helps to control our surrounding environment based on our need in everyday life. In simple language, it’s an Electronic Machine that automatically adjusts its temperature according to the outside weather temperature or it can be operated by us to maintain our surrounding environment. This system is majorly used in commercial, residential as well as for industrial purpose.
It includes various processes like Heating, Cooling, and Ventilating along with Humidification and Dehumidification to maintain the inside temperature for the occupants with respect to the outdoor weather conditions. Multiple HVACs can be operated from a single Master HVAC called Zone system.
Smart HVAC systems in IoT world
HVAC also known as thermostat since it provides thermal ease to the occupants has now been smarter than ever as it can be remotely controlled by the tip of our fingers just with a simple click on our Mobile using connected application. HVAC systems can also be configured with Alexa or Google Smart Home to make our life more convenient as it allows operating the system over voice controls. IoT has proved to be the blessing for the purpose of connecting and exchanging data with other devices and systems over the internet and this technology has made the system smarter and more efficient.
Major components of the Smart HVAC system comprises HVAC device, cloud for communicating with device and mobile application that control the device functions. Multiple HVAC systems combine together to build up a system called zone in order to achieve energy efficiency and customization in heating and cooling needs in living areas. Zoned HVAC controls the temperature for each section of home/industry independently of the others.
Why testing HVAC?
Since HVAC systems control the environmental condition of a particular area or region, it’s extremely critical to ensure the overall working and performance of it. Also, when the system is smart enough to be handled by an application, it becomes more vital to verify the end-to-end integrity of the system covering mobile application, cloud APIs along with its communication protocol and device functionalities both ways (i.e. Mobile Application <-> End Device). If any of these fail to function properly, it may lead to the failure of the entire system and that’s the reason why testing HVAC systems becomes too complex and crucial before its release.
Approach for Testing HVAC System
In order to ensure the overall system integrity of HVAC system, there are majorly 3 different approaches to be considered :
- Functional Feature Validation
- API Testing
- Performance/Load Testing
Functional feature validation:
HVAC devices have scheduling features wherein the scheduled mode and temperature can be set throughout the day or on a weekly basis depending on time slots. Some devices may facilitate the vacation/one touch away feature which can put the thermostat in “away” mode. All these features can be validated through manual as well as automated testing which includes the testing of mobile applications and its communication with HVAC devices via communication protocol and APIs. One of the most important aspects is to ensure that the thermostat is energy efficient and its consumption is minimum which can be verified through usage graphs that gives an overall picture of energy usage vs consumption. Refer our blog on automated testing of the end-to-end system here .
There are various tools and frameworks available in the market but considering the best open source tool, Appium is widely used to test mobile applications with the help of Robot Framework for HVAC device validation via MQTT. The HVAC device connected to Raspberry Pi and the Python script (Publish/Subscribe the Request and Response data) would allow Read or Write the values of thermostat device objects. Automation scripts are developed that validate the functional aspects of mobile application by updating the values which will be verified on the Thermostat device by reading the corresponding object values over the Subscribed Response Topic of MQTT and vice versa.
APIs are the building blocks for developers in order to establish communication between mobile application and devices over some communication protocols. Hence it’s prominent to ensure that APIs are giving the expected response of the request sent to the server. There are various tools available in order to test Rest APIs, Postman is one of them. Refer our blog for details on API test automation using Postman and utilizing the collection for Continuous Integration Testing using Jenkins.
When it comes to the testing of a large number of devices and handling concurrent users at a time, performance/load testing can be executed in order to ensure reliability, scalability and load handling capability of a system. While N number of users are using the HVAC system at a time, its performance may degrade or the response may delay which can crash the server due to heavy load on it. This situation can be overcome by detecting the capability of the server to handle maximum load at a time and distributing it over the different instances by performing load testing. There are various types of tools available in the market, Locust is one which uses Python scripts to develop performance scripts which will be executed over N number of HVAC devices to derive the tolerance/behavior of the system.
Smart HVAC systems are now a part of most of the residential as well as commercial buildings to maintain their internal environment and that’s why testing with the right approach is mandatory to discover the unknown defects and to ensure its higher efficiency and performance prior to its release. At VOLANSYS, we help design HVAC systems right from design to development to its end-to-end testing following efficient testing methods using automation, latest tools, and technologies.
Read our success stories to know how VOLANSYS helps organizations test HVAC systems with its quality engineering services.
About the Author: Shraddha Shah
Shraddha is associated with VOLANSYS Technologies as a QA Automation Lead for more than 2 years. She has vast experience in Web, Mobile and Cloud Automation testing domains.