Writing a good test case is as much an art as it is a science. Without the right test cases, your tests will be inherently flawed, and there are issues that you could potentially miss throughout the testing process. Test cases require a thorough and methodical understanding of your product and can be improved with a solid strategy.
Limit Your Test Steps
There can always be an inclination to include more test steps than are strictly necessary. The more test steps you have, the more convoluted your testing is going to become. Each test case should be concise: ideally no less than three steps and no more than eight. If you find that you have more steps, it’s usually better to break your test case into multiple test cases. This will simplify the process of tracking down bugs.
Be As Direct and Simple As Possible
Each test step should be direct, simple, and include only a single action. Remember that your test step includes an action and an expected result. When it comes to a login page, for instance, an action could be “Log into the website.” You don’t need to list off “Type in username,” and then “Press login button,” because these steps don’t expect a separate result. When designing test cases your primary concern should be that functions operate as they should.
Don’t Forget Your Pre-Conditions
There are certain elements that may change the state of your program. In other words, the expected result may rely upon a contingency that isn’t specified within the test case itself. For instance, it may require that the user be logged into an account with specific rights, or that the user be logging in during a certain time of day. Always specify these pre-conditions thoroughly. If you forget them, your test case may fail unexpectedly.
Never Assume Prior Knowledge
It’s easy to assume that a tester is already familiar with your technology, and this can lead to omitting certain steps within your test case or being vague about the results. You should always write your test cases as though you are writing them for an individual who has never encountered your platform before. The end user who ultimately interacts with your software isn’t going to have any knowledge, so your tester will need to approach their test cases similarly.
Don’t Get Technical Unless Necessary
There are some test cases that have to be technical; the tester may need to look at certain things, such as database values, to determine whether the system worked properly. But if the tester isn’t expected to get technical, you should make sure that your test cases operate at a low level of technical knowledge. Otherwise your testers may become confused or bogged down in detail.
Quality assurance is all about being detail-oriented. Sometimes it isn’t your test cases themselves, but simply ensuring that you have a wide enough variety of them, and are covering all your gaps. Are you a professional software tester or developer? Contact us today to find out more about our current job opportunities. We maintain a specialized list of the best open tech positions, with the goal of matching up employers and employees with the best possible fit.