What is IoT?
IoT (Internet of Things) – is a special ecosystem, that combines a lot of various useful components: route vehicles, home automated system, medical equipment, different microchips and so on. These and other components can keep and send information. With the help of such technology, you can easily manage different devices remotely.
Examples of IoT-devices
All the IoT objects can be divided into such kinds:
- Portable systems. Different fitness bands and/or Apple Watches are easily synchronized with other portable devices to transmit the data. With their help, we can exchange the data, watch some info about our health: heart rate, organism activity, sleep cycle, etc.;
- Web system and web development. CitySense utility can collect the data about lighting, and automatically turn on/off the outside light. There’re a lot of available programs, which manage traffic lights remotely, and can tell the interested people about the number of parking spaces;
- Today there’re special systems that can watch human health and are actively used in the hospitals. The basis of their functionality is approximate data, such services can easily control necessary medicine strength. For example, UroSense utility can monitor the liquid level in the organism by itself, and if it’s needed, this program can raise it. Doctors get to know about the patient’s condition through a wireless network.
Opportunities, which are open thanks to IoT-things
- RFID (modern radiofrequency identification), EPC (electronic program code);
- NFC (“near field communication”) – allows two devices to interact on a smooth basis. This technology can be found in devices as a function for contactless transactions.
- This is actively used in situations with a short range and in systems of portable devices.
- Z-Wave. Modern radio low-frequency technologies, that are used for managing the home automatics, light and so on;
- Wi-Fi. It’s probably the most popular network for IoT system (exchange of data, messages, and information).
Let’s take a look at the illustrative example, in order to understand correctly the main point of IoT functioning. There’s a modern system to analyze medical indications, which can monitor the human health conditions (heart rate, temperature and a sufficient level of a liquid in an organism). All information is displayed in a special structured system: there’re web files and libraries. Doctors decide themselves, should the patient take medicine or not.
In practice, there’re some common approaches to test the productivity of internal IoT design. Next, we will sort them out.
- A full usability testing should be done for every produced device and ecosystem;
- According to a designed medical gadget, it has to be totally simple and easy to use;
- It’s important to make a very clever system, which could not only send the client a message, but create reports in case of errors, and inform a user about it in due time;
- A system should have a special option, that will record an event, which will be totally clear for a final user of this product. If it’s impossible to add such a parameter, all the info about the event should be saved into the database;
- The functions of processing the incoming information and data exchange between developed products are tested very carefully.
Safety of IoT functioning
- Information is the main basis for the activity of connected peripherals. That’s why it is so important to test the program for the possibility of unauthorized access to the database. You have to check how qualitatively user data are encrypted;
- In case of UI, it’s needed to check, if it has security, based on a safe password.
- The operative ability to connect to the network and general IoT functioning is very important because we’re talking about a special system, applied in a medical field;
- There’s checking of an available network, where data transmission can be done;
- All scripts are explored when there’s no connection. No matter what’s the system complexity, there’s a chance that sometimes its status can be offline. If the technology isn’t working temporarily, employees of a medical institution should know about it. In other words, they will be able to monitor a patient’s health condition even when the system is in a sleep mode.
- You should take into account the fact of importance for healthcare to use just this system;
- Testing with 5-10 patients, who have 5-10 devices;
- To test the program for general system analysis: actual load, energy consumption, temperature range.
Testing for compatibility
Such a graph can be always found in any check-list for IoT product testing.
- Compatibility of actual OS versions and their integral components;
- Cross-browser compatibility;
- Devices of different generations;
- Types of connections (Bluetooth or Wi-Fi).
Testing before release
- Pilot testing – is an “important tick” in the check-list;
- Only tests in a laboratory can tell us that product is totally functioning with the stated parameters;
- During the pilot testing, the amount of users is strictly defined. They do various manipulations with the utility and give their own opinion;
- Such opinions are very important, making the released product much better.
Testing of program consistency
- Application, which system can monitor the current patient’s condition, should pass a lot of tests on technical consistency;
- It can happen, that system application passes all stages of testing, but “fail” the testing before the final release;
- It’s logically correct to test the product on its consistency to technical standards before the stage of designing and adding.
Testing of new versions
- IoT – is an original combination of many libraries, OS and developed software;
- During any updating – regardless of its nature (system, or separate library) – it’s necessary to do the regression testing. Specialists make corrections of tests strategy in order to avoid the difficulties that can happen during product updating in the future.
Difficulties that can be during IoT testing
Problem with the soft
IoT – is a special system, inside which different services and structural components closely interact. Not only the fact of developed soft productivity is important, but also hardware: special sensors, transducers, and gateways.
It’s not enough to check technical serviceability only. Every component is connected to other elements. The architecture of IoT technologies is very multi-faceted, unlike the one of traditional web products.
Used model of components and program interaction
All components of one network should interact hassle-free in real time. In practice, it is really hard to do. Hence, there’re additional difficulties, which closely interact with IoT (client data safety, compatibility with different software and manipulation with software updates).
Data check, coming in real time
If you want to manage such information, you need to work hard. It becomes even more difficult because the system can be used in completely different ways and in a special format, that can’t be counted during testing.
IoT system includes many components, which are set on completely different operating platforms. Testing is possible only in that case when you can “run the functionality” on the maximum number of available devices.
Continuous network access
For constant and qualitative functioning of IoT components, it is very important to have a proven network. Data exchange speed has to grow all the time. Any IoT architecture needs to be tested at different conditions of signal transmission, with different internet speed. For example, you can test the network load with the help of virtual networks, which give some information about load testing. But actual data – is always original and unique scripts, and testers team can’t know where exactly difficulties will appear.
Tools and tools utilities for the IoT testing
There’re many tools and utilities, which are commonly used in the testing of global IoT.
They can be divided into groups according to the developed product destination:
- Wireshark – is an effective app with the open program code. It is used for analysis of traffic in graphic form, data of input host. Tcdump – although this product doesn’t have GUI, it can do similar actions like Wireshark (client can show current TCP/IP packets, which are passed inside the selected network);
- “Hardwire”. JTAG Dongle – is an app, which system can easily find bugs in a program code, and it displays all edits on a step-by-step Digital Storage Oscilloscope – is an opportunity to check some event on the base of notes.
Software Defined Radio – is an opportunity of qualitative emulation of the transducer and transmitter for plenty of allocated gateways.
IoT technologies – is a dynamic modifying field and many promising ways to develop some useful things. In the near future, IoT can become one of the fundamental aspects of work for many quality assurance organizations. Network architecture, apps for smart devices, specialized linking modules – all these and even more things play a key role in understanding and modification of different technologies and components, which make our life much easier.
The methodology of IoT testing can be different depending on the designed ecosystem or architecture.
It is very hard to test the Internet of things, but also, this activity is very exciting and useful. It’s some kind of “undeveloped space” with a lot of technical opportunities – there’re so many different systems, devices, and program components, which “in good hands”, can be used for the human well-being!