Browse Prior Art Database

Method for Simulating Real Production Environment for Random Automation Testing

IP.com Disclosure Number: IPCOM000124590D
Original Publication Date: 2005-Apr-29
Included in the Prior Art Database: 2005-Apr-29
Document File: 3 page(s) / 87K

Publishing Venue

IBM

Abstract

The present invention provide a method for automated software testing by using a random-driven test harness. This method of simulating real production environment in automated software testing is base on "behavioral model" analysis of software applications. In this disclosure, a new method is introduced to simulate real production environment in automated software testing, by applying weighted random distribution to state transition paths. A test execution engine is run against the application under test by generating test steps and inputs randomly at runtime. Unknown state or unexpected transition path can be a potential defect. A related log is written at the same time for reproducing and verifying.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 46% of the total text.

Page 1 of 3

Method for Simulating Real Production Environment for Random Automation Testing

Background

1. Field of the Invention

     The present invention relates in general to the field of
software testing. More specifically, relates to a method for
automatically testing procedures for graphical user interfaces
(GUIs) of software applications using a random-driven test
harness.

2. Description of the Related Art

     The goal of software testing is to ensure both product
quality and product user satisfactory. Software products usually
contain defects and it is time-consuming and costly to find most
defects during software testing.

     In a software application especially GUI application, there
are hundreds of operations which user can operate, most software
are non-deterministic and the permutation among these operations
increase with geometric progression. Conventionally, testers
either focus on specific functionality, or try to cover as much
as possible. The second approach is usually limited by time and
cost to select only a portion for execution in practice.

     Automated testing is a way of testing a software product
through the use of test software, operating on a computing
system, which simulates actual user input and verifies the proper
operations of the software product.

     In the field of automation testing, a number of patents
already exist, such as U.S Pat No.5781720 and U.S Pat No.

20020091968A1. Most of these patents focus on simulating user
events such as keyboard or mouse actions to drive application
under test. Generally, a said test harness configured to execute
test steps, and input is fed to the product. Also the output is
examined to determine if the product performs as expected.

     Prior art attempts to identify all possible paths for
achieving said coverage goals or exhausts inputs as many as
possible to test a system under test under all possible operating
conditions. Some software testers call them "data-driven" or
"keyword-driven" testing solutions. Test steps or user inputs
have already been identified in files or database before test.

     But a software product is not sure it bug free even if have
been tested by all paths and inputs. A real user's behavior is
freewheeling, a defect related to many factors. And it is hard to
discover defects which reside in comprehensive use cases or
workflows. Especially applications with complex GUI, the number
of possible operation/operation paths grows magical.

     Accordingly, it would be desirable to have the ability to
act as a genuine customer during test. In this disclosure, a new
method is introduced to simulate real production environment in

1

Page 2 of 3

automated software testing, by applying weighted random
distribution to state transition paths. All test steps and inputs
are generated at runtime in this invention.

Implementation

     This method of simulating real production environment in
automated software tests is base on "behavioral model" analysis
of software applications. In production environment, the runtime
behavior of software pro...