How mobile and distributed computing has changed testing
Now the average laptop contains far more computing power than a room sized computer of the 1950’s and the average person can carry around more ability to communicate in his or her pocket than was possessed by Washington and Moscow combined during the Cuban Missile Crisis.
Portable and distributed computing has become the backbone of the software industry. A mobile virtual private network can provide access to every application on the home network and yet it’s much more than that. Everything from the mobile device used to the network itself and the applications are all run by software. This software must not only be tested to function, it must be tested to interface. Now more than ever, no program runs in isolation.
Mobile computing allows anyone to take a computer, along with all related hardware and software, directly out into the field. Collating and processing is done in real time and often on an ad-hoc basis. This means that testing for usability in the field is more and more important. It is becoming increasingly vital to test software in the environment in which it will function and with the type of information it will process. Not only must the hardware be tested under actual field condition, but the software as well.
There was a time when information processing was done by one or two departments and was done after the fact. There was a delay between when the information was collected and when it was processed. And collecting the information was a laborious undertaking that usually required writing it down or filling out forms. This meant that computers were, in a sense, archives with the added ability to process the information that they housed. Now computers, smartphones, tablets and other devices are real time processing units that operate in the here and now. The information is processed almost at the moment that it comes in. and it comes in rapidly and often from measuring devices and other automated means. What was once written down and then converted and stored in one or two places, can now be communicated to hundreds of different areas and stored on a myriad of devices and processed in all sorts of ways, all at the same time.
Software testing must take this speed and vast capacity into account. And so testing is no longer just about finding bugs or making sure the application works. Now it is also about the environment the application must function in, including the devices it will be used on and the other software with which it must interface. Failure to understand the operational environment can cause delays in deployment, erratic system behavior and a need for retesting. All of which can adversely impact revenue and damage the brand of the application provider as well as the brand of the company using the application.
This new reality raises the bar. Testing has moved far beyond the level of fixing bugs and is now a vital and integral part of the entire development process.