IP Library Granted Patent US 10,204,034
Granted Patent B2
US 10,204,034 · App. 15/480,592 · Granted Feb 12, 2019

System and method for testing software applications in a software defined network

Inventors: Xiangwei Zeng (Somerset, NJ); Teh-Hsin Wu (Holmdel, NJ); Zhenzhen Wang (Holmdel, NJ)
Assignee: AT&T Intellectual Property I, L.P.
G06F11/3684G06F11/368G06F11/3664G06F11/3688
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 10,204,034
App. No.
15/480,592
Granted
Feb 12, 2019
Kind
B2
Abstract

A system, method and computer-readable medium for testing a service-based application identifies a set of use cases for the service-based application. Each use case in the set is mapped to a test case to generate a first set of test cases. Each of the test cases is refined to generate an updated set of test cases and the updated set of test cases is executed.

Claims (58)

1. A method of testing a service-based application comprising:

generating a service flow for the service-based application:

converting the service flow into a use case:

associating, with a test case generator the use case with a first set of executable test cases wherein each executable test case in the first set of executable test cases comprises an executable script:

transforming each of the test cases in the first set of test cases into an updated set of test cases with propositional statements that are abstracted from the service flow including service input and output conditions:

executing the updated test cases: and

evaluating the propositional statements to determine success or failure of each of the updated set of test cases;

wherein executing the updated set of test cases comprises applying a verification function to the updated set of test cases.

2. The method of claim 1 wherein associating the use case comprises:

determining conditional branches for the use case;

determining a service flow for each of the conditional branches;

determining input and output conditions for each of the conditional branches;

associating each of the conditional branches to one of the first set of executable test cases; and

determining propositional statements as verification logic for each test case based on input and relating services.

3. The method of claim 1 wherein transforming each of the test cases comprises:

partitioning input data into Equivalence Class Partitioning (ECP) so that input in an ECP results in a same output

generating a first subset of the updated set of test cases so that input in each of ECP's is at least covered by one test case; and

analyzing a Boundary Value of input data and generating a second subset of the updated set of test cases so that values that are at a boundary and just inside/outside of the boundary are covered by at least one test case.

4. The method of claim 1 further comprising performing a functional test for each of the tests cases in the updated set of test cases.

5. The method of claim 1 further comprising performing a load/stress test for each of the tests cases in the updated set of test cases.

6. The method of claim 1 further comprising performing a regression test for each of the test cases in the updated set of test cases.

7. A system for testing a service based application comprising: a computer system;

a test case generator associated with the computer system for generating executable test cases with propositional statements;

a test case interpreter for interpreting the propositional statements generated by the test case generator by checking a state of services under test;

a service specification acquisition module for acquiring all service specifications; and

a basic functions library associated with the computer system: and

a memory coupled to the computer system and configured to store program instructions executable by the computer system to:

generate a service flow for the service-based application:

convert the service flow into a use case;

associate, with the test case generator the use case with a first set of executable test case cases wherein each executable test case in the first set of executable test cases comprises an executable script; transform each of the test cases in the first set of test cases into an updated set of test cases with propositional statements that are abstracted from the service flow and service input and output conditions;

execute the updated set of test cases using the test case interpreter; and evaluate the propositional statements to determine success or failure of each of the updated set of test cases;

wherein executing the updated set of test cases comprises applying a verification function to the updated set of test cases.

8. The system of claim 7 further comprising a graphical user interface for entering use cases.

9. The system of claim 7 wherein the propositional statements are abstracted from service-flow and service input and output conditions.

10. The system of claim 7 wherein the test case interpreter performs lexical, syntactical and type check on the executable test cases.

11. The system of claim 7 further comprising a simulator module coupled to the test case interpreter and the basic functions library.

12. The system of claim 7 further comprising a test case library coupled to the test case interpreter.

13. The system of claim 7 further comprising a service object store coupled to the test case generator.

14. The Non-transitory computer readable medium comprising computer executable instructions embodied in a computer readable medium and when executed by a processor of a computer performs steps comprising:

generating a service flow for the service-based application:

converting the service flow into a use case:

associating, with a test case generator the use case in with a first set of executable test cases wherein each executable test case in the first set of executable test cases comprises an executable script:

transforming each of the test cases in the first set of test cases to generate into an updated set of test cases with propositional statements that are abstracted from the service flow including service input and output conditions:

executing the updated set of test cases: and

evaluating the propositional statements to determine success or failure of each of the updated set of test cases;

wherein executing the updated set of test cases comprises applying a verification function to the updated set of test cases.

15. The non-transitory computer readable medium of claim 14 wherein associating the use case comprises:

determining conditional branches for each use case;

determining a service flow for each of the conditional branches;

determining input and output conditions for each of the conditional branches;

associating each of the conditional branches to one of the first set of executable test cases; and

determining propositional statements as verification logic for each test case based on input and relating services.

16. The non-transitory computer readable medium of claim 14 wherein transforming each of the test cases comprises:

partitioning input data into Equivalence Class Partitioning (ECP) so that input in an ECP results in a same output

generating a first subset of the updated set of test cases so that input in each of ECP's is at least covered by one test case; and

analyzing a Boundary Value of input data and generating a second subset of the updated set of test cases so that values that are at a boundary and just inside/outside of the boundary are covered by at least one test case.

17. The non-transitory computer readable medium of claim 14 further comprising computer executable instructions embodied in a computer readable medium and when executed by a processor of a computer performs a further step of performing a functional test for the updated set of test cases.

18. The non-transitory computer readable medium of claim 14 further comprising computer executable instructions embodied in a computer readable medium and when executed by a processor of a computer performs a further step of performing a load/stress test for the updated set of test cases.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2018
From: WANG, ZHENZHEN
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 047084/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2017
From: ZENG, XIANGWEI; WU, TEH-HSIN
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 041883/0637 →
Continuity (1)
Related Publication 20180293156A1 · Oct 11, 2018