IoT Functional Testing Using UML Use Case Diagrams: IoT in Testing

IoT Functional Testing Using UML Use Case Diagrams: IoT in Testing

D.Jeya Mala (Thiagarajar College of Engineering, India)
DOI: 10.4018/978-1-5225-7790-4.ch006

Abstract

In the IoT applications development process, the consumers expectations are always high. Thus, the development environment should be focusing on virtual provisioning, manipulation, and testing and debugging. This has also raised more challenges in terms of proper testing to be done in both user interface level as well as the functionality level. It will be really challenging to test a connected device within a full IoT environment, which will have more devices with varied functionalities and data processing. These challenges have made a new way of testing to be done so that the test cases will be more efficient in revealing the errors in the software. In this chapter, UML use case diagram-based test cases generation for an IoT environment is explained in detail. Also, a real-time case study IoT application is taken to showcase how this approach helps in generating the test cases to test the embedded software in these IoT devices in terms of data flow, control flow, and functionalities with improved performance.
Chapter Preview
Top

Introduction

The Internet of Things (IoT) is the current evolving technology that makes the connection of hardware devices and software components to be connected seamlessly in order to facilitate information exchange in a collaborative working environment. As per Gartner in his survey indicated that the number of things connected in 2017 is 8.4 billion and it may reach approximately 20.4 billion in the year of 2020 (CapeGemini’s white paper 2018).

Generally, Internet of Things or IoT is used to connect things to the internet by means of variety of connectivity options with more devices are employed to capture different types of data. Any kind of things that are used in IoT applications ranging from Air Conditioners, Security Cameras, Cable Set-Top boxes, vehicles to industrial systems such as conveyer belts, manufacturing machines and traffic signals, smart phones and any kind of devices that can be powered.

Thus smart homes with smarter appliances, smart automobiles, wearable technology and robotic applications have made IoT as everyday reality. During past software development process, if software is written in a chip so that it can be embedded within a physical device has termed the software as Embedded Software. Now, this has been expanded to connected devices or products so that IoT is achieved. This has been termed as IoT revolution which has enforced changes to be done in the entire development process.

At the Consumer Electronics Show (CES) in the year 2015, Samsung CEO Boo-Keun Yoon stated that the IoT is “not science fiction anymore. It's science fact”. Now, a smooth paradigm shift is happening in industries in which they are thinking on how to increase the performance of the overall system when the devices or things are integrated together.

Nowadays, the technological advancements such as mobile, internet, cloud and virtual development and operating environments makes a strong need for IoT and is being considered as one of the most important and crucial technology. This technology rapidly advances in almost all the industries which thus increases the numbers of firms adopt the technology.

While all these benefits are really more appreciable to be used in the IT industry, there are certain critical aspects or components in IoT need to be addressed with higher level of importance. This has raised certain important considerations during the application of this technology in the field use such as interoperability, personalizing services to exchange information, performance improvement and operations control and information processing. In fact, a survey taken during 2010, among nearly 500 embedded software engineers they responded that, Software is the most crucial component in the embedded systems and gives rise to more than 50% value for its proper working.

For physical connectivity between devices in a computing environment, generally computer networks are used. But in the case of IoT applications, device-to-device and human-to-device interactions must be done in a reliable robust manner. This has also raised some challenges in terms of data dependency, control dependency, information interchange and timely executed functionalities.

Here, in the case of pure device to device communication, there is no need for data visualization whereas nowadays, as the IoT applications are more human centered, the data needs to be visualized to present the required processed information to the end users in an easy to understand manner. Also, many of the IoT devices have intelligence in order to identify the current status, exchange information between them, monitoring the working environment and also took some intelligent decisions to act on any problems identified without any human intervention.

In the IoT applications development process, the consumers expectations are always high which thus makes the development environment should be focusing on virtual provisioning, manipulation and testing and debugging.

This has provided an insight that, the devices are more software specific with intelligence being a part of it. This has also raised more challenges in terms of proper testing to be done in both user interface level as well as the functionality level. It will be really challenging to test a connected device within a full IoT environment which will have more devices with varied functionalities and data processing.

Complete Chapter List

Search this Book:
Reset