At a Jira level, tests are organized under projects, i.e. a test belongs to a Jira project (this happens by virtue of you creating a new test in a project).
Once a test has been created for a project, it can be further organized by Versions. If one or more Versions have been created for a project, they appear in the Fix Version/s field, allowing you to add one or more versions that this test belongs to. The Test Summary screen displays a summary of all these tests organized by version. If no version has been selected, the tests appear under "Unscheduled".
|The Affects Version/s is NOT used by tests.|
Searching in the Issue Navigator by that Fixed Version gives you a list of tests that belong to that version. Using the Bulk Change feature of the Issue Navigator, a large number of tests can be made a part of another Fixed Version very easily (e.g. bringing over the entire regression suite from one version to another).
Test metrics then give you a good idea about how your tests are distributed when you pick that version.
Tests can also be related to Components. If one or more Components have been created for a project by a Jira or Project Administrator, then they can be added to a test. The Test Summary screen displays a summary of all these tests organized by component. If no component is chosen, tests appear under "No Component".
Test metrics then give you a good idea about how your tests are distributed by component when you pick that option.
Another way to organize tests is by using user-generated labels. This is a little more free form as users can create their own labels (or re-use existing ones) without having to get the Jira or Project Administrator to create it (as they do with Components). Clicking on a label would then take you to the Issue Navigator and show all the tests that have that label. The Test Summary screen displays a summary of all these tests organized by label. If no label is chosen, tests appear under "No Label".
Test metrics then give you a good idea about how your tests are distributed by label when you pick that option.
Suppose you have 3 versions - Version 1.0, Version 2.0 and Version 3.0 in a particular project, with components C1, C2 and C3 (typically system or module names).
You can begin by creating tests for Version 1.0 (use Fixed Version) and ensuring they belong to the right components. Then you can add user-generated labels such as "functionality" or "regression" or "unit_test" to those tests so that you can then search by those labels.
Once done with Version 1.0, as you are getting ready for Version 2.0, search for all tests marked Version 1.0 (Fixed Version) in the Issue Navigator, and then perform a Bulk Change operation on them to add Version 2.0 (Fixed Version). Now all of your tests are ready for Version 2.0