Software terminology can sometimes be confusing. Test case, test script, test scenario, test plan: they all sound alike, but all have different functions and meanings for the entire software development cycle (SDLC). In the SDLC, creating and running test cases is the first of several steps within the testing process, laying the foundation for releasing a high-quality product.
Test cases are used to check whether the product meets specified requirements and established quality parameters (e.g. functionality, usability) prior to release.
Writing test cases, especially for QA/test managers, often causes headaches because it requires a lot of expertise to describe precise, typical scenarios and test conditions with realistic, goals. During the creation of test cases, you have probably already encountered the following questions:
- What is my starting point for the test case? Which prerequisites must be met?
- Will the test case reveal the required results? What are the primary areas?
- What data is needed for a successful test case?
- Am I able to formulate the steps and expected results clearly?
- Is the structure of the test case well planned? Does the tester / user know what to expect?
- Will the test cases save time, optimize existing processes and thus generate sustainable added value?
You can create great test cases by following these four steps.
1. Define the test scope
Make sure you’re as detailed as possible without overloading or confusing the tester. Whether you’re writing for an external crowd or internal audiences, you need to make sure the tester is “examining” the test object as if they are seeing it for the first time and has no background knowledge. The real art of development is to make the test environment so intuitive that it seems familiar to the tester even when they’re first encountering it.
When preparing the scope and its test cases, pay attention to the following points:
- Explain in a nutshell what the test object is.
- Main focus: Which areas should the tester primarily pay attention to?
- What requirements must be met in order to be able to test (e.g. device, OS, hardware, accounts, accesses/VPN, location, and what’s out of scope)?
- Avoid technical terms and incomprehensible insider wording (or at least include a glossary if it’s required).
- Put yourself in the position of a layman. Check yourself or a colleague to see if your test scope is really understandable and all the necessary aspects have been taken into account.
2. Make test cases that are understandable for everyone
Please note the following bullets when formulating test cases, especially when testing for external audiences or crowds:
- Choose a clear title that describes the test case.
- Describe the test case in a short summary to help the tester get started.
- Specify a clear processing time of the test case. This is extremely important if the test case has to be run without interruption within a certain time.
- If necessary, provide background information in each step. Describe exactly what the tester should expect in the next step and what effect this has.
- Identify which steps require evidence (screenshots, video, logs, etc) and add requirements for those.
- Be sure to name the key functionalities of the product that must work 100%.
- Build the test case intuitively and according to the product. Put yourself in the position of a user: What exactly does this usually do? Does the course of the test case reflect the subsequent user experience or user journey realistically?
- Bundle all important test data within the test case and assign the specific test data to the individual steps. This avoids confusion and prevents the tester from jumping back and forth between steps. Let the tester fully concentrate on the chronological execution of the test case.
- Important: The individual steps of the test case and the expected results must be written in a short and comprehensible way. Add one more step rather than overloading a single step with information unnecessarily.
3. Obtain feedback from the testers
Close contact with the testers and regular feedback sessions on new and existing test cases are therefore extremely important if you want to continually optimize your test cases. You may even want to include a “feedback form” in test cases so people can comment if they found something unclear.
4. Review of the test cases
Now that all steps have been carefully followed, the test run is over, the results of the test are available and you have received valuable feedback from the testers, you should take the time to discuss your results with all people involved in the testing. Take any kind of feedback and let it flow into the next testing cycle to save both time and money and learn from possible mistakes.
Quality Assurance is an ongoing process. Try to use each new test cycle to ultimately get the best version of the test object.