Difference between revisions of "TAKE SMALL STEPS"

From Test Automation Patterns
Jump to navigation Jump to search
 
(4 intermediate revisions by 2 users not shown)
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>  
=<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>  
=<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 />  
 
 
* <span style="font-size: 16px">Automate at first only positive test cases (Happy Path).</span>
 
* <span style="font-size: 16px">Automate at first only positive test cases (Happy Path).</span>
 
* <span style="font-size: 16px">Automate only the smoke tests.</span>
 
* <span style="font-size: 16px">Automate only the smoke tests.</span>
Line 20: Line 19:
 
* <span style="font-size: 16px">Develop the automation in [[SHORT ITERATIONS]]</span>
 
* <span style="font-size: 16px">Develop the automation in [[SHORT ITERATIONS]]</span>
 
* <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>  
=<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">''[[HARD-TO-AUTOMATE 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">''[[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 />  
 
 
* <span style="font-size: 16px">Level 1: The happy path, and when there are less than 3 possibilities, we add 1 or 2 extensions</span>
 
* <span style="font-size: 16px">Level 1: The happy path, and when there are less than 3 possibilities, we add 1 or 2 extensions</span>
 
* <span style="font-size: 16px">Level 2: The non-happy paths with different end-points</span>
 
* <span style="font-size: 16px">Level 2: The non-happy paths with different end-points</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 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>
* <br />
+
<span style="font-size: 16px">An automator always takes a test from the highest level avaliable.</span><br /> <br />  
<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">If you have also 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 [[Process Patterns]] / Back to [[Test Automation Patterns]]</span></div>

Latest revision as of 14:42, 21 August 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, ...

An automator always takes a test from the highest level avaliable.


If you have also 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 Process Patterns / Back to Test Automation Patterns