Difference between revisions of "PRIORITIZE TESTS"

From Test Automation Patterns
Jump to navigation Jump to search
(Created page with "<div id="content_view" class="wiki" style="display: block"><span style="font-size: 14px">.........................................................................................")
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<div id="content_view" class="wiki" style="display: block"><span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Execution Patterns]] / Back to [[Test Automation Patterns]]</span>
 
<div id="content_view" class="wiki" style="display: block"><span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Execution Patterns]] / Back to [[Test Automation Patterns]]</span>
=<span style="font-size: 16px">Pattern summary</span>=
+
=<span style="font-size: 16px">'''Pattern summary'''</span>=
 
<span style="font-size: 16px">Assign each test some kind of priority in order to be able to select easily the ones that should be run</span>
 
<span style="font-size: 16px">Assign each test some kind of priority in order to be able to select easily the ones that should be run</span>
=<span style="font-size: 16px">Category</span>=
+
=<span style="font-size: 16px">'''Category'''</span>=
 
<span style="font-size: 16px">Execution</span>
 
<span style="font-size: 16px">Execution</span>
=<span style="font-size: 16px">Context</span>=
+
=<span style="font-size: 16px">'''Context'''</span>=
 
<span style="font-size: 16px">Use this pattern when you may not be able to run all of the tests that you have in your automated portfolio. </span><br /> <span style="font-size: 16px">Use this pattern to be selective about tests to run when something has changed.</span>
 
<span style="font-size: 16px">Use this pattern when you may not be able to run all of the tests that you have in your automated portfolio. </span><br /> <span style="font-size: 16px">Use this pattern to be selective about tests to run when something has changed.</span>
=<span style="font-size: 16px">Description</span>=
+
=<span style="font-size: 16px">'''Description'''</span>=
 
<span style="font-size: 16px">Assign each test some kind of priority, based on the criteria that are important at the time. The priority may be related to recent changes, the most critical user-facing aspects of the SUT (System Under Test), a recent change to some related system, or any other factor. The priority tests to run now may be different to the priority of the tests that you will want to run tomorrow.</span><br /> <br /> <span style="font-size: 16px">You should be able to easily select subsets of tests to run, based on the priority assignment.</span>
 
<span style="font-size: 16px">Assign each test some kind of priority, based on the criteria that are important at the time. The priority may be related to recent changes, the most critical user-facing aspects of the SUT (System Under Test), a recent change to some related system, or any other factor. The priority tests to run now may be different to the priority of the tests that you will want to run tomorrow.</span><br /> <br /> <span style="font-size: 16px">You should be able to easily select subsets of tests to run, based on the priority assignment.</span>
=<span style="font-size: 16px">Implementation</span>=
+
=<span style="font-size: 16px">'''Implementation'''</span>=
 
 
 
* <span style="font-size: 16px">Group all the test cases that test the same functionalities of the SUT in the same test suite. In this way you can test different parts at different times or concurrently </span>
 
* <span style="font-size: 16px">Group all the test cases that test the same functionalities of the SUT in the same test suite. In this way you can test different parts at different times or concurrently </span>
 
* <span style="font-size: 16px">Reserve a parameter on every test case for the priority and configure your tool or [[TEST AUTOMATION FRAMEWORK]] so that you can select the priority of the test cases to be run. Common values are:</span>
 
* <span style="font-size: 16px">Reserve a parameter on every test case for the priority and configure your tool or [[TEST AUTOMATION FRAMEWORK]] so that you can select the priority of the test cases to be run. Common values are:</span>
Line 21: Line 20:
 
** <span style="font-size: 16px">Joe's tests</span>
 
** <span style="font-size: 16px">Joe's tests</span>
 
** <span style="font-size: 16px">high level smoke tests</span>
 
** <span style="font-size: 16px">high level smoke tests</span>
=<span style="font-size: 16px">Issues addressed by this pattern</span>=
+
 
 +
=<span style="font-size: 16px">'''Potential problems'''</span>=
 +
<span style="font-size: 16px">You could pick the wrong priorities, but more commonly, not enough categories are chosen to be prioritised, so that you are working with sets of tests that are too large. If you choose smaller sets of tests, you can always assign the same priority to a number of them, but it is difficult to break them down if you don't think about it early enough.</span><br />
 +
 
 +
=<span style="font-size: 16px">'''Issues addressed by this pattern'''</span>=
 
''<span style="font-size: 16px">[[INEFFICIENT EXECUTION]]</span>''<br /> ''<span style="font-size: 16px">[[INFLEXIBLE AUTOMATION]]</span>''
 
''<span style="font-size: 16px">[[INEFFICIENT EXECUTION]]</span>''<br /> ''<span style="font-size: 16px">[[INFLEXIBLE AUTOMATION]]</span>''
=<span style="font-size: 16px">Experiences</span>=
+
=<span style="font-size: 16px">'''Experiences'''</span>=
<span style="font-size: 16px">If you have used this pattern, please add your name and a brief story of how you used this pattern: your context, what you did, and how well it worked - or how it didn't work!</span><br /> <br /> <span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Execution Patterns]] / Back to [[Test Automation Patterns]]</span><br /> <span style="font-size: 14px">B14B 14C 14D</span></div>
+
 
 +
<span style="font-size: 16px">If you have used this pattern and would like to contribute your experience to the wiki, please go to [[Feedback]] to submit your experience or comment.</span><br /> <br />  
 +
 
 +
 
 +
<span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Execution Patterns]] / Back to [[Test Automation Patterns]]</span>

Latest revision as of 16:04, 21 August 2018

.................................................................................................................Main Page / Back to Execution Patterns / Back to Test Automation Patterns

Pattern summary

Assign each test some kind of priority in order to be able to select easily the ones that should be run

Category

Execution

Context

Use this pattern when you may not be able to run all of the tests that you have in your automated portfolio.
Use this pattern to be selective about tests to run when something has changed.

Description

Assign each test some kind of priority, based on the criteria that are important at the time. The priority may be related to recent changes, the most critical user-facing aspects of the SUT (System Under Test), a recent change to some related system, or any other factor. The priority tests to run now may be different to the priority of the tests that you will want to run tomorrow.

You should be able to easily select subsets of tests to run, based on the priority assignment.

Implementation

  • Group all the test cases that test the same functionalities of the SUT in the same test suite. In this way you can test different parts at different times or concurrently
  • Reserve a parameter on every test case for the priority and configure your tool or TEST AUTOMATION FRAMEWORK so that you can select the priority of the test cases to be run. Common values are:
    • Critical
    • Important
    • Average
    • Minor
  • Other categories can also be used to select which tests to run using a TEST SELECTOR, such as
    • all the tests that failed last time
    • the tests for a particular function
    • Joe's tests
    • high level smoke tests

Potential problems

You could pick the wrong priorities, but more commonly, not enough categories are chosen to be prioritised, so that you are working with sets of tests that are too large. If you choose smaller sets of tests, you can always assign the same priority to a number of them, but it is difficult to break them down if you don't think about it early enough.

Issues addressed by this pattern

INEFFICIENT EXECUTION
INFLEXIBLE AUTOMATION

Experiences

If you have used this pattern and would like to contribute your experience to the wiki, please go to Feedback to submit your experience or comment.


.................................................................................................................Main Page / Back to Execution Patterns / Back to Test Automation Patterns