The Fascination of Software Testing
Among the most rapid changes in our society are those occurring in information technologies. As a result, software development remains a highly dynamic and innovative field. Indeed, with ever shorter time-to-market periods, increasingly demanding users and countless new platforms, tools and development environments, the software development arena is as challenging and exciting today as it has ever been.
But what can be said about the situation in software development’s companion field, namely software quality assurance and testing? Are things as dynamic as they are in the realm of software development, or does QA and testing amount to nothing more than performing tedious supporting tasks? And, is there more to it than just sticking to routines that follow predefined templates and checklists? Is using automation tools to complete repetitive tasks over and over again the most excitement that testing has to offer?
At OBJENTIS, we have a clear answer to the above. The testing challenge does not lie in optimizing routines, but much rather in doing the necessary creative mental work underlying them. This means finding answers to questions like: How can systems that are inherently too complex to permit complete test coverage nevertheless be tested for adequate quality, and at a cost that is justifiable? How can we test millions of data sets in such a way that we can be sure to find the proverbial needle in a haystack? How do we go about analyzing a software product from all possible angles? How can we devise a testing system that learns from previously detected defects? How can we be sure “we know what we don’t know” during testing? In future, how might an applications’s automatic semantics recognition function to facilitate automated tests? How can we create standardized quality indicators for meaningful comparison (both within and between the implementations undergoing testing) such that management knows the development status and can make sound decisions? And, last but certainly not least: How can we achieve a sustainable, systemized testing approach that will be accepted and practiced as part of the corporate culture?
Finding answers to these questions requires know-how in a variety of disciplines, from traditional IT and its related elements of architecture, IT system design and programming, to mathematics and statistics, psychology and people management, and through to economics and business science. In many cases, implementing the answers also requires a good deal of intuitive sense.
Ultimately, producing software is a complex business, and this holds no less true for software testing. The multifarious approaches to testing have yet to be exhausted – on the contrary, the journey has only just begun, and we at OBJENTIS believe it is a fascinating one indeed!