New world challenges to traditional software testing
In this day and age, we tend to forget where traditional software development came from. It's concepts were originally based on physical engineering and assembly line manufacturing methods. This is why traditional methods, like Waterfall, place testing at the end of development, just as quality assurance occurred when the physical product came off the end of the line.
However, much has changed since the days when data processing took place exclusively in data processing departments. That type of processing belongs to the era when hard drives came in stacks and were larger than phonograph records. Data is now processed ad hoc and on the fly, by whoever needs the information. Gone are the days when software churned away in the bowels of organizations and rarely touched those outside with anything more than a printout or a bill in the mail. Everyone now uses software of one kind or another, for business and pleasure.
IT continues to expand and the demand for digital products perpetually increases, generating less time to market and demanding that more be done with less. The number of digital platforms is also growing, as the speed of software release continues to grow. There are now more devices using more operating systems which require more operating system updates which make for more testing requirements and so the need to test has greatly increased over time. It is no longer possible to cram sufficient testing into the end of the development cycle. Instead, testing and development must operate concurrently.
Our modern world is very different. We now live in an era of big expectations. Software is expected to do more and more. Every industry is undergoing some form of digital transformation and, as digital technology spreads and increasingly interacts with the public, the expectation that digital products will produce quality results continues to rise.
Software testing has also had to deal with certain outmoded business ideas. One of these is that only salespeople are competitive. The idea that software testers would be willing to compete to find bugs is quite new. Even so, gamification continues to grow as an important new element in software testing.
The old idea of software testing being confined to only technical staff has long been outmoded. User experience testing is now a vital part of the software testing process. In fact, the end user has become a vital contributor and stakeholder.
There is still a tug of war between those who favor automation and those who favor human based testing. The reality is that while automation can contribute greatly to speed of delivery, there is still no substitute for a fresh set of human eyes, and this will be true for the foreseeable future. The presence of integrated software development teams, using both automated and manual testing, who are able to check each other's work, is rapidly becoming the new normal.
Today, we live in a new world. It is a world that is becoming ever more dependent on digital technology and IT itself continues to evolve at an ever increasing rate. This new world continues to challenge traditional software testing concepts. We are entering an age when testing and development will become one, as various agile teams support one another in the race to do more in less time.