As a tester, organizations depend on you to maintain the highest possible quality for their products. The quality with which you write, specify and organize test cases influences the effectiveness of your testing and can significantly affect the quality of the product.
To maximize the benefits from your tests, write the requirements alongside your business stakeholders, design your tests with a purpose and parameter, and of course, organize them properly so you can easily understand and execute them.
Here are some best practices to help you get the most from your testing strategy:
Before you begin testing, make sure the SUT (system under test) is stable and testable so that you don’t lose time retesting. Only when you have a testable SUT will your tests serve their purpose and work properly.
A testable system has these characteristics:
Once you’re certain that the SUT meets this criteria, you can perform successful testing.
Effective testing starts with concise and comprehensive business requirements. Your business requirements provide a blueprint for the final outcome of the system. Developers use these requirements to build a product that meets a set of priorities and outcomes.
When you include testing as a part of the whole development life-cycle, your requirements become more clear, understandable and testable. That’s because testers are able to understand the possible risks and failures with certain functions. As a tester, you should review and discuss the requirements with the development team right from the start.
When you do, make sure your requirements meet these key characteristics:
Once you’ve established your requirements, you can build your tests with confidence.
High-quality tests help you determine whether the system under test functions properly. A scripted test provides guidelines to test for a predefined outcome. All scripted tests should follow a set of characteristics so they best serve their function and purpose:
Test cases make your testing more efficient because you can re-run the same tests on subsequent builds without rewriting them. Use these guidelines to ensure you write great tests from the start.
The reason for a Test to exist in the first place should be its purpose/goal. If using Xray, use the Summary and Description fields to define the purpose of the Test.
Tests should have the necessary steps to validate their purpose. Create clear, unambiguous steps to avoid different interpretations and thus different results.
Points to keep in mind when you write steps:
Ensure smooth collaboration within your team and make your tests easily accessible. If using Xray, use labels or specific custom fields. When you use labels, keep in mind that Jira's default label type of fields are case-sensitive and there’s no way to limit their values. A more restricted custom field type may be more appropriate.
Test in a specific environment to make your tests even more accurate. If tests are specific for a given environment, use the Environment Field in Xray to clearly identify that. Whenever scheduling these tests for execution, make sure to use the test environments feature by setting the Test Environments Field on the Test Execution.
It’s hard to understand and manage a test that depends on previous tests to be executed first. Try to avoid dependencies in the first place. If really needed, try to isolate them as much as possible through Pre-Conditions.
Test using the same test procedure but in different conditions, such as different combinations of enabled features.
To stay consistent, use this approach:
For an alternate approach, use Test Environments and define each one as a specific feature combination. However, this does not scale well if you have several features which would lead to too many Test Environments.
Sometimes testers look at a requirement and write one or two tests that mimic exactly the description of the requirement, without digging further into potential different paths.
Now that you’ve defined your tests, pick the best system to organize them and stay consistent with it.
As your test cases increase, you want to organize them properly from the start to get clear traceability to the requirements and maximize the speed with which you execute them. If you’re using Xray for your test management, keep in mind that Xray supports many different project organization scenarios. Organize your tests using either lists (i.e. Test Sets) or folders within the project's Test Repository.
When using Xray for your test management, follow these guidelines to properly organize your tests.
To maximize team collaboration keep your testing related artifacts together with other project related ones, such as requirements/user stories, bugs, tasks, etc. With this approach you have a self-contained project which you can easily manage.
Organize your tests properly from the start in order to avoid duplications and disorganization. Tag the tests and identify the reason for the test to exist in the first place. With this process you can:
As with your requirements, maintain consistency when you tag your tests to avoid similar tests tagged in different ways.
If you want to bring the most value to your software development process, follow these best practices to specify, execute and organize your tests with confidence.
Create simple and clear requirements and ensure the SUT is testable. Write tests with a clear purpose and break them down as much as possible so that they are simple and easy to execute. Finally, organize your tests in an efficient and easy to understand way so that you can replicate the process.
Xray is the leading quality assurance and test management app for Jira. More than 4.5 million testers, developers and QA managers trust Xray to manage 100+ million test cases each month.