Difference between revisions of "GIANT SCRIPTS"

From Test Automation Patterns
Jump to navigation Jump to search
Line 4: Line 4:
 
=<span style="font-size: 16px">'''Category'''</span>=
 
=<span style="font-size: 16px">'''Category'''</span>=
 
<span style="font-size: 16px">Design</span>  
 
<span style="font-size: 16px">Design</span>  
 +
 
=<span style="font-family: Arial; font-size: 16px">'''Examples'''</span>=
 
=<span style="font-family: Arial; font-size: 16px">'''Examples'''</span>=
<span style="font-size: 16px">Scripts are not modular; one script does the test case from beginning to end (this is often the case if you use [[CAPTURE-REPLAY]])</span><br /> <span style="font-size: 16px">Scripts perform more than one test case</span>  
+
<span style="font-size: 16px">Scripts are not modular; one script does the test case from beginning to end (this is often the case if you use [[CAPTURE-REPLAY]]).</span><br /> <span style="font-size: 16px">Scripts perform more than one test case - you have to scroll and scroll to find out what the script is doing. This is also known as a "code smell", e.g. long class smell.</span>  
 +
 
 
=<span style="font-family: Arial; font-size: 16px">'''Questions'''</span>=
 
=<span style="font-family: Arial; font-size: 16px">'''Questions'''</span>=
 
<span style="font-size: 16px">Who is doing the scripting?</span>  
 
<span style="font-size: 16px">Who is doing the scripting?</span>  

Revision as of 08:59, 26 September 2018

.................................................................................................................Main Page / Back to Design Issues / Back to Test Automation Issues

Issue Summary

Scripts that span thousands of lines

Category

Design

Examples

Scripts are not modular; one script does the test case from beginning to end (this is often the case if you use CAPTURE-REPLAY).
Scripts perform more than one test case - you have to scroll and scroll to find out what the script is doing. This is also known as a "code smell", e.g. long class smell.

Questions

Who is doing the scripting?

Resolving Patterns

Most recommended:

  • ABSTRACTION LEVELS: This pattern helps but it may be too costly or too time-consuming to change retroactively the architecture of your current automation, still you should use this pattern for all new automation efforts or when you have to do complex updates.
  • GOOD DEVELOPMENT PROCESS: Apply this pattern if you don't have a process for developing test automation. Apply it also if your process lives only on paper (nobody cares)
  • GOOD PROGRAMMING PRACTICES: This pattern should already be in use! If not, you should apply it for all new automation efforts. Apply it also every time you have to change current testware.
  • ONE CLEAR PURPOSE: Use this pattern if you have scripts that perform more than one test case


Other useful patterns:


.................................................................................................................Main Page / Back to Design Issues / Back to Test Automation Issues