IoT (Internet Of Things) is the concept that is used to collect different kind of datas of objects with the help of internet. Smart phones, smart watches, light bulbs, televisions, air conditioners, wired/wireless connected devices can be given as examples of IoT that we used in our daily life. Smart watches provide to show health, heart rate monitoring, sleep activity information on mobile devices.

Most common technologies that is used in IoT:

NFC (Near Field Communication): It is used to provide two-way interaction between electronic devices without any contact. By the help of established wireless connection, the operation that user wants can be performed. Contactless payments on smartphones can be given as an example.

Bluetooth: It provides to transfer of data qucikly at short distances on a wireless network. Bluetooth headset, bluetooth keyboard, bluetooth mouse, bluetooth clock and pedometer are devices that we used Blouetooth in our daily life.

Z-wave: It is a has low power consumption wireless technology that transmits small amounts of data to short and medium distances. It used in house and office automation.

WiFi: The most preferred option for IoT. While on a LAN, it helps to transmit folders, datas and messages seamlessly.

The prevalance of smart devices and the increase in IoT devices in daily life causes to consist of a different test area as as IoT software testing. In this article, I will be explaining how to make an IoT testing and the imporpant points of testing.

Iot test experts have to work on to prevent bugs to occur, not to find bugs. By preparing project documents as Project Management Plan, Quality Assurance Plan, Configuration Management Plan, Software Requirement or System Requirement Document, Software Design or System Design Document, Software Test Plan, Product Support Documents (Usage, Installation Guides) with the static technique which is one of the test techniques, can prevent errors.

As with other software types, IoT tests are made to determine if IoT software  meets the accepted quaility standart and user’s expectations or not. In IoT, there is a/an net/ecosystem of connected small devices that get together. That’s why it is difficult to find the error when there is only one error in these apps. Test experts have to determine the error by analyzing the error deeply.

Some test types that is used in IoT testing:

Performance testing:

It is very important to evaluate the performance of IoT device application by the help of using different performance metrics. Database performance, load tolerance, IoT device application load speed, throughput, efficiency, uptime, and data throughput are included in these performance metrics. With the help of performance testing, to see how proper of an IoT device apps works for a long period of reguler use ( load test ) and how these apps behaves when additional loads come from users at peak times. For example, when we talk about a system for a factory, we have to be sure that the system is sufficient for the all factory. While testing, 2-3 products are read and informations are sent to the stations, When all factory is connected and 180-200 products arrive to stations, emitted datas are much larger than the tested datas. Even if the datas which come from stations can be processed, we have to be sure that system works with the same performance.

Security testing:

People can use IoT device apps for different reasons like sharing, buying and selling personal information and more.

That’s why an IoT devive app must have preacutions that restrict the access of external users and also access controls for internal users. When transferring datas from one to another device, checking if datas are protected/not protected and encrypted/not encrypted. We have to be sure that there must be password protection if there are any user interface.

Database testing:

Databases provides to run for IoT device apps and they are criticual for their operations. IoT test experts must check if the response time of all queries are optimal and whether the applications that display datas are correctly displayed by the IoT device application.

Functional testing:

Every IoT device apps must perform different functions. However it is important to check seperately the basic functions of these IoT device apps to prevent any problem after distribution. These basic functions are essential for IoT dev,ce apps and apps can not run without these basic functions.

Compatibility testing:

Compatibility testing is for checking if IoT device apps are compatible with different devices, applications and operating systems. It must be evaluated that if IoT device app works without any problem on different platforms and browsers.

Usability testing:

The used station tracking device must be portable enough to be carried to different areas of the factory. The equipment must be as intelligenct as to transmits error massages not only notifications. System must records all events to provide clarity for last users or sends these events to a database to store them. Functionality in terms of screening and processing the data should be tested.

Pilot testing:

Pilot testing is a necessary for IoT testings. It may not provides the expected performance in real time conditions, During pilot tests, system is exposed to a limited number of users in real. Apps are used and respond feedbacks about the system. These feedbacks are useful for apps to make productions distribution reliable. Lastly, IoT test approach may be different depending on the system and architecture. Test experts have to make their tests with user-oriented testing approach.