This blog has been written based on the queries received from the testing community on my earlier blog “Robotics and machine learning combined with Internet of Things--What can it do to Indian Services Industry.” Software Testing has been evolving since the dawn of computing as a science, an art, and a profession.
Testing discipline too has evolved fast. Regardless of the changes in technologies and Information Technology (IT) landscape, testing has continued to remain focus areas for organizations, more so in today’s digital world, where the cost of failure is high.
Before one makes an attempt to chart out future of testing in next decade, it would be good to summarize the technologies of tomorrow that the testing discipline needs to cater to.
(2) Key technology trends that would shape future of Information Technology
(a) Pervasive technologies and predictive analytics for customer experience
Pervasive technologies deal with the flow of information between the built-in environment and its occupants. The environment is rich with information that can be utilized to enhance the quality of our work and life. Some basic examples such as customized deals in shopping malls based on geolocalization and buying pattern, traffic alert based on the route taken to the office everyday, etc.
Even Connected Autonomous Vehicles (CAV) are good examples of pervasive technologies and predictive analytics as they interact with their environment and based on some specific triggers, predict the outcome of the events and perform appropriately.
(b) Cognitive Intelligence – Connected Autonomous Vehicle (CAV)
Connected vehicles use different communication technologies to communicate with the driver, other cars on the road (Vehicle-to-Vehicle--V2V), roadside infrastructure (Vehicle-to-Infrastructure--V2I), and the “Cloud.”
Autonomous vehicles are those in which operation of the vehicle occurs without direct driver input to control the steering, acceleration, and braking, and are designed so that the driver is not expected to constantly monitor the roadway while operating in self-driving mode.
CAV comes with in-built cognitive intelligence and predictive analysis as it has to distinguish between various types of objects on the road, for example, pedestrians, cyclists, other cars, etc., and take a decision on steering past, acceleration, deceleration, or braking accordingly. The CAV features will improve road safety, enhance the driving experience, reduce the potential for traffic jams, and improve the traffic flow.
(c) Multi-channel Customer Connect – Wearable Technology
Wearable technology or fashion electronics are clothing and accessories -comprising a computer and advanced electronic technologies. The designs often incorporate practical functions and features.
Wearable devices are part of the network of physical objects or "things" embedded with electronics, software, sensors, and connectivity to enable objects to exchange data with a manufacturer, operator and/or other connected devices, without requiring human intervention.
There is a huge application of wearable technology in the personal computing, entertainment and gaming, and e-health sectors.
(d) Disintermediation – Business Platform to connect new partners
Disintermediation platforms are removing intermediaries from a supply chain in connection with a transaction or a series of transactions. In order to decrease the cost of servicing customers, traditional distribution channels, which had some type of intermediate companies such as distributors, wholesalers, brokers or agents, are now dealing with every customer directly or via the internet.
Some basic examples are eCommerce platforms such as FlipKart and Amazon, which source products directly from the manufacturer. Other examples are reselling platforms such as OLX, which connects the buyer and seller directly enabling the successful transaction.
ITC’s e-Choupal has completely removed the middlemen and benefitted a huge number of Indian farmers, who can sell their produce at a much better price.
(e) Changing workplaces of future – Robotic Process Automation (RPA)
In Robotic Process Automation (RPA), software "robot" replicates the low-skilled actions of humans such as entering data into an enterprise resource planning (ERP) platform or follow a set of repetitive processes. RPA software can be configured to capture and interpret the actions of their existing applications used in a variety of business processes. Once the software has been trained to grasp certain processes, it can automatically manipulate data, communicate with other system, and process transactions as needed.
(3) Testing considerations for new technologies
How are we going to test these new technologies? Is it going to be tricky or just a cakewalk? Let’s try to find out the testing considerations for each of these new technologies.
(a) Pervasive technologies and predictive analytics
Testing for pervasive technologies and predictive analytics will have three basic components: (i) Business analytics testing on the huge amount of information gathered from the environment; (ii) Thorough testing of the prediction model for extensive coverage of test scenarios; and (iii) Testing of the adopted Near Field Communication (NFC) technology
(b) Cognitive intelligence–Connected Autonomous Vehicle (CAV)
During testing of CAV, two most critical factors are cognitive intelligence of the prediction model and response time. While the software onboard will be responsible for predicting the next move of the other objects on the road, the hardware will be responsible for performing the required action within a fraction of a second.
Along with basic connectivity testing, thorough testing of the prediction logic and performance testing of the hardware response time will be of prime importance.
(c) Multi-channel customer connect–wearable technology
Wearable technology primarily consists of sensors and IoT. The testing of wearable technology will primarily focus on testing the sensors and the information captured by them.
Testing the connectivity and internet protocols should also be part of the testing consideration.
(d) Disintermediation–business platform
During testing of a business platform for disintermediation, knowledge of the end-to-end business scenario and process flow is very important. Therefore, the testers have to be savvy with domain understanding as well as the technology used to realize the platform.
Also, from end user testing perspective, crowd testing can be a viable choice for all these business platforms.
(e) Changing workplaces of future–robotic process automation
Robotic process automation is going to change the way we do testing and test automation today. The software components of RPA should be tested the way we test any software component. However, instead of a traditional waterfall, it will be more inclined towards agile, Extreme Programming (XP), Test Driven Development (TDD), or Behavior Driven Development (BDD). Having System Development Engineers in Test (SDET)s in the testing team rather than pure career testers should also help test the RPA.
(4) Concluding Thoughts
With the advent of new technologies, basic testing process and methodology will not change significantly; but at the same time, as these new technologies are evolving and the test basis is ever changing, traditional waterfall model will give way to more flexible methodologies such as agile, TDD, BDD, microservices architecture, etc.
Looking ahead in the future, testing will be more tools-oriented; even the automation scripts will be created by robotic software. Testers also need to upgrade their skills from pure, independent career testers to a more wholistic skillset from technology and business perspective. Eventually, they will have to wear multiple hats as apart from their testing job they have to perform troubleshooting and if needed, coding as well.
A Followup to my earlier blog on "Robotics and machine Learning Combined with Internet of Things - What can it do to Indian Services Industry"
Renu Rajani, VP Capgemini Testing Global Service Line; email@example.com
Sabyasachi Guharoy, Solutioning Manager, Capgemini Testing Global Service Line; firstname.lastname@example.org