You are on page 1of 5

2018 8th International Conference on Computer Science and Information Technology (CSIT) ISBN: 978-1-5386-4152-1

Software Testing Techniques in IoT

Ghadeer Murad1, Aalaa Badarneh2, Abdallah Qusef3, Fadi Almasalha1


1
Computer Science Department, Applied Science University
2
Jordanian Engineers Association
3
Software Engineering Department, Princess Sumaya University for Technology
Amman, Jordan
ghader.murad@asu.edu.jo, eng.aalaabadarneh@gmail.com, a.qusef@psut.edu.jo, f_masalha@asu.edu.jo

Abstract- As well as the important industry 4.0 revolution, based and uncover varicose issues that must address to enhance test
on of the serves that IoT provides in our society in different fields tool quality in this regard.
such as smart building, factory, mobility, health care. Previous The rest of paper is organized as follows: Section II describes
studies explore various technology solution to find the best the related work. Section III presents the software testing
technique to test IoT applications in order to ensure quality for
types in IoT applications, while Section IV presents the
IoT devices.
The paper surveys diverse of aspects of multiples software challenges of IoT testing. Section V describes the main tools
testing and tools for IoT devices, and provides details in use case and technologies, Section VI presents a case study as an
testing for IoT environment and test different accepts such as example of testing in IoT. Finally, Section VII concludes the
usability, security, connectivity. paper.
The paper considers various security requirement and
challenges an unveils different research problems in testing IoT II. RELATED WORK
applications and proposes multiple tools and software techniques In [1] a design and IoT solution testing using the
that help to enhance IoT applications quality crowdsourcing solution is proposed, the crowd involved in
experiments with sensory data and knowledge through a
Keywords:- Software Testing, IoT, Testing Methodologies; smartphone application. The challenges of crowdsourcing for
Testing Tools; IoT include many technical challenges. For example, the
heterogeneity of IoT environment and when the sources are
I. INTRODUCTION dependents on crowds. There is a difficult to assure availability
The internet of things (IoT) is a system of interrelated and reliability until complete the experiments. So they
computing object device, the digital machine which connect to developed a crowdsourcing infrastructure that can be used to
each other and able to exchange and analyze data over a experiment the internet of things (IoT) including social and
network. economic fields. Involving the crowd gave early feedbacks
A common component of IoT system is a sensor, network, from the crowd on the potential of the use case, the most
data center, and application Benefits typically in IoT in cloud relevant use cases can be selected by the researchers based on
connectivity of this device that provides a appropriates their ranking and feasibility.
solutions for wide range of application in different files In [2] the way that the internet of things process works as a
searches such as emergency sensors, traffic .smart city health system when using commercially available components is
care …etc. investigated by purchasing a component and created a set of
Nowadays we need to deliver faster and better serves .as small use cases, for security testing they create use cases to
well as there are a huge access and transaction in IoT devices learn the way of exploiting the vulnerability of commercial
in real time. Moreover.The goal of IoT testing is to provide components. Their test results in 1) some of IoT
better insight and control interconnected various IoT devices implementation not always classified user identity as sensitive
[17]. data so this can make tracking easy. 2) The cryptographic
As well as testing IoT has multi-type that help to inshore libraries that used to encrypt data may have security defect that
that every component of IoT is the test and acceptable to use exposes the data.
[17]. The main components of IoT are sensors, application, Philipp et al. [3] proposed a testing framework that applied
network, and data center. continuous integration techniques, this framework helps in
Software testing is a process to identify the correctness, integration of project. In addition, they discussed challenges of
competency, also the quality of developing computer software testing of open IoT software systems.
it includes a set of activity convicted with the internal of
Gubbi et al. [4] presented a cloud user-centric vision for
finding an error in software so that it could be corrected before
worldwide implementation in the internet of things based on
the product release to the client the interaction of private and public clouds. They defined some
This paper examines the trends in software testing challenges such as privacy, security, and data management
approaches that use to test different types of IoT environments issues that face internet of things environment. They mention

978-1-5386-4152-1/18/$31.00 ©2018 IEEE 17


2018 8th International Conference on Computer Science and Information Technology (CSIT) ISBN: 978-1-5386-4152-1

