Monday, November 26, 2012

Is System Testing Against Use Cases or Design Spec


Currently I am developing test cases and scripts for system testing. I derive test cases from use cases. But I doubted I need to test against design spec as well because the steps in test case flow are actually highly coupled with design and solution, rather than just requirement level flow.

After discussions in IASA - The Global IT Architect Association, I got valuable comments. Especially, I do like Yvex’s comments “Use cases should map to design specs as well as test cases and user manual if you want to push it to the limit.” – this is the theoretical truth that I am just looking for and that can guide me on the practice. I also like Franks idea about separation of testing and development concerns and efforts, that I have encountered and thought three years ago when we argue with people who create test cases from developers understanding of the business.

Use cases are mapped to design spec (by design I mean UX design, lower level design such as business service layer and repository layer is not quite related) , absolutely. UML communication diagrams when used for use cases actually reflect this mapping. A design represents a solution to given requirement, however, not only one design can fulfil the requirement. So test cases, even they eventually are to verify the requirement is fulfilled correctly, but through testing the design or the solution. Test scripts go through steps on that solution and verifies the responses from it, ending up with a result whether the requirement is fulfilled correctly.

To recap, use cases derive design (UX), and use cases and design together derive test cases.




No comments: