IP Library Granted Patent US 8,645,912
Granted Patent B2
US 8,645,912 · App. 12/872,336 · Granted Feb 4, 2014

System and method for use in replaying software application events

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,645,912
App. No.
12/872,336
Granted
Feb 4, 2014
Kind
B2
Abstract

A method for use in replaying actions performed by a user of a software application. An input signal indicating an action performed by the user is received from a user input interface. Computer-executable instructions corresponding to the input signal are executed by a processor. An input event associated with the human-readable statements is stored in a memory device. Application object code corresponding to the human-readable statements may later be executed to replay the input event. In addition, an application state representing one or more variables of the software application may be stored.

Claims (51)

1. A system for use in replaying events initiated by a user of a software application, said system comprising:

a memory device configured to store a plurality of computer-executable instructions;

a user input interface configured to produce an input signal based on an action performed by the user; and

a processor coupled in communication with the memory device and the user input interface, said processor programmed to:

execute one or more computer-executable instructions of the plurality of computer-executable instructions, wherein the one or more computer-executable instructions correspond to the input signal and to one or more human-readable statements;

store, in said memory device, an input event associated with the one or more human-readable statements, wherein the input event is operable to replay the action performed by the user;

generate test code including at least one assertion statement that, when executed, tests that at least one of a condition, a value, and an output is equal to at least one of an expected condition, an expected value, and an expected output; and

execute the at least one assertion statement.

2. A system according to claim 1 , wherein said processor is further programmed to generate application source code including one or more human-readable statements based on the stored input events.

3. A system according to claim 1 , wherein said processor is further programmed to:

generate computer-executable instructions based on the input event; and

execute the generated computer-executable instructions to replay the action performed by the user.

4. A system according to claim 1 , wherein said

processor is further programmed to generate test code including at least one assertion statement by additionally receiving user input specifying the at least one of a condition, a value, and an output to test, and the at least one of a predefined condition, a predefine value, and a predefined output.

5. A system according to claim 1 , wherein said memory device is further configured to store a defect report associated with the assertion statement.

6. A system according to claim 1 , wherein said memory device is further configured to store an application state representing one or more variables of the software application prior to execution of the computer-executable instructions corresponding to the input signal.

7. A system according to claim 6 , wherein said processor is further programmed to:

generate computer-executable instructions based on the input event;

execute an instance of the software application;

apply the stored application state to the instance of the software application; and

execute the generated computer-executable instructions to replay the action performed by the user.

8. A system according to claim 1 , wherein said processor is further programmed to associate the input event with at least one of the action performed by the user and the input signal.

9. A system according to claim 1 , further comprising a presentation interface configured to present a prompt to the user, wherein the input signal produced by said input interface indicates a response to the prompt.

10. A system according to claim 1 , wherein the user input interface is further configured to produce a plurality of input signals based on a plurality of actions performed by the user, and the processor is further programmed to:

execute one or more computer-executable instructions corresponding to the input signal and to one or more human-readable statements for each input signal of the plurality of input signals; and

store in the memory device an input event associated with the one or more human-readable statements for each input signal of the plurality of input signals.

11. A method for use in replaying actions performed by a user of a software application, said method comprising:

receiving from a user input interface an input signal indicating an action performed by the user;

executing by a processor one or more computer-executable instructions corresponding to the input signal;

storing in a memory device an input event associated with the one or more human-readable statements, wherein the input event is operable to replay the action performed by the user;

storing in the memory device an application state representing one or more variables of the software application prior to execution of the computer-executable instructions corresponding to the input signal;

generating, by the processor, test code including at least one assertion statement that, when executed, tests that at least one of a condition, a value, and an output is equal to at least one of an expected condition, an expected value, and an expected output; and

executing, by the processor, the at least one assertion statement.

12. A method according to claim 11 , further comprising:

executing an instance of the software application;

applying the stored application state to the instance of the software application; and

replaying the action performed by the user based on the stored input event.

13. A method according to claim 12 , wherein storing the input event associated with the one or more human-readable statements comprises generating source code invoking the human-readable statements, and replaying the action comprises executing object code generated based on the generated source code.

14. A method according to claim 12 , further comprising demonstrating an operation of the software application by replaying the action performed by the user.

15. A method according to claim 14 , further comprising, prior to replaying the action, presenting an explanation of the action.

16. A method according to claim 14 , further comprising emphasizing a user interface element associated with the input event.

17. A method according to claim 11 , wherein:

generating, by the processor, test code including at least one assertion statement further comprises receiving user input specifying the at least one of a condition, a value, and an output to test, and the at least one of a predefined condition, a predefine value, and a predefined output.

18. A method according to claim 11 , further comprising storing in the memory device a plurality of input events indicating a plurality of actions performed by the user, wherein each input event of the plurality of input events is associated with one or more human-readable statements.

19. A method according to claim 11 , wherein storing an input event comprises storing a location within a graphical user interface at which a user interface element was engaged by the user.

20. One or more computer-readable storage media having computer-executable instructions embodied thereon, wherein when executed by at least one processor, the computer-executable instructions cause the at least one processor to:

receive an input signal indicating an action performed by the user;

execute one or more computer-executable instructions corresponding to the input signal and to one or more human-readable statements;

store an input event associated with the one or more human-readable statements, wherein the input event is operable to replay the action performed by the user;

generate test code including at least one assertion statement that, when executed, tests that at least one of a condition, a value, and an output is equal to at least one of an expected condition, an expected value, and an expected output; and

execute the at least one assertion statement.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2010
From: WELCHMAN, DAN; ROBINSON, PHILLIP JAMES
To: GENERAL ELECTRIC COMPANY
Reel/Frame 024917/0289 →