# US 8,543,984 B2 · Architecture for state driven testing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,984 B2
- Document ID: US8543984B2
- Status: Granted
- Kind: B2
- Application number: 12/890,547
- Filed: 2010-09-24
- Published: 2012-02-23
- Granted: 2013-09-24
- Earliest claimed: 2010-08-23
- Assignees: Micro Focus (US), Inc.
- Applicants: Ernst Ambichl; Dietmar Strasser
- Inventors: Ernst Ambichl; Dietmar Strasser
- Web page: https://patentgrep.com/patent/US8543984B2

## CPC

- G06F 11/3668: Testing of software
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3696: {Methods or tools to render software testable}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An architecture for a test script editor that can be used by anybody in the development team, including non-programmer business analyst testers. Software testers can generate test scripts for validating and verifying software without navigating all possible actions or keywords. The current application state is described with one or more test objects. Each test object has one or more associated test methods and each test method can describe one or more state transitions. Only test methods accessible through test objects in the current application state are displayed to the software tester. The current state changes only if the state transition described by the test method selected by the software tester indicates a change from the current state.

## Claims

### Claim 1

A system comprising:
a memory configured to store application states, test objects, test methods, and their relationships;
an action module configured to generate a subset of accessible test methods from a test object selection, the subset being determined by the relationship between the test methods, the test objects and the application states; and
a script generator module configured to generate a test script in response to a test method selection from the subset of accessible test methods.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a state machine module configured to modify an application state stack in response to the selection of test methods,
wherein the memory is further configured to maintain an application state stack.

### Claim 3 (depends on 2)

The system of claim 2, wherein each state in the state stack includes accessible test objects.

### Claim 4 (depends on 2)

The system of claim 2, wherein each test method is associated with state whereby a test method selection results in a potential state transition.

### Claim 5 (depends on 1)

The system of claim 1, further comprising an interface module that is configured to receive the test method selection.

### Claim 6 (depends on 1)

The system of claim 1, further comprising a verification module that is configured to ensure script integrity is maintained for any modifications to the test script.

### Claim 7 (depends on 6)

The system of claim 6, wherein the modifications to the test script can include appending an action to the end of the test script, inserting an action within the test script, deleting an action from the test script and altering an action within the test script.

### Claim 8

A system comprising:
a memory configured to store application states, test objects and test methods and their relationships; and
a verification module that is configured to check the integrity of a modification to the test script, the integrity being determined by the relationship between the test methods, the test objects and the application states; and
a script generator module configured to generate a test scripts.

### Claim 9 (depends on 8)

The system of claim 8, further comprising:
a state machine module configured to modify an application state stack in response to a selection of a test method,
wherein the memory is further configured to maintain an application state stack.

### Claim 10 (depends on 9)

The system of claim 9, wherein each state in the state stack includes accessible test objects.

### Claim 11 (depends on 9)

The system of claim 9, wherein each test method is associated with state whereby a test method selection results in a potential state transition.

### Claim 12 (depends on 8)

The system of claim 8, further comprising an interface module that is configured to receive the test method selection.

### Claim 13 (depends on 8)

The system of claim 8, wherein the modifications to the test script can include appending an action to the end of the test script, inserting an action within the test script, deleting an action from the test script and altering an action within the test script.

### Claim 14

A system comprising:
a memory configured to store application states, a state stack, test objects and test methods, wherein the application state includes a first set of test objects, the test methods can be associated with one or more state transitions, and each test method is associated with one test object;
a state machine module configured to modify an application state stack in response to a selection of a test method;
a verification module that is configured to check the integrity of a modification to the test script, the integrity being determined by the relationship between the test methods, the test objects and the application states; and
a script generator module configured to generate a test scripts.

### Claim 15 (depends on 14)

The system of claim 14, further comprising an action module configured to generate a subset of accessible test methods from a test object selection.
