I am always rather concerned about the testing of large, complex, virtualised (cloud) automated business services, especially those involving 3rd-party applications such as SAP. Constraints on resources and, especially, time, may result in testing being compromised.
The complexity of such systems demands huge testing resources for conventional testing and then there's the danger that once you've built your code it all falls apart in integration testing and you're condemned to expensive rework. The answer, in part, is to start integration testing early, before all the code is finished - but building and maintaining an appropriate testing environment might be just about as big a job as building the business system - especially if you need experts in 3rd-party software to set up the test cases.
The real killer is time. Implementation delays cost the business money (assuming that the software is actually productive for the business) and avoiding such delays can discourage change and make the system less agile, even if it doesn't encourage you to compromise the testing as well.
Green Hat promises to address these issues by virtualising the testing environment and allowing developers to get the environment to process test data without needing application experts to input the data with external applications. Integration testing can start early, while integration defects have limited scope and are still cheap to address, because you can provide a virtualised simulation of anything you haven't written yet and just test what you're working on.
Of course, the devil is in the detail but customer stories suggest that this works well. There is the issue that you need confidence that the virtualised behaviours are exactly the same as the real thing (and you may need a final integration test on a real production image, for critical systems at least) but I'm told that developers find it easy to distinguish defects in what they're building from any possible defects in the accuracy of the virtualised environment.
The bottom line is the customer stories. A major telecom carrier reports testing time reduced by 50%, saving $800K over 3 years. A leading global financial services firm with integrated third-party systems that are often unavailable for testing, reduced manual testing from 10 days to 10 minutes, thus saving over $7 million to date. And so on. Obviously, Green Hat is targeting large enterprises but a SaaS offering providing low cost of entry is on the horizon.
Now, IBM has announced its intent to acquire Green Hat. It tells me that it will slot into its Rational product line and that there's little significant overlap with its existing tools. IBM should be getting good at integrating acquired technology, without losing the key people that made it worth acquiring, by now. I think this is an important acquisition for IBM, especially if IBM's resources can make it more widely available and, possibly, available to smaller organisations and start-ups.
I believe that Green Hat addresses a very significant yet, often, unrecognised issue facing developers today: the need for early and fast integration testing of complicated business automation environments involving external services and significant integration with 3rd-party applications. Early unit testing isn't enough.