Service-oriented architecture is not only bringing application silos together, it's also bringing QA, business analysts and developers together as traditional testing is reorganized for a new era, says Wayne Ariola, vice president of corporate development at Parasoft Corp.
This week's release of Parasoft's Jtest 8.0, a Java code analysis and unit-testing tool, is designed to fit into the new QA for SOA paradigm the company is finding among customers such as Yahoo!, he said. Jtest can be paired with Parasoft's SOAtest tool to provide QA at two levels in an SOA implementation.
Based on his experience with customers in banking, finance and online services, Ariola said testing usually begins at the message layer, where SOAtest plays. Then developers and architects find they also need to use a tool like Jtest to check the applications, including legacy applications, to be sure they can scale and be reliable in the larger architecture, he said.
Beyond these tactical changes in testing, however, Ariola is finding organizational changes among customers doing major SOA implementations.
"What we're seeing is two scenarios of how it's impacting an organization," he said. "You can have an application centric Web services initiative. That's somebody who has an application out there, basically extending the API with Web services and making them available to other applications with perhaps a business scenario in mind, but it's very application centric. You also have business service scenarios. This is a top down approach looking at the business process across a bunch of siloed applications and understanding how to orchestrate a business process."
In what Ariola terms the "application centric" projects, a major criterion is getting everything done quickly, with deadlines that usually do not allow time for traditional QA to create a stage environment for testing.
"What they need is an emulated production environment in development," he said. "So the first impact we're seeing is a shift in terms of who is responsible for quality. Development is taking more on in an application centric role than they would traditionally in terms of a full software development lifecycle."
So, developers become involved in QA to get the application centric project up and running to meet a deadline. But he finds the changing roles of who does testing is somewhat more complicated in business centric projects.
"The role of QA is bifurcating," Ariola said. "We're seeing the business analysts come in and provide a lot more domain knowledge in terms of the business process. The typical QA guys still have a very important role in the process. The load and performance testing, the stress testing associated with releasing those services is very important and we're seeing the QA folks continue to do their jobs with load and test tools. However, the role of creating the orchestrated business process is being shifted out to either a business analyst or a person from QA is moving down into smaller more agile teams. Due to the fact that you're not doing application centric development, there's more need for more domain knowledge as well as understanding the impact of the service across multiple applications."
Another change in who tests what comes when it is time to make sure the siloed applications will be able to hold up in the larger SOA environment. Ariola said this testing is also being handled at the development team level rather than in a traditional QA department.
The involvement of developers and even business analysts in QA plays to the strength of tools such as Jtest, which is designed so people who are not testing professionals can quickly create and run test scripts on applications, the Parasoft executive was quick to point out.
What appears to be disappearing is what the Burton Group disparagingly refers to as the old waterfall approach to development where programmers coded the application and then tossed it over the wall to QA and forgot about it.
"What I'm seeing with SOA and Web services is there's a distinct shift back down to the developer," Ariola said. "The developer needs to be able to exercise the API at their desktop."
But he adds there is also a move to put testing professionals onto teams with the developers and business analysts.
"In the leaders we work with such as Yahoo!, Bank of America, Lehman Brothers, who are the big SOA shops, they've broken up QA teams and placed the QA people on smaller more cross-functional teams."