Model-based testing using branches, decisions, and options
First Claim
Patent Images
1. A method for testing a software program, comprising:
- creating a behavioral model for the software program using branches, decisions, and options, each decision being associated with a corresponding branch and each option being associated with a corresponding decision, wherein the behavioral model comprises one or more attachments, each attachment linking an option of a branch to another branch;
displaying the behavioral model in a graphical user interface (GUI), wherein in the displayed behavioral model, each branch is represented using a table, each decision is represented using a row of the table, the row comprising a set of boxes, each box representing an option for the corresponding decision, and wherein each attachment between an option of a branch and another branch is represented using an arrow;
constructing one or more paths in the behavioral model, wherein each path comprises options from one or more corresponding decisions of one or more branches and attachments between the options in the path and other branches of the behavioral model;
generating a test case from the behavioral model, wherein the test case traverses a path in the behavioral model;
executing the test case on the software program; and
analyzing an output of the executed test case to determine a validity of the software program.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments of the present invention provide a system that tests a software program. During operation, the system creates a behavioral model of the software program using branches, decisions, and options. Next, the system generates a test case from the behavioral model and executes the test case on the software program. Finally, the system analyzes an output of the executed test case to determine a validity of the software program.
-
Citations
18 Claims
-
1. A method for testing a software program, comprising:
-
creating a behavioral model for the software program using branches, decisions, and options, each decision being associated with a corresponding branch and each option being associated with a corresponding decision, wherein the behavioral model comprises one or more attachments, each attachment linking an option of a branch to another branch; displaying the behavioral model in a graphical user interface (GUI), wherein in the displayed behavioral model, each branch is represented using a table, each decision is represented using a row of the table, the row comprising a set of boxes, each box representing an option for the corresponding decision, and wherein each attachment between an option of a branch and another branch is represented using an arrow; constructing one or more paths in the behavioral model, wherein each path comprises options from one or more corresponding decisions of one or more branches and attachments between the options in the path and other branches of the behavioral model; generating a test case from the behavioral model, wherein the test case traverses a path in the behavioral model; executing the test case on the software program; and analyzing an output of the executed test case to determine a validity of the software program. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for testing a software program, comprising:
-
a processor; a graphical user interface (GUI); a model generator configured to create a behavioral model for the software program using branches, decisions, and options, each decision being associated with a corresponding branch and each option being associated with a corresponding decision, wherein the behavioral model comprises one or more attachments, each attachment linking an option of a branch to another branch; wherein the graphical user interface is configured to display the behavioral model, wherein in the displayed behavioral model, each branch is represented using a table, each decision is represented using a row of the table, the row comprising a set of boxes, each box representing an option for the corresponding decision, and wherein each attachment between an option of a branch and another branch is represented using an arrow; wherein the model generator is further configured to construct one or more paths in the behavioral model, wherein each path comprises options from one or more corresponding decisions of one or more branches and attachments between the options in the path and other branches of the behavioral model; a test generator configured to generate a test case from the behavioral model, wherein the test case traverses at least one path of the behavioral model; a test harness configured to execute the test case on the software program; and a test analyzer configured to analyze an output of the executed test case to determine a validity of the software program. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for testing a software program, the method comprising:
-
creating a behavioral model for the software program using branches, decisions, and options, each decision being associated with a corresponding branch and each option being associated with a corresponding decision, wherein the behavioral model comprises one or more attachments, each attachment linking an option of a branch to another branch; displaying the behavioral model in a graphical user interface (GUI), wherein in the displayed behavioral model, each branch is represented using a table, each decision is represented using a row of the table, the row comprising a set of boxes, each box representing an option for the corresponding decision, and wherein each attachment between an option of a branch and another branch is represented using an arrow; constructing one or more paths in the behavioral model, wherein each path comprises options from one or more corresponding decisions of one or more branches and attachments between the options in the path and other branches of the behavioral model; generating a test case from the behavioral model, wherein the test case traverses at least one path of the behavioral model; executing the test case on the software program; and analyzing an output of the executed test case to determine a validity of the software program. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification