As Humans, we evolved to get our life easier, better and simpler.
We tried to stop to use switches to control lights, stopped to paid at kiosk for the toll charges, we now monitor our health smartly, using GPS to track movements efficiently and the list can go on almost forever.
How we do all these now? and what is different?
We need to understand how this works before to discuss how to test it.
The IoT is the connection between vehicles, medicinal equipment using embedded electronics, home appliances, microchips etc. in order to collect data and at the same time exchange data of a different kind. It allows the Users to control the devices remotely through a network.
These are few of the most used technologies in IoT:
RFID: [Radio Frequency Code] and EPC [Electronic Product Code].
NFC: [Near Field Communication] used to enable two-way interactions between the electronic devices. This is used mostly for smartphones and used to do the contactless payment transactions.
Bluetooth: Used where short range communications are enough. Mostly used in wearable technologies.
Z-Wave: Low power RF communication technology. Primarily used for home automation, lamp controlling etc.
WiFi: The most commonly used choice for IoT. When on a LAN, this helps in transferring files, data and messages.
1) Usability:
We need to test the usability of each of the device used.
The equipment should be smart enough to push not only the notifications but also the error messages, warnings etc.
The system should have an option to log all the events to provide clarity to the end users.
Usability in terms of displaying data, processing data, pushing job tasks from the devices should be tested extensively.
2) IoT Security:
The Internet of Things is data centric where all the devices/system connected operate based on the data that is available.
When it comes to the data flow between devices, there is always a chance that the data can be accessed or read when getting transferred.
From a testing standpoint, we need to check if the data is protected/encrypted when getting transferred from one device to the other.
3) Connectivity:
As we can imagine connectivity plays a vital role.
The system has to be available all the time and should have seamless connectivity with the stakeholders.
4) Performance:
We need to make sure the system is scalable enough for the whole environment where is applied.
Bigger the environment and gibber the data that is propagated and then the tested data.
As testers, we need to make sure the system performs the same even though the added data is propagated.
5) Compatibility Testing:
Looking at the complex architecture of an IoT system, compatibility testing is a must.
Testing items such as, multiple operating system versions, browser types and respective versions, generations of devices, communication modes.
6) Regulatory Testing:
Sometimes the system needs to pass through multiple regulatory/compliance checkpoints.
Think of a scenario where the product passes through all the testing steps but fails in the final compliance checklist
It is a better practice to get the regulatory requirements in the starting of the development cycle itself. The same should be made part of the testing checklist.
7) Upgrade testing:
IoT is a combination of multiple protocols, devices, operating systems, firmware, hardware, networking layers etc.
When an upgrade is performed, be it for the system or for any of the involved items as stated above, thorough regression testing should be carried out/strategy should be adopted so as overcome upgrade related issues.
1) Hardware-Software
IoT is an architecture, which is closely coupled among various hardware and software components. It is not only the software applications that makes the system but also the hardware ones, sensors, communication gateways etc. too play a vital role.
Only functionality testing does not help in completely certifying the system. There is always a dependency on each other in terms of the environment, data transfer etc.
2) Device Interaction module
As this is an architecture between different set(s) of hardware and software, it becomes mandatory that they talk to each other in real time/near real time. When they both integrate with each other, things such as security, backward compatibility, upgrade issues becomes a challenge for the testing team.
3) Real-time data testing
Being in testing team, getting regulatory checkpoints or getting the system deployed in the testing environment is complicated. So, that stays as a big challenge for the testing team.
4) Network availability
Network connection plays a vital role as IoT is all about the data being communicated in faster speeds all the time. IoT architecture has to be tested in all kinds of network connectivity/speeds.
The Internet of Things testing approach can be different based on the system/architecture involved. Testers should concentrate more from the point of view of the Users approach rather than testing based on the requirements.
“One of the major player in IoT testing is the Integration testing. IoT is successful if the Integration test plan is accurate and robust enough to catch flaws in the system.”
IOT testing may be a tough/challenging job but, it is also very exciting as well for the testing team to certify such a complicated mesh of devices, protocols, hardware, operation systems, firmware etc.
Email: info@itpeopleaustralia.com.au
Website: www.itpeopleaustralia.com.au
LinkedIn: https://www.linkedin.com/company/it-people-australia-pty-ltd-
Instagram: https://www.instagram.com/it_people_australia/
Facebook: https://www.facebook.com/itpeopleaustralia/
Twitter : https://twitter.com/itpeopleau/
Agile is about changes. So have to be the testing.
IT Leaders adopt the Agile methodologies to accelerate their go the Market process in a dynamic and ever changing world of development. The changes are required in people, processes and technologies involved in the software development. And so the development Teams require to change their structures, culture, tools and daily activities. And so the Applications under development change on almost a daily (or even more frequent) basis.
Still one process tends to remain always the same: the software testing process. Recent studies reported that 70% of organizations have embraced the Agile methodologies, but only 30% Automate Testing. So even if the organizations are investing considerable time and resources transforming their development process to meet the today’s and tomorrow’s business demands, the testing process remain stuck in the past.
So why the testing fall behind? Most of the time, Teams tried to avoid the perceived pain of the transition from manual testing process to the automated one. If there is not an urgency that require the change then testers typically won’t take it upon themselves to initiate the process change. And even if the change is now mandatory, Test Managers tend to invite the organization to add some UI level test automation to their existing process will be sufficient.
But any attempt to test automation is a step in the right direction. However, more is required to meet the needs of modern development process.
“Functional testing is a crucial, time consuming, expensive step in Continuos Testing, so need to be automated, and at higher levels than most agile Teams do it today. Functional Testing needs to be automated from the beginning to the end, from the design and automation of test cases, till their execution on the overall testing process”
The Testers have already recognized that testing must change and adapt in order for testers to remain relevant in Agile and DevOps processes. Here the results of a recent survey:
There are no other way, Manual software testing need to evolve in response to the shift to Agile and DevOps. No matter how many testers you employ, it is simply not possible for the manual testing to provide agile developers with the fast and immediate answers on whether any of their constant changes impacted the existing user experience. Without this safety net, Agile is a tremendous Business risk.
Email: info@itpeopleaustralia.com.au
Website: www.itpeopleaustralia.com.au
LinkedIn: https://www.linkedin.com/company/it-people-australia-pty-ltd-
Instagram: https://www.instagram.com/it_people_australia/
Facebook: https://www.facebook.com/itpeopleaustralia/
Twitter : https://twitter.com/itpeopleau/