|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Service-Oriented Architecture SOA Testing Framework
A framework to test your services in service-oriented development
Oct. 8, 2005 09:00 AM
Service-oriented architecture (SOA) has become today's technology buzz and it's rapidly becoming a mainstream approach to enterprise systems design. Beyond the buzz of SOA, organizations face several challenges as they attempt to truly effectuate the paradigm shift towards SOA. One critical challenge is: How can we assure the quality of the business services that we build? Can the services we build withstand the test of rapid organizational change? One way to address this challenge is through the use of effective testing methodologies and tools for the services deployed under an organization's SOA fabric.
This article will demonstrate an automated SOA testing framework. Founded upon J2EE, XML, and SOAP as well as open source frameworks including Ant, JUnit, and XMLUnit, this powerful tool can prove invaluable to the agile organizations that are implementing SOA. Using the tool, organizations can both unit test for fine grained, "atomic" services as well as integration test loosely coupled, coarse grained business services that orchestrate the granular services. Since change is constant, development teams can automatically execute the services' original set of test cases to ensure quality immediately as peripheral changes are continually being made. The framework has the following features:
In any software development project, testing requires significant time, effort, and discipline. The following common steps should be followed to assure proper and efficient testing:
Testing services in a SODA environment is not very different from testing ordinary software components; the main difference is that services are generally reusable implementations of business processes that orchestrate the functionality within lower-level components and other finer-grained services. Services are highly amenable to testing. Services have well-defined interfaces and hence well-defined inputs and output. Their behavior is therefore predictable enough to apply commonly used black-box testing methods that are very amenable to automated testing. Automated testing of services will become crucial to organizations that are undertaking SOA initiatives. Enterprise environments are constantly changing. For example, at one time, an organization may use JD Edwards as its ERP for managing orders. Then a merger happens, and suddenly, the underlying ERP is standardized to the parent company's Oracle ERP. In an SOA world, the underlying implementations of the order management services will have to be swapped. However, the service interfaces should remain the same. (More commonly, O/S patches are frequently installed, service packs are applied to application servers, small fixes and enhancements are developed, and so on...) Because change is constant, development teams should be able to automatically execute the services' original set of test cases to ensure the quality immediately as changes are being made. This will save untold time and effort, and will remove the error-prone elements of the process. Typically, from the broad business requirements, individual service use cases are created. This will lead to service design and implementation. In a Test Driver Development (TDD), test cases are created from the use cases or service design well before the construction of the services. Test cases should be generated to test out a number of things such as decision points, validation rules, varying system states, business rules, and other expectable conditions. Figure 2 shows the transformation from service design to test cases to account for all of these parameters. Typically hundreds of test cases could be created to test the system thoroughly. Any changes to any of these parameters will mean it's necessary to run all of the tests all over again. This clearly warrants the need for the automated testing.
Requirements for a Testing Framework
Reader Feedback: Page 1 of 1
Your Feedback
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||