some of the smart environment application with a testbed huge. As a result, checking the compatibility in IoT
example for each one, for example: to test smart retail field system is important.
there is an SAP future retail center testbed [5]. • Security testing: In the IoT environment, there are
Karlesky et al. [6] a test based platform for embedded many users are accessing a massive amount of data.
software development consist of independent tools and new Thus, it is important to validate user via
design pattern Model Conductor Hardware (MCH) is presented authentication, have data privacy controls as part of
their platform perform automation tests which are logically security testing.
decoupled with hardware. Test-driven development reduces • Data Integrity Testing: It's important to check the
software flaws, the proposed was applied on real-world Data integrity in IoT testing as it involves a large
production systems estimating an adjusting project by using a amount of data and its application.
measurable metrics, decreasing debugging efforts and cost. • Performance Testing: Performance testing is
In Parasoft [9], the researchers implemented a tool called important to create a strategic approach for
Parasoft to capture code coverage, collect metrics and use them developing and implementing an IoT testing plan.
with test results to make suitable decisions about ready
software and the impact of any change at the requirement. For
testing the healthcare system, the service testing solution IV. CHALLENGES OF IOT TESTING
simulates the virtualized glucose sensor and send the obtained
The difficulty of testing the software of internet of things
value results. After that, the service testing solution will be able
come from the regular computer software take their input from
to verify the fault alarm. Parasoft tool help in assuring the
user through mouse and by typing with keyboard and some
quality of test cases, it may appear that additional testing is
touchable devices, but in internet of things many smart devices
needed after code execution due to some part of the code that
are receiving their input from other smart devices like sensors
may not have been executed.in this research the system is
that used to pick up the user's body metrics and send the values
divided into layers for more easy and effective testing. In
to software for analyzing these data. In addition, there is a need
addition, components were isolated to improve automation
to wear some devices such as some health devices to take the
test.
input values from it, all these new changes in technology must
Leotta, Maurizio, et al. [10] proposed an approach for be taken in consideration while testing software of internet of
acceptance testing of IoT systems is proposed, by using a things [15].
smartphone as a principal way of interaction between the user
and system. Acceptance test done based on black box testing to A. Closely coupled among software and hardware
test the functionality of a mobile health (m- health) IoT system For all systems to start work there is a need for hardware and
for diabetic patients their approach is not limited to them-health software, testing IoT system includes more test because of
system but also it can be applied to all IoT systems.
data transfer between components and the dependency
Assuring that the system satisfies a security design between them [7].
requirements, Siboni et al. [11] proposed testbed for a security
testing to test wearable devices against external attackers. His
testbed can simulate the different environment in use the input B. Automation
from simulated sensors, and it can give the output result as an Automate some important role in testing computer
analysis report. Finally, their testbed is evaluated by a proof-of- applications, needs to simulate some actions such as the
concept. beating of a heart, and the rolling of a tire, which is more
difficult than testing the interaction with a web browser in a
III. TESTING TYPES IN IOT regular computer software [15].
There are many kinds of testing can be used in IoT C. Security
applications can be summarized as follows [12]:
Based on HP estimated study in 2014 there is 70% of IoT
• Usability Testing: There are so many devices of
device were vulnerable to attack, the HP report found that
different shape and form factors are used by the
transport encryption and insecure Web interfaces are the most
users. Moreover, the perception also varies from one
important issues in IoT security. A very large and
user to other. That's why checking usability of the
heterogeneous environment of the IoT causes the difficulty of
system is very important in IoT testing.
testing in everything in the IoT. Some practice in avoiding
• Reliability and Scalability Testing: Reliability and
data vulnerability in IoT is to make an end-to-end data
Scalability is important for building an IoT test
encryption between devices and to close the internet
environment which involves simulation of sensors by
communication when it is not in use [16].
utilizing virtualization tools and technologies.
Security capabilities are limited within IoT systems. While
• Compatibility Testing: There are lots of devices encryption algorithms need higher processing power, IoT
which can be connected through IoT system. These system has devices with constrained memory and low CPU
devices have varied software and hardware cycles which may not support complex security algorithms.
configuration. Therefore, the possible combination is Security services in the data center of IoT are critical in

978-1-5386-4152-1/18/$31.00 ©2018 IEEE 18


2018 8th International Conference on Computer Science and Information Technology (CSIT) ISBN: 978-1-5386-4152-1

ensuring that the IoT system is protected against threats [21]. addresses, TCP/IP and other packets that are
The wireless medium of IoT can exploit by an attacker to make transmitted or received over a network [7].
a resource unavailable through Denial of Service (DoS). Other
• VectorCAST: is a platform for automated software
recent attacks such as Stuxnet[19] and Duqu[20] can lead to testing. VectorCAST help tester to do the functional
compromise within the whole system. and unit testing so they are tested according to the
system requirements, in a fast and continuous way.
D. User interface Through VectorCAST tester can do automated
software test which is used for special exceptions and
Many devices in the internet of things environment have a hidden code [8].
user interface with a different platform, iOS, and Android for
example. The difficulty comes from that user interface may be • Shodan: it is an IoT testing tool, this tool can
accessed from a device that has not been simulated [7]. investigate all devices that are connected to the
internet. The Shodan search engine can be used to find
IoT vulnerabilities, for example, exposed backdoors
E. Network availability unsecured webcams, and the internet devices that are
The best scenario for communication through the internet of still using default passwords. Shodan can be a useful
things is to communicate in fast speed all time without a tool for companies looking to control their own
disconnect, in IoT, all kinds of the network need to be tested environment, to provide these companies with
with their speed, virtual network simulator is used for this information about their product location and time of
purpose [7]. Smart device tester needs to test their devices in being used [12][13].
the real world and to test outside the lab where the internet • Thingful: is a search engine for the internet of things.
connectivity may be intermittent [15]. This tool can discover the open IoT data that's most
valuable to companies from around the world through
proprietary search algorithms. Thingful control how
F. Communication protocol
this data is used, and it uses these data to take an
Due to a large number of devices and the heterogeneous operational decision to improve the company's work
environment in IoT, there is a need to use a lot of protocol to [12][14].
interact with these devices such as Constrained Application
Protocol (CoAP), IoT tester needs to test all these different There are many technologies used on an internet of
thing such as Wi-Fi: is the most commonly used
communications protocols [16].
technology for IoT. Bluetooth: used for short-range
communications, it is suitable for wearable devices.
G. Data centers Radio Frequency Code (RFID) and Electronic Product
Code (EPC). To enable two-way interactions between
Data Collection in IoT can't be done in a centralized manner
the electronic devices Near Field Communication
because there is a need to provide the scalability that required
(NFC) technology is used [7].
by the Internet of things environment. In IoT a, several million
sensors are efficiently managed through Fog computing, Table I: Some drawbacks of IoT testing tools.
which is an expansion of the cloud computing but it is closer Tool Drawback
to the source [21].
It does not protect the network, it only
Wireshark captures packets coming in the network.in
billions of devices in IoT will generate very large quantities Wireshark the captured packet information
of data which will have increased the workloads on data is saved in a non-editable file, it is difficult
centers, due to the need of processing and responding in a real to add comments to the information [23].
time. If the data is not strongly secured, then a small breach Tcpdump It is text-based tool there is no user
could lead to vulnerabilities exploiting [22]. interface, its biggest disadvantage is a lack
of analysis, and it can only analyze TCP
network traffic [24].
V. IOT TESTING TOOL AND TECHNOLOGIES VectorCAST It is closed commercial product there is no
existence of adaptation layer software for
The software tools used for IoT software testing can be it, it has a limitation when the test of
summarized as follows: aviation electronic software running on a
non-instrumented target system. [25].
Shodan There is the lack of collection of results
• Wireshark: it is an Open source application used for you may need for device analysis [26].
displaying the TCP/IP and other packet transfer of a Thingful Limited only to IoT resources that are
network [7]. subscribed to their centralized servers [27].
• Tcpdump: it is a command line based utility without
GUI, used for displaying source and destination host

978-1-5386-4152-1/18/$31.00 ©2018 IEEE 19


2018 8th International Conference on Computer Science and Information Technology (CSIT) ISBN: 978-1-5386-4152-1

VI. IOT TESTING: CASE STUDY which can prompt the physicians so that they can
start to monitor the health conditions manually not
depending on the system till it is up. On the other
As an example of software testing in IoT's
hand, there has to be a mechanism in the system
environment. A company X provides their solutions for
which can store all the data in it during the offline
any health service provider either with "on premises"
period. Once the system comes online, all that data
approach or cloud-based solution as Pay-Per-Patient
should get propagated. Data loss should not be
model in order to enable all providers to provide their
there in any condition. Also, an order of the data
services fully digital, smart, and paperless with the
streamed to the system is important and
most optimized money investment. The architecture of
information must always be flagged with the
their solution is shown in Figure 1.
capturing date/time.
Now to test such an architecture, we need to go
through multiple testing approaches such as: • The system has to handle two kinds of dis-
connectivity: System failure: Needs to be handled
1. Usability Testing: via proper failover scenario for system servers and
storage. Internet slowness or disconnection:
• The equipment should be smart enough to push offline workflow as mentioned above.
not only the notifications but also the error
messages, warnings etc. 4. Regulatory Testing:
• The system should have an option to log all the • The solution must be in compliance with
events to provide clarity to the end users. If it is international standards of sharing and sending
not capable of doing that, the system should push healthcare data such as IHE and HIPAA standards.
those as well to a database to store it. Using HL7 or FHIR to send the data from patient
• Usability in terms of displaying data, processing side to the devices is important and then from the
data, pushing job tasks from the devices should be devices to the central system.
tested thoroughly.
5. Others:
• Patient has to be identified at the device side and
data will be pushed along with the patient • Patient identification for safe storing the data on
identification so that the system will make sure to the specific patient profile.
store the data for that specific patient to avoid any • Time and date recording for several captures from
mixing of medical data between different patients.
the device for a specific patient.
• Different data formats extracted from different
devices must be easily handled by the system and • Trending graphs to compare the continuous
correctly stored in the patient profile in the timeline representation of the captured data for
database. certain parameters.
• Defining the parameters that the system is able to
2. Security Testing: capture and continuous monitoring such as Vital
• IoT Security challenges: IoT is data-centric where signs, Pressure, Cardiac parameters (heart rate,
all the devices/system connected operate based on ECG, …), and Triage level.
the data that is available. • Add continuous monitoring for certain parameters
• Role-Based Authentication is important to give the for each patient and the required device to capture
access only to the right user(s) prevent the access
this parameter.
of other users who have no rights to view patient
information.
• Sharing of patient data with other users must be
authenticated by the patient approval only.

3. Connectivity Testing:
• Connectivity, transfer of data, receiving job tasks
from the devices should be seamless when the
connection is UP and running.
• The other condition is the connection down
scenario. Doesn't matter how robust is the system
and the network, there are chances that the system
will go offline. Being a tester, we should test the
offline conditions as well. Once the system is not
available on the network, there has to be an alert

978-1-5386-4152-1/18/$31.00 ©2018 IEEE 20


2018 8th International Conference on Computer Science and Information Technology (CSIT) ISBN: 978-1-5386-4152-1

[5] S.R.L. Labs, Future Retail Centeer, SAP Research Living Labs.
http://www.sap.com/corporate-en/our
company/innovation/research/livinglabs/futureretail/index.epx (n.d.).
[6] Karlesky, M., Williams, G., Bereza, W., and Fletcher, M. Mocking the
embedded world: Test-driven development, continuous integration, and
design patterns. In Proc. Emb. Systems Conf, CA, USA (2007).
[7] Internet of Things (IoT) Testing: Challenges, Tools and Testing
Approach Posted In | Testing Concepts, Types of Testing | Last Updated:
"February 22, 2018"
[8] Vehicle Electronics The monthly magazine for automotive electronics
engineers, Issue 52, April 2018.
[9] Parasoft. End-to-end testing for IoT integrity. Technical report.
https://alm.parasoft.com/endto-end-testing-for-IoT-integrity.2017
[10] Leotta, Maurizio, et al. "Towards an Acceptance Testing Approach for
the Internet of Things Systems." Proceedings of 1st International
Workshop on Engineering the Web of Things. 2017.
[11] S. Siboni, A. Shabtai, N. O. Tippenhauer, J. Lee, and Y. Elovici.
Advanced security testbed framework for wearable IoT devices. ACM
Transactions on Internet Technology (TOIT), 16(4):26, 2016.
[12] Internet of Things (IoT) Testing: What is, Challenges & Tools available
at https://www.guru99.com/IoT-testing-challenges-tools.html
[13] Shodan exposes IoT vulnerabilities: By Maria KorolovContributing
Writer, CSO | Jan 13, 2015, available at
https://www.csoonline.com/article/2867407/network-security/shodan-
exposes-IoT-vulnerabilities.html
[14] A Search Engine for the Internet of Things Find & use open IoT data
from around the world: available at
https://www.thingful.net/?overlay=true&lat=20.05593126519445&lng=
47.8125&z=3
[15] Bob Crews and Shailesh Mangal, "Internet of things and its impact on
Figure 1: The architecture of company X’s solution testing": whitepaper available at
https://www.getzephyr.com/resources/whitepapers/IoT-and-its-impact-
testing
VII. CONCLUSION
[16] The Future Of Iot Testing, By Sanjay Zalavadia • February 28, 2017
The paper surveys different types of software testing can be [17] Höller, V. Tsiatsis, C. Mulligan, S. Karnouskos, S. Avesand, D. Boyle,
used in IoT applications such as usability, security, and From Machine-to-Machine to the Internet of Things: Introduction to a
connectivity. The paper also highlights the diversity of the New Age of Intelligence, Amsterdam, The Netherlands:Elsevier, 2014
challenges that could be encountered during the testing of IoT [18] G. Kortuem, F. Kawsar, D. Fitton, V. Sundramoorthy, "Smart objects as
building blocks for the Internet of Things", IEEE Internet Comput., vol.
devices such as user interface, network availability, and 14, pp. 44-51, Jan./Feb. 2010.
automation. Moreover, the paper offers a broad view of tools [19] Computerworld, "Siemens: Stuxnet worm hit industrial systems",
and platforms that can be used to test IoT devices such as September 16, 2010.
Wireshark, Shodan, and Vector platform. [20] "Duqu: A Stuxnet-like malware found in the wild, technical report",
In the end, a healthcare industrial example from company X October 14, 2011, Laboratory of Cryptography of Systems Security
was chosen as a case study to show how testing for IoT [21] Securing the Internet of Things: A Proposed Framework, Cisco Security
environment works. The preliminary results show the Research & Operations. Available at:
https://www.cisco.com/c/en/us/about/security-center/secure-IoT-
importance of this hot research topic to be discussed proposed-framework.html
furthermore. [22] Why the Internet of Things will disrupt data centers, Available at :
https://www1.raritan.com/HOTAISLE-DASHBOARD-12-2016.html
[23] S.Pavithirakini,D.D.M.M.Bandara, C.N.Gunawardhana, K.K.S.Perera,
References B.G.M.M.Abeyrathne, Dhishan Dhammearatchi , “Improve the
Capabilities of Wireshark as a tool for Intrusion Detection in DOS
Attacks”, International Journal of Scientific and Research Publications,
[1] Fernandes, João, et al. "IoT Lab: Towards co-design and IoT solution Volume 6, Issue 4, April 2016.
testing using the crowd." Recent Advances in Internet of Things (RIoT), [24] Awodele, Oludele, et al. "Packet Sniffer–A comparative characteristic
2015 International Conference on. IEEE, 2015. evaluation study." Proceedings of Informing Science & IT Education
[2] Kolias, Constantinos, et al. "Learning Internet-of-Things Security" Conference (InSITE). 2015.
Hands-On"." IEEE Security & Privacy 14.1 (2016): 37-46. [25] Zamojski, Wojciech, et al., eds. Complex Systems and Dependability.
[3] Rosenkranz, Philipp, et al. "A distributed test system architecture for Vol. 170. Springer, 2012.
open-source IoT software." Proceedings of the 2015 Workshop on IoT [26] Eric Gross, CRITICAL INFRASTRUCTURE SECURITY Locating and
challenges in Mobile and Industrial Systems. ACM, 2015. Securing SCADA Devices on the Internet of Things, 2015.
[4] Gubbi, Jayavardhana, et al. "Internet of Things (IoT): A vision, [27] Pattar, Santosh, et al. "Searching for the IoT Resources: Fundamentals,
architectural elements, and future directions." Future generation Requirements, Comprehensive Review and Future Directions." IEEE
computer systems 29.7 (2013): 1645-1660. Communications Surveys & Tutorials (2018).

978-1-5386-4152-1/18/$31.00 ©2018 IEEE 21

You might also like