Now that we’ve eliminated Record/Playback as a reasonable long-term automated
testing strategy, let’s discuss some methodologies that I (as well as others) have
found to be effective for automating functional or system testing for most business
applications
The "Functional Decomposition"
Method
The main concept behind the "Functional
Decomposition" script development methodology is to reduce all test cases to their
most fundamental tasks, and write User-Defined Functions, Business Function Scripts,
and "Sub-routine" or "Utility" Scripts which perform
these tasks independently of one another. In general, these fundamental areas
include:
- Navigation (e.g. "Access Payment Screen from Main Menu")
- Specific (Business) Function (e.g. "Post a Payment")
- Data Verification (e.g. "Verify Payment Updates Current Balance")
- Return Navigation (e.g. "Return to Main Menu")
In order to accomplish this, it is necessary to separate Data from Function.
This allows an automated test script to be written for a Business Function, using data-files
to provide the both the input and the expected-results verification. A hierarchical
architecture is employed, using a structured or modular design.
The highest level is the Driver script, which is the engine of the test. The Driver
Script contains a series of calls to one or more "Test Case" scripts. The
"Test Case" scripts contain the test case logic, calling the Business Function
scripts necessary to perform the application testing. Utility scripts and functions are
called as needed by Drivers, Main, and Business Function scripts.
|