This is guest blog from Stuart Noakes of Qualitest. He founded TCL in February 2000, which was acquired by QualiTest in October 2012. Stewart currently operates as the CEO for QualiTest in the UK and India.
Thank you for your patience and consideration as I wander through my mind and share some of the ramblings in there.
So, my question for today:
What is the future of software testing?
My first reflection is that the convergence of companies, commercial propositions and subsequently systems is driving a lot of the IT change we are involved with. It seems to be a worldwide, multi sector trend and areas such as VoIP, Mobile, Data, Fixed line and ISP convergence is a good example of how things are unifying. Let me give you a highlight from BBC Click this week - Calling from your browser. Not just Skype integration, but your provider making it possible for you to make and receive calls from your browser, regardless of platform or device. True convergence breaks apart a number of barriers and commercial models in the way it simplifies things. How will Vodafone sell handsets in this model? What will happen to the profits of HTC or even Apple from this kind of approach? I'm not nearly qualified to comment, but I know I like and I think others will too. I also think I want to be part of testing it!
The challenges we face as testers as technology moves forward in such leaps and bounds, and the world becomes much more mobile include:
The size of it all - things are getting smaller. Usability requirements are very different. The scale of the interfaces and joined up thinking across the organisation though is much bigger. Needing good solid design work to make it a reality rather than a travesty.
The Complexity - lots of things in the same place. To test it you have to know a lot more, about a lot more things
Time to Market - the competition is fiercer than it used to be and time to market drivers are more acute in a lot more of the sectors. A statistic I was given at a networking dinner was that a new software product is outdated/superseded or competitively out priced within 16 months of its launch. Projects cannot last a year or two in domains like that.
Data - lots more data in even embedded systems. The performance of the systems handling this data and the security / integrity of the data in the system and more often now across the Internet is on everyone�s minds - although not necessarily in the design! Privacy is going to be a key issue moving forward, as well as the technology to handle the data.
Price - Excessive pricing is no longer tolerated. Quality and Innovation may be differentiators but in markets such as mobile telcos where there is near customer saturation the cost mark (even for very innovative products) is essential to get right.
So how does this shape the future of testing? It would point towards a necessity for more Non Functional Testing, for better, quicker design and for testers that can do more and know more about a lot more things. The future of software testing therefore is rooted in proactive, professional development. Significant specialism in some areas and amazingly competent all-rounders for others. Virtualisation and use of the cloud will play a big role in the technological side of our testing and environments, but they will never replace or eradicate a growing trend to truly understand the end user experience and assure it to be positive. Crowdsourcing has shown us that in an increasingly fragmented, mobile world, you just can't make a lab that will test everything (and that there is always more than one way to get things done!) You need to "Test in the Wild".
The thing is though; there is a doubt in my mind generated by History. Love it or loathe it, you just can�t ignore history. You see when I first started in testing I was lucky enough to work in defence. We had a very mature product, in a very mature industry and the testing processes had been evolved over 20+ years to something akin to clockwork. Many of the key management processes in testing brought up at today�s conferences were already common practise in the defence industry back in the 1990s. So where's the new stuff? Where's our evolution? How are so many people working in 'testing' by doing exactly the same thing every day? Why does the implementation of Agile look so "Fragile"? What methods are there to cope with the speed to market and the speed of change in this mobile and web centric world that has competitors only one click away 24/7/365?
10 years ago our industry thought that automation was the key to the future, and indeed I have heard that said many times in the last few months. "The tester is dead!" "Testing is a feature, coded as part of the development cycle" and then it goes straight to the crowd. A great model from Google, but look around and you see that circa 80% of all testing in the world is still manual. So what happened? Why hasn't everyone else turned to this model yet? Were there no market drivers to encourage time to market initiatives, innovative approaches or change? Did no-one do this? Well a lot of us did, but why didn't it become a uniform approach? Is our industry really stuck in the dark ages?
And finally, we have all seen the need for better professional development within testing but after all this time there are still very few Universities who even mention it as part of a Computer Science Degree let alone Research and Develop it. Certification courses really haven't done the job so far and we spend a great deal of time reminding people that testers have to be able to test not just push paper, oh yes and be able to talk to people about what they find. There isn�t an industry body, a globally accepted and common practise standard and there are commercial interests getting in the way of the true development of better tools, techniques and practises. Florida Institute of Technology in the USA and UCL in the UK seem to have their heads in this space, and are doing effective work, but who else? Why not?
So if History has taught me anything its that Software Testing has been pretty much stagnant over the last 10 years (In a way like the surface of the earth seems flat from space). An industry of silos for a long time and in fact the last 10 to 15 years haven�t really got us substantially further forward as a community. Testing is still the poor cousin of the IT industry, despite great work by a few individuals and institutions. We still don't have a genuine seat at the table and we still struggle as a discipline to demonstrate real strategic value within the organisations that we work. Just look at how we are measured - cost of testing = rate per day x number of days x number of testers. Hardly strategic!
This leads me to an interesting thought....
For me Software Testing will only have a different future from what we do now if there is a period of commercial consolidation and consistent governance/control of standardisation. We need some real clout (or is it Klout nowadays?) behind change initiatives, that people will sit up and take note of. This isn�t needed just in the UK, but worldwide. There is enough financial reward in software testing for this to happen. Through this consolidation we might just see the merging of practices across industries and sectors generating a new level of collective competence and standards which will drive the way we work, the skills we need and the development of people that the industry needs to get on a par with other areas of IT, and perhaps start to lead the way. We'll get our seat at the table. We will be delivering truly strategic value.
The future of Software Testing in my eyes is in Unification and collective advancement.
I wonder if it will be so. Share with me what you think. I'd love to hear your views. Floating my ideas out into the ether is a delicate process, I promise to respect and handle carefully any of the views your return in reciprocation. Thank you for reading.