Difference between revisions of "TAKE SMALL STEPS"
m (Topic titles in capital letters) |
|||
Line 1: | Line 1: | ||
<div id="content_view" class="wiki" style="display: block"> | <div id="content_view" class="wiki" style="display: block"> | ||
<span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Process Patterns]] / Back to [[Test Automation Patterns]]</span><br /> | <span style="font-size: 14px">.................................................................................................................[[Main Page]] / Back to [[Process Patterns]] / Back to [[Test Automation Patterns]]</span><br /> | ||
− | =<span style="font-size: 16px">Pattern summary</span>= | + | =<span style="font-size: 16px">'''Pattern summary'''</span>= |
<span style="font-size: 16px">Look for small increments of the work that will give you value.</span><br /> <br /> | <span style="font-size: 16px">Look for small increments of the work that will give you value.</span><br /> <br /> | ||
− | =<span style="font-size: 16px">Category</span>= | + | =<span style="font-size: 16px">'''Category'''</span>= |
<span style="font-size: 16px">Process</span> | <span style="font-size: 16px">Process</span> | ||
− | =<span style="font-size: 16px">Context</span>= | + | =<span style="font-size: 16px">'''Context'''</span>= |
<span style="font-size: 16px">This pattern is needed when you start with test automation and want to deliver results quickly. It is needed both for long lasting automation and for one-off or disposable scripts.</span><br /> <br /> | <span style="font-size: 16px">This pattern is needed when you start with test automation and want to deliver results quickly. It is needed both for long lasting automation and for one-off or disposable scripts.</span><br /> <br /> | ||
− | =<span style="font-size: 16px">Description</span>= | + | =<span style="font-size: 16px">'''Description'''</span>= |
<span style="font-size: 16px">Don't try to do too much too soon in your automation. It is tempting to try to automate as much as possible as quickly as possible, but this will ultimately make more work for you. Don't start with complex test cases, do first the easy and short ones. By taking small steps you can learn your way with tools, scripting etc. and you can show results relatively quickly so that you can [[SELL THE BENEFITS]] for your automation project.</span> | <span style="font-size: 16px">Don't try to do too much too soon in your automation. It is tempting to try to automate as much as possible as quickly as possible, but this will ultimately make more work for you. Don't start with complex test cases, do first the easy and short ones. By taking small steps you can learn your way with tools, scripting etc. and you can show results relatively quickly so that you can [[SELL THE BENEFITS]] for your automation project.</span> | ||
− | =<span style="font-size: 16px">Implementation</span>= | + | =<span style="font-size: 16px">'''Implementation'''</span>= |
<span style="font-size: 16px">Here some suggestions:</span><br /> | <span style="font-size: 16px">Here some suggestions:</span><br /> | ||
Line 21: | Line 21: | ||
* <span style="font-size: 16px">[[CELEBRATE SUCCESS]] regularly.</span> | * <span style="font-size: 16px">[[CELEBRATE SUCCESS]] regularly.</span> | ||
<br /> <span style="font-size: 16px">In some cases it can be most rewarding to do just some automation in order to support the testers right away. This will help to produce much interest and support for a later extension of the automation effort.</span><br /> <br /> | <br /> <span style="font-size: 16px">In some cases it can be most rewarding to do just some automation in order to support the testers right away. This will help to produce much interest and support for a later extension of the automation effort.</span><br /> <br /> | ||
− | =<span style="font-size: 16px">Potential problems</span>= | + | =<span style="font-size: 16px">'''Potential problems'''</span>= |
<span style="font-size: 16px">A step shouldn't be so small that it makes no difference, and if it is too large, then it isn't a small step.</span> | <span style="font-size: 16px">A step shouldn't be so small that it makes no difference, and if it is too large, then it isn't a small step.</span> | ||
− | =<span style="font-size: 16px">Issues addressed by this pattern</span>= | + | =<span style="font-size: 16px">'''Issues addressed by this pattern'''</span>= |
− | <span style="font-size: 16px">''[[COMPLEX ENVIRONMENT]]''</span><br /> <span style="font-size: 16px">''[[ | + | <span style="font-size: 16px">''[[COMPLEX ENVIRONMENT]]''</span><br /> <span style="font-size: 16px">''[[HARD-TO-AUTOMATE]]''</span><br /> <span style="font-size: 16px">''[[ HIGH ROI EXPECTATIONS]]''</span><br /> ''<span style="font-size: 16px">[[ INEFFICIENT FAILURE ANALYSIS]]</span>''<br /> <span style="font-size: 16px">''[[ LIMITED EXPERIENCE]]''</span><br /> <span style="font-size: 16px">''[[ NO PREVIOUS TEST AUTOMATION]]''</span><br /> ''<span style="font-size: 16px">[[ STALLED AUTOMATION]]</span>''<br /> ''<span style="font-size: 16px">[[HARD-TO-AUTOMATE RESULTS]]</span>''<br /> ''<span style="font-size: 16px">[[ UNREALISTIC EXPECTATIONS]]</span>'' |
− | =<span style="font-size: 16px">Experiences</span>= | + | =<span style="font-size: 16px">'''Experiences'''</span>= |
<span style="font-size: 16px">''Jochim Van Dorpe'' writes:</span><br /> <span style="font-size: 16px">We introduced the 'take small steps' pattern by introducing a level of priority to automate.</span><br /> <br /> <span style="font-size: 16px"> Due to timing, resource and budget constraints, we can't implement as many test cases as I, as a test analyst, want. So I make sure that the tests we make are always the 'smartest' ones at that moment. We introduced 4 levels for system tests (per use case, functionality, ...):</span><br /> | <span style="font-size: 16px">''Jochim Van Dorpe'' writes:</span><br /> <span style="font-size: 16px">We introduced the 'take small steps' pattern by introducing a level of priority to automate.</span><br /> <br /> <span style="font-size: 16px"> Due to timing, resource and budget constraints, we can't implement as many test cases as I, as a test analyst, want. So I make sure that the tests we make are always the 'smartest' ones at that moment. We introduced 4 levels for system tests (per use case, functionality, ...):</span><br /> | ||
Line 32: | Line 32: | ||
* <span style="font-size: 16px">Level 3: Test cases that end up in the same state as cases in level 1 or 2, but with a slightly different path. (for example: IF A then 1 else IF B OR C then 2, the input B could be in a level 2 set, the input C could be in a level 3 set)</span> | * <span style="font-size: 16px">Level 3: Test cases that end up in the same state as cases in level 1 or 2, but with a slightly different path. (for example: IF A then 1 else IF B OR C then 2, the input B could be in a level 2 set, the input C could be in a level 3 set)</span> | ||
* <span style="font-size: 16px">Level 4: Test cases that follow the same path as a level 1,2 or 3 case, but with multiple iterations, a bigger dataset, an empty dataset, ...</span> | * <span style="font-size: 16px">Level 4: Test cases that follow the same path as a level 1,2 or 3 case, but with multiple iterations, a bigger dataset, an empty dataset, ...</span> | ||
− | |||
<span style="font-size: 16px">An automator always takes a test from the highest level avaliable.</span><br /> <br /> <span style="font-size: 16px">Note:</span><br /> <span style="font-size: 16px">If you have also used also 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 [[Process Patterns]] / Back to [[Test Automation Patterns]]</span></div> | <span style="font-size: 16px">An automator always takes a test from the highest level avaliable.</span><br /> <br /> <span style="font-size: 16px">Note:</span><br /> <span style="font-size: 16px">If you have also used also 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 [[Process Patterns]] / Back to [[Test Automation Patterns]]</span></div> |
Revision as of 14:55, 29 April 2018
.................................................................................................................Main Page / Back to Process Patterns / Back to Test Automation Patterns
Pattern summary
Look for small increments of the work that will give you value.
Category
Process
Context
This pattern is needed when you start with test automation and want to deliver results quickly. It is needed both for long lasting automation and for one-off or disposable scripts.
Description
Don't try to do too much too soon in your automation. It is tempting to try to automate as much as possible as quickly as possible, but this will ultimately make more work for you. Don't start with complex test cases, do first the easy and short ones. By taking small steps you can learn your way with tools, scripting etc. and you can show results relatively quickly so that you can SELL THE BENEFITS for your automation project.
Implementation
Here some suggestions:
- Automate at first only positive test cases (Happy Path).
- Automate only the smoke tests.
- Automate only bug fix tests.
- Automate stable functionality so that you don’t have much maintenance in the beginning.
- Automate functionality for which a good test case base is already available.
- Automate the STEEL THREAD.
- Develop the automation in SHORT ITERATIONS
- CELEBRATE SUCCESS regularly.
In some cases it can be most rewarding to do just some automation in order to support the testers right away. This will help to produce much interest and support for a later extension of the automation effort.
Potential problems
A step shouldn't be so small that it makes no difference, and if it is too large, then it isn't a small step.
Issues addressed by this pattern
COMPLEX ENVIRONMENT
HARD-TO-AUTOMATE
HIGH ROI EXPECTATIONS
INEFFICIENT FAILURE ANALYSIS
LIMITED EXPERIENCE
NO PREVIOUS TEST AUTOMATION
STALLED AUTOMATION
HARD-TO-AUTOMATE RESULTS
UNREALISTIC EXPECTATIONS
Experiences
Jochim Van Dorpe writes:
We introduced the 'take small steps' pattern by introducing a level of priority to automate.
Due to timing, resource and budget constraints, we can't implement as many test cases as I, as a test analyst, want. So I make sure that the tests we make are always the 'smartest' ones at that moment. We introduced 4 levels for system tests (per use case, functionality, ...):
- Level 1: The happy path, and when there are less than 3 possibilities, we add 1 or 2 extensions
- Level 2: The non-happy paths with different end-points
- Level 3: Test cases that end up in the same state as cases in level 1 or 2, but with a slightly different path. (for example: IF A then 1 else IF B OR C then 2, the input B could be in a level 2 set, the input C could be in a level 3 set)
- Level 4: Test cases that follow the same path as a level 1,2 or 3 case, but with multiple iterations, a bigger dataset, an empty dataset, ...
Note:
If you have also used also 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!
.................................................................................................................Main Page / Back to Process Patterns / Back to Test Automation Patterns