Difference between revisions of "INFLEXIBLE AUTOMATION"

From Test Automation Patterns
Jump to navigation Jump to search
m (Topic titles in capital letters)
Line 1: Line 1:
 
<div id="content_view" class="wiki" style="display: block"><span style="font-size: 14px">.................................................................................................................[Main Page]] / Back to [[Execution Issues]] / Back to [[] Test Automation Issues]]</span>
 
<div id="content_view" class="wiki" style="display: block"><span style="font-size: 14px">.................................................................................................................[Main Page]] / Back to [[Execution Issues]] / Back to [[] Test Automation Issues]]</span>
=<span style="font-size: 16px">Issue Summary</span>=
+
=<span style="font-size: 16px">'''Issue Summary'''</span>=
 
<span style="font-size: 16px">Execution of automated tests is ad-hoc or too rigid. Subsets of tests cannot be selected to run - it's "all or nothing".</span><br />
 
<span style="font-size: 16px">Execution of automated tests is ad-hoc or too rigid. Subsets of tests cannot be selected to run - it's "all or nothing".</span><br />
=<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">Examples </span>=
+
=<span style="font-size: 16px">'''Examples'''</span>=
 
 
 
# <span style="font-size: 16px">It is difficult to select a subset of tests in order to test only some special feature, or to run a different set of regression tests than last time.</span>
 
# <span style="font-size: 16px">It is difficult to select a subset of tests in order to test only some special feature, or to run a different set of regression tests than last time.</span>
 
# <span style="font-size: 16px">Automated tests can be run only by one person. If he / she is on sick leave the tests don't run!</span>
 
# <span style="font-size: 16px">Automated tests can be run only by one person. If he / she is on sick leave the tests don't run!</span>
 
# <span style="font-size: 16px">Your test suites cannot be used for smoke tests because all the tests build on each other.</span>
 
# <span style="font-size: 16px">Your test suites cannot be used for smoke tests because all the tests build on each other.</span>
 
# <span style="font-size: 16px">To run an automated test again you have to make a lot of manual changes to the tests</span>
 
# <span style="font-size: 16px">To run an automated test again you have to make a lot of manual changes to the tests</span>
=<span style="font-size: 16px">Questions</span>=
+
=<span style="font-size: 16px">'''Questions'''</span>=
 
<span style="font-size: 16px">Do you know what every test does? Is this documented?</span><br /> <span style="font-size: 16px">Who can run the tests? Who decides what tests to run?</span><br /> <span style="font-size: 16px">How do the different test cases in a test suite relate to each other? Are there dependencies?</span><br /> <span style="font-size: 16px">Do the tests have different priorities?</span>
 
<span style="font-size: 16px">Do you know what every test does? Is this documented?</span><br /> <span style="font-size: 16px">Who can run the tests? Who decides what tests to run?</span><br /> <span style="font-size: 16px">How do the different test cases in a test suite relate to each other? Are there dependencies?</span><br /> <span style="font-size: 16px">Do the tests have different priorities?</span>
=<span style="font-size: 16px">Resolving Patterns </span>=
+
=<span style="font-size: 16px">'''Resolving Patterns'''</span>=
 
<span style="font-size: 16px">Most recommended:</span><br />  
 
<span style="font-size: 16px">Most recommended:</span><br />  
 
 
* <span style="font-size: 16px">[[TEST SELECTOR]]: Implement your test cases so that you can turn on various selection criteria for whether or not a given test is included in an execution run (example 1)</span>
 
* <span style="font-size: 16px">[[TEST SELECTOR]]: Implement your test cases so that you can turn on various selection criteria for whether or not a given test is included in an execution run (example 1)</span>
 
* <span style="font-size: 16px">[[UNATTENDED TEST EXECUTION]]: This pattern is what you want to automate your tests for! Use it!</span>
 
* <span style="font-size: 16px">[[UNATTENDED TEST EXECUTION]]: This pattern is what you want to automate your tests for! Use it!</span>
Line 21: Line 19:
 
* <span style="font-size: 16px">[[PRIORITIZE TESTS]]: Apply this pattern to take advantage of flexible execution, e.g. you have time to run some tests but not all of them.</span>
 
* <span style="font-size: 16px">[[PRIORITIZE TESTS]]: Apply this pattern to take advantage of flexible execution, e.g. you have time to run some tests but not all of them.</span>
 
<br /> <span style="font-size: 16px">Other useful patterns:</span><br />  
 
<br /> <span style="font-size: 16px">Other useful patterns:</span><br />  
 
 
* <span style="font-size: 16px">[[DOCUMENT THE TESTWARE]]: use this pattern so that you know what each test does</span>
 
* <span style="font-size: 16px">[[DOCUMENT THE TESTWARE]]: use this pattern so that you know what each test does</span>
 
<br /> <span style="font-size: 14px">................................. .................................................................................[[Main Page]] / Back to [[Execution Issues]] / Back to [[] Test Automation Issues]]</span></div>
 
<br /> <span style="font-size: 14px">................................. .................................................................................[[Main Page]] / Back to [[Execution Issues]] / Back to [[] Test Automation Issues]]</span></div>

Revision as of 18:48, 29 April 2018

.................................................................................................................[Main Page]] / Back to Execution Issues / Back to [[] Test Automation Issues]]

Issue Summary

Execution of automated tests is ad-hoc or too rigid. Subsets of tests cannot be selected to run - it's "all or nothing".

Category

Execution

Examples

  1. It is difficult to select a subset of tests in order to test only some special feature, or to run a different set of regression tests than last time.
  2. Automated tests can be run only by one person. If he / she is on sick leave the tests don't run!
  3. Your test suites cannot be used for smoke tests because all the tests build on each other.
  4. To run an automated test again you have to make a lot of manual changes to the tests

Questions

Do you know what every test does? Is this documented?
Who can run the tests? Who decides what tests to run?
How do the different test cases in a test suite relate to each other? Are there dependencies?
Do the tests have different priorities?

Resolving Patterns

Most recommended:

  • TEST SELECTOR: Implement your test cases so that you can turn on various selection criteria for whether or not a given test is included in an execution run (example 1)
  • UNATTENDED TEST EXECUTION: This pattern is what you want to automate your tests for! Use it!
  • INDEPENDENT TEST CASES: Apply this pattern if your tests build on each other too much (example 3)
  • TESTWARE ARCHITECTURE: Apply this pattern to avoid problems such as MANUAL INTERVENTIONS in automated testing (example 4)
  • PRIORITIZE TESTS: Apply this pattern to take advantage of flexible execution, e.g. you have time to run some tests but not all of them.


Other useful patterns:


................................. .................................................................................Main Page / Back to Execution Issues / Back to [[] Test Automation Issues]]