Back from more training, I was up at a client in Bellevue and really enjoyed teaching a performance class to a world class testing organization. I found that the students were very receptive to many of the concepts and ideas that the class offers.
One of the items that we talked about was the nature of the service based app delivery model. As we have all seen over the last 5 years, the cloud is really changing the software development deployment abstraction. I think we will see most of our applications served through this new cloud model, but our development cycles will be 10x faster and more chaotic. If you think about it, there are 75,000 apps on the iPhone app exchange program, if I find a news application that is slow and buggy, I will just choose another one in a matter of a few seconds. I don’t put up with an application that does not deliver acceptable customer experience.
So what does this mean? Well, I feel that if we aren’t able to “test everything all the time” we are putting our QA groups a disadvantage, that is, we become the bottleneck. Long protracted development and QA cycles are the way of the dinosaur. If we can’t make a change, feature enhancement, etc, and turn that feature/fix around in an instantaneous fashion, we will be left behind and I believe lose credibility within our engineering teams. And if you read my last blog post, you can only do this with software test automation (at both the api/gui and non-gui level)
It’s not me who’s saying this, look at your customers… Our customers of our software have so much choice of rich services that they can tap into – and with choice comes competition and with competition comes winners and losers.
It’s the quick and dead in this deployment model, I for one am preparing our engineering teams to make sure we follow a continuous iterative automation process, so that when the time comes, we can tell our customers, sure we test everything all the time – no problem.