Sluggish the Internet of Things (IoT) apps can cause work productivity to take a hit. One way to keep productivity high with IoT apps is by testing them with a Platform as a Service (PaaS). The following test criteria can help you determine whether an IoT app is working correctly.
1: Device capacity
Test if the IoT app can support thousands of IoT devices and users at a facility, and then determine how much the app can be scaled down to support a few IoT devices at a home office. If an IoT app that exceeds capacity is not tested, it could shut down the affected IoT devices at a facility or at a home office.
2: Device connectivity
Test if one proprietary IoT device can send data to another IoT device. Determine if the IoT app can automate connections almost instantaneously between the IoT devices and the network. Not all proprietary devices are compatible with one another due to the vendor's lock-in policy. For instance, IoT devices designed for use at home may not work with IoT devices in a connected car, and most likely will not work with industrial-strength IoT devices.
3: Speed test
Test how fast a mobile device (BYOD or company-owned) can connect wirelessly without human intervention and how fast a mobile user can send and receive data from the IoT devices. Determine how low latency can be achieved to reduce the delay to a mobile user's query. If it's not tested, logic flaws in the IoT app could result in slow response to a user's query.
4: Lightweight encryption algorithms
Test whether the data generated by the IoT app can be encrypted using lightweight encryption algorithms. Low memory in an IoT device, a mobile phone, or a tablet is insufficient to carry out a full encryption of the data. Full encryption is possible with a laptop or a desktop computer with memory chips of much higher capacity.
5: App flaw discovery
Test whether the IoT app contains logic flaws. Be sure to include test codes in the app to catch logic errors with a short description of each error. Also, make sure a revision number is assigned to the IoT app each time you make changes to it. If the app flaws are not discovered, the IoT devices will perform poorly.
A BYOD containerization divides applications into two containers: one for work and one for personal use. Test whether the IoT app for a facility runs only in the corporate container, and that the corporate IoT data is protected if a mobile user loses his mobile phone or tablet. Check to see if the user can switch from one container to another with ease.
7: Emergency alerts
Test if the IoT app can quickly send emergency alerts to a mobile user when, for example, electric power starts to go down at the plant. Make sure the alerts (text or audio) include a contact's name, the type of alert, the reason for the alert, and, if necessary, recommended solutions. You should consider that poor audio quality could make it difficult for a mobile user to hear or to be heard at a noisy facility.
8: IoT indicators
IoT indicators come in different forms, including the IoT device's blinking LED lights and an audio option for talking directly to another person through an IoT device at a remote location. Test if the IoT app has the capability to make the colors of LED blinking lights brighter or lighter.
9: Log generation
Test whether the IoT app can generate a log on a mobile device. The log should list the name of the user accessing the IoT device, the device's part number, the date and time the user accesses the device, the type of data sent to and received from the IoT device, and the level of the user's security credentials (unclassified or secret).
How do you test IoT apps?
What approach do you use for testing IoT apps? Is there anything you would add to this list? Let us know in the discussion.
Judith M. Myerson is a Systems Engineering Consultant and Security Professional. She is the editor of Enterprise System Integration and the author of RFID in the Supply Chain. She has researched and published articles on a wide range of cloud computing topics, RFID, security, networking, and mobile. She was awarded a Master of Science degree in Engineering (Computer and Information Sciences). President of a toastmasters group, Judith was awarded her Advanced Communications Gold certificate. She is a member of The Operational Security Professional Association.