Testing beyond coding
The Problem of Interface
Then there’s the problem of interface. What looks good on paper doesn’t always work all that well. An interface may be loaded with all sorts of bells and whistles and seem to be absolutely perfect. But, not every end user will be running the program on the latest operating system and not every end user needs every bell and whistle.
The problem is multiplied by the constant shifting and changing of operating system dynamics. Updates don’t necessarily take the needs of your carefully debugged software into account, and what worked beautifully on version 1.5 of an operating system can crash completely or be very unreliable on version 2.0.
Another problem is Internet interface and reliability. It use to be that people bought software on CD ROMs. Nowadays they download from the Internet and the majority of applications need the Internet to run. That can pose a big problem. For example, there are a number of market research applications that use Google Keyword Research Tools as well as other online tools provided by several different search engines.
While we may never know for sure, since they’ll never admit it, these search engines do seem to periodically change their tools to undermine market research applications. Google and other search engines may not like the idea of their research tools, which exist to increase their revenue, being hijacked by outside applications for the purpose of massive number crunching. Especially when they don’t make any money off the deal. It could very well be a case of, “If you want to get that intimate, you have to kiss me first.”
So, there are a lot of challenges in the testing environment that go beyond deadlines and making the boss happy. This is even more true as we look forward to the future. It is becoming more and more important to code in easily updateable ways and to take the possibility of future interface problems into account when designing software. Unlike the industries of the past, where changes happened slowly over decades, the software industry changes all the time and can change drastically under the force of someone’s bright idea.
In fact, a look at the IT industry shows massive change is ongoing and important changes happen about every five years or so. And things aren’t slowing down. The more change there is, the more change becomes possible.
As we are subjected to the ever increasing speed of change, it’s important to realise that every change is not necessarily a change for the better. We should bear in mind the words of Russian Admiral Gorshkov who said, “Better is the enemy of good enough.”
We should test beyond the code and always keep the future and the fellow who will use what we test, in mind.