IP Library Patent Application 14695683
Patent Application
App. No. 14/695,683

AUTOMATED TEST GENERATION AND EXECUTION FOR TESTING A PROCESS TO CONTROL A COMPUTER SYSTEM

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 None
App. No.
14/695,683
Abstract

User interactions with a computing system are sensed and recorded. The recording represents a process for controlling a computer system. The computer system actions that are taken based upon the sensed user interactions are also recorded. The recording is parsed and a test for testing the recorded process is generated and automatically executed from the recording.

Claims (44)

1 . A computing system, comprising:

a parser component that receives a process representation input indicative of a process performed in an application and parses the process representation input to identify steps in the process and step information corresponding to the identified steps; and

a test code generator that automatically generates test code methods that automatically perform the identified steps, to perform the process, in the application, the test code generator further outputting the test code methods for testing the application.

2 . The computing system of claim 1 and further comprising:

a test store that stores the test code methods as an automated test for the process in the application.

3 . The computing system of claim 2 and further comprising:

a testing system that accesses the automated test for the process and runs the test code methods to test the process in the application to generate test results and that outputs the test results to a result store.

4 . The computing system of claim 1 and further comprising:

an import component that receives the process representation input, from a process recording system, as a process recording indicative of a recording of the process being performed in the application.

5 . The computing system of claim 1 wherein the step information in the process representation input includes a step sequence indicative of a sequence in which the identified steps are performed to perform the process and wherein the parser component parses the step information to identify the step sequence and wherein the test code generator generates the test code methods to perform the identified steps in the step sequence.

6 . The computing system of claim 5 wherein the identified steps include user interactions with the application and wherein the step information includes causation data indicative of actions performed by the application in response to a user interaction, and wherein the test code generator generates, for each given identified step, code execution statements to call a test application programming interface on user interface displays generated by the application during the given identified step.

7 . The computing system of claim 6 wherein the step information corresponding to a given identified step includes corresponding input data that is input during the corresponding identified step and wherein the test code generator generates the test code methods by converting the input data to variables.

8 . The computing system of claim 7 wherein the step information corresponding to the given identified step includes user annotations and wherein the test code generator generates the test code methods by converting the user annotations to comments in the test code methods.

9 . The computing system of claim 6 and further comprising:

a user interface component; and

a test configuration component that controls the user interface component to generate a configuration user interface display with a test configuration user input mechanism that is actuated to configure the test code methods.

10 . The computing system of claim 9 wherein the test configuration component controls the user interface component to generate the configuration user interface display with a step grouping user input mechanism that is actuated to group the test code methods for the identified steps into groups.

11 . The computing system of claim 10 wherein the test configuration component controls the user interface component to generate the configuration user interface display with a naming user input mechanism that is actuated to enter a name for the steps or groups.

12 . A computer implemented method, comprising:

receiving a process representation input indicative of a process performed in an application;

parsing the process representation input to identify steps in the process and step information corresponding to the identified steps;

automatically generating test code methods that automatically perform the identified steps, to perform the process, in the application; and

outputting the test code methods for testing the application.

13 . The computer implemented method of claim 12 and further comprising:

running the test code methods to test the process in the application to generate test results;

outputting the test results to a result store.

14 . The computer implemented method of claim 12 wherein the step information in the process representation input includes a step sequence indicative of a sequence in which the identified steps are performed to perform the process and wherein parsing the process representation comprises:

parsing the step information to identify the step sequence and wherein automatically generating test code methods comprises generating the test code methods to perform the identified steps in the step sequence.

15 . The computer implemented method of claim 14 wherein the identified steps include user interactions with the application and wherein the step information includes causation data indicative of actions performed by the application in response to a user interaction, and wherein generating the test code comprises:

generating, for each given identified step, code execution statements to call a test application programming interface on user interface displays generated by the application during the given identified step.

16 . The computer implemented method of claim 15 wherein the step information corresponding to a given identified step includes corresponding input data that is input during the corresponding identified step and wherein generating the test code comprises:

generating the test code methods by converting the input data to variables.

17 . The computer implemented method of claim 16 and further comprising:

controlling the user interface component to generate a step grouping user interface display with a step grouping user input mechanism;

detecting user actuation of the step grouping user input mechanism; and

in response, grouping the test code methods for the identified steps into groups.

18 . A computing system, comprising:

a parser component that receives a process recording input indicative of a recording of a process performed in an application and parses the process recording input to identify steps in the process and step information corresponding to the identified steps;

a test code generator that automatically generates test code methods that automatically perform the identified steps, to perform the process, in the application, the test code generator further outputting the test code methods for testing the application; and

a testing system that accesses the test code methods for the process and runs the test code methods to test the process in the application, to generate test results, and that outputs the test results to a result store.

19 . The computing system of claim 18 wherein the identified steps include user interactions with the application and wherein the step information includes causation data indicative of actions performed by the application in response to a user interaction, and a step sequence indicative of a sequence in which the identified steps are performed to perform the process and wherein the parser component parses the step information to identify the step sequence and wherein the test code generator generates the test code methods to perform the identified steps in the step sequence and, for each given identified step, code execution statements to call a test application programming interface on user interface displays generated by the application during the given identified step.

20 . The computing system of claim 19 wherein the step information corresponding to a given identified step includes corresponding input data that is input during the corresponding identified step and wherein the test code generator generates the test code methods by converting the input data to variables, and further comprising:

a user interface component; and

a test configuration component that controls the user interface component to generate a configuration user interface display with a test configuration user input mechanism that is actuated to configure the test code methods.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: SHABAZZ, SHARRIEF; BONDARENKO, MAKSYM; PRODAN, ALEXANDRU; GHOSH, DIPANJAN; YANG, YANG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 035491/0606 →