GIANT SCRIPTS

From Test Automation Patterns
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
.................................................................................................................Main Page / Back to Design Issues / Back to Test Automation Issues

Issue Summary

Scripts span thousands of lines or have many purposes bundled into the same script.

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. Scripts perform many functions; for example, you have to pass in lots of parameters even if a particular test only needs one. This is known as the "long method" code smell. (Thanks to Angie Jones - code smells tutorial, TestBash Manchester 2018.)

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