IP Library Granted Patent US 8,522,214
Granted Patent B2
US 8,522,214 · App. 11/749,609 · Granted Aug 27, 2013

Keyword based software testing system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,522,214
App. No.
11/749,609
Granted
Aug 27, 2013
Kind
B2
Abstract

An improved software testing system is described. In various embodiments, the improved software testing system receives a set of keywords identifying logic of a software application that is to be tested, associates each keyword of the set of keywords with a test component that exercises a function of the software application to be tested; derives a model of a behavior of the software application to be tested, and tests the software application based on the keyword and the derived model.

Claims (63)

1. A system for testing software, comprising:

a test platform having hardware and software that test a software application;

a glossary component containing information associated with the software application, wherein the information associated with the software application includes keywords and a first desired state and a second desired state of the software application associated with each of the keywords, and wherein a model of the software application's behavior is derived utilizing the first and second desired states of the software application; and

a test script referencing one or more of the keywords from the glossary component,

wherein the software of the test platform comprises instructions translatable by the hardware of the test platform to perform:

retrieving the test script,

identifying a keyword referenced by the test script,

performing a step in the test script relating to the identified keyword, wherein performing the step causes the software application to move from a first state to a second state, and

verifying, via the model of the software application's behavior, whether the first and second states correspond to the first and second desired states of the software application.

2. The system of claim 1 , further comprising:

a persona identifying an indication of how frequently the test script is to be executed.

3. The system of claim 1 , further comprising:

a keyword engine that associates keywords with test components, wherein the test components contain instructions for causing the software application to move from the first state to the second state.

4. A method for testing software, comprising:

at a software testing system running on one or more computing devices, receiving program state information containing a first program state and a second program state, wherein the first and second program states are associated with a software application;

identifying a keyword that causes the software application to move from the first program state to the second program state;

storing the keyword in a glossary, wherein the glossary contains information associated with the software application, and wherein the information associated with the software application includes keywords and program states associated with each of the keywords;

producing a model of the software application's behavior, wherein the model of the software application's behavior specifies the first and second program states;

verifying, via the model of the software application's behavior, whether an action corresponding to the keyword causes the software application to move from the first program state to the second program state;

automatically generating a test script based on the keyword and the model of the software application's behavior; and

executing the generated test script.

5. The method of claim 4 , further comprising:

selecting a keyword based on a weight specified in the glossary.

6. The method of claim 4 , further comprising:

providing a set of keywords based on a current expected state of the software application;

receiving a keyword selection; and

storing a step in the generated test script corresponding to the received keyword selection.

7. The method of claim 4 , further comprising:

providing a set of keywords based on a current expected state of the software application;

receiving a keyword selection;

determining whether the selected keyword requires a parameter;

receiving the parameter; and

storing a step in the generated test script corresponding to the received keyword selection, wherein the step that is stored in the generated test script specifies the parameter required by the selected keyword.

8. The method of claim 4 , further comprising:

providing a set of keywords based on a current expected state of the software application;

receiving a keyword selection;

storing a step in the generated test script corresponding to the received keyword selection; and

logging the step and a result of the step in a log.

9. The method of claim 4 , further comprising:

providing a set of keywords based on a current expected state of the software application;

receiving a keyword selection;

determining whether the selected keyword requires a parameter;

receiving the parameter;

storing a step in the generated test script corresponding to the received keyword selection, wherein the step that is stored in the generated test script specifies the parameter required by the selected keyword; and

logging the step and a result of the step in a log.

10. A non-transitory computer-readable medium storing computer-executable instructions that, when executed, cause a computer system to perform a method for testing software, the method comprising:

at the computer system, receiving a set of keywords identifying logic of a software application;

storing the set of keywords in a glossary, wherein the glossary contains information associated with the software application, and wherein the information associated with the software application includes the set of keywords and start states and end states associated with each keyword of the set of keywords;

associating each keyword of the set of keywords with a test component that exercises a function of the software application;

deriving a model of a behavior of the software application, wherein the model of the behavior of the software application indicates, for each keyword of the set of keywords, a start state and an end state of the software application;

verifying, via the derived model of the behavior of the software application, whether an action corresponding to one or more keywords of the set of keywords causes the software application to move from the start state to the end state;

generating a test script based on the derived model of the behavior of the software application; and

executing the generated test script.

11. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

executing the generated test script in a specified frequency.

12. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

generating at least two test scripts based on the derived model of the behavior of the software application;

randomly selecting one of the at least two generated test scripts; and

executing the randomly selected one of the at least two generated test scripts.

13. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

generating at least two test scripts based on the derived model of the behavior of the software application;

randomly selecting one of the at least two generated test scripts using a specified frequency; and

executing the randomly selected one of the at least two generated test scripts.

Assignments (8)
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2011
From: OPEN TEXT INC.
To: OPEN TEXT S.A.
Reel/Frame 027292/0666 →
MERGER Recorded Feb 16, 2010
From: CAPTARIS, INC.
To: OPEN TEXT INC.
Reel/Frame 023942/0697 →
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2008
From: WELLS FARGO FOOTHILL, LLC, AS AGENT
To: CAPTARIS, INC.
Reel/Frame 021849/0895 →
SECURITY AGREEMENT Recorded Jan 15, 2008
From: CAPTARIS, INC.
To: WELLS FARGO FOOTHILL, LLC, AS AGENT
Reel/Frame 020362/0679 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2007
From: ROTH, RICK R.
To: CAPTARIS, INC.
Reel/Frame 019618/0189 →