Professional Documents
Culture Documents
Automated software testing (or software test automation) is software testing aided by
specialized software tools that provide the ability to define a test, run it multiple times
and verify the results with a low amount human interaction.
In Foster it is useful to define two major areas for automated testing: the user interface
(UI) and the middle-tier and business-level testing. The UI is what users see and work
with, but it is the layers beyond the UI that move all the data between the UI and the
business layer and it is the business layer that define the major business rules that
allow/restrict access to said data.
Automated UI testing can be done by recording a series of actions on the UI (like clicking
a button on the toolbar, typing in a deal number and then pressing Get, etc.) and replaying
these recordings and verify the results. Business level testing can be achieved by creating
test scripts (pieces of code that describe how an automated tool should interact with the
Foster) and running these test scripts with an automated test tool.
Test Execution 1 2 3 4 5 6
Manual 15 15 15 15 15 15 90 hours
Automated 45 2 2 2 2 2 55 hours
Drawbacks of Automation:
Not as flexible as manual testing – whenever there are some changes in the
product, many test scripts might have to be updated (when a combo box is not
enabled by default on the Legal Status form, some test scripts will break down
and report errors; these tests will have to updated before automated testing can
begin.)
Higher skill requirements – tests scripts are usually written in some scripting
language which requires some familiarity with programming.
Several automated tools exist that can be used with Foster to cover multiple areas of
testing. Areas that can be automated include:
These tools allow testers to record actions on the UI and then replay them and they have
their own scripting language to create test scripts. Usually they provide interfaces to
access testing results programmatically and they have capabilities to integrate with
existing bug tracking systems.
The following diagram shows the process of integrated manual and automated testing:
Yes
Create Test
Scripts For
New
Features
Run Manual
Automated Usability
Tests Testing
The diagram shows that automated testing can be done in parallel to manual testing
(which is necessary to test areas that automated testing cannot cover, like usability
testing, etc.) and then results can be evaluated.
As a conclusion, automated tests can provide a very effective (in reducing development
cycle/costs) addition to existing manual testing and should be used to help Foster
development to the maximum possible extent.