Pages

Thursday, March 19, 2009

Unit testing model for SOA applications

SOA Applications must have a very good automation test suite to make sure all services on intact and works as per intended. While doing unit testing these are the things we must take care to ensure proper integrity and very intact business functionality with each service.
1. Testing developed functionality, in other words, Business logic testing
2. It must be able to test Servlets, EJB and POJO which in turn test through business logic and entities
3. Framework must have clear separation about initial data set creation and teardown of data for each test case
4. It must help to test application integration through app test suite. In other words, it must be able to find if any broken functionality because of new additions
5. It must be able to provide preliminary testing of memory leaks and performance
6. Should be able to execute while building either through simple ant build or continuous integration tools like Cruise control. In other words, it must run out of container
7. When this runs against any development DB, it should not spoil existing data setup.
8. Able to run entire test suite for integration testing
9. Able to run single class testing to test business logic
10. It should allow to automate all my business, edge, negative, positive, and integration test cases to avoid tedious process of manual testing
11. Framework should trigger the resource to get much clarity in understanding complete requirement. It means framework really questions what is all needed before he starts writing test cases
12. Should have build in mock objects like session objects and others
13. It must provide code coverage at package, class, method level
14. Should have facility to identify unreachable code and refactor the code to have better and clean quality code
15. The flexibility and easiness of framework should encourage to go for implementing TDD