There are many principles in software development that can (and should) be applied to software testing as well. One of those principles is called the Separation of Concerns.
The basic premises of SoC is to divide out parts of an application into their own objects (or layers if you are thinking at the architectural level), and to keep conceptually similar parts together. A simple example of this is CSS. When you use CSS, you have separated the style and formatting from document content-- the HTML. In this case, the stylization is considered one concern, where the document content is another concern.
So how does this apply to QA? When decomposing requirements into test cases, you often enter a gray area where you need to define where one test case ends and the next begins. Sometimes this dividing line is clear cut and obvious, but other times not so obvious.
A guiding rule that can help you draw this line is to separate STYLIZATION from FUNCTIONALITY.
Create a set of test cases that are concerned only with the style and formatting of the application. Think of these as your CSS test cases. Keep these tests separate from those that cover the actual behavior, or functionality, of your application.
Doing this has several advantages:
1. Mindset
It allows the test case designer and test executor to concentrate on one thing at a time.
2. Maintenance
Stylization and functionality tend to change at different times, so separating them makes test case maintenance easier.
3. Automation
If you are automating your tests, you are mainly automating your functional tests. While some aspects of stylization can be automated, it is always better to execute these with a human eye.
4. Agility
The stylization is often not ready to be tested at the same time as the functionality, so allocating tests for execution is easier (this is especially relevant for Agile testers).
Showing posts with label test case design. Show all posts
Showing posts with label test case design. Show all posts
Wednesday, March 10, 2010
Subscribe to:
Posts (Atom)