IP Library Granted Patent US 10,606,737
Granted Patent B2
US 10,606,737 · App. 15/463,584 · Granted Mar 31, 2020

System and method for testing a resource constrained device

Inventors: Souvik Dutta (Kolkata, IN); Debasish Chanda (Maheshtala, IN); Swarup Mandal (Kolkata, IN)
Assignee: Wipro Limited
G06F11/3684G06F11/2294G06F11/3692
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,606,737
App. No.
15/463,584
Granted
Mar 31, 2020
Kind
B2
Abstract

The present disclosure relates to the field of device testing. In one embodiment, a method is provided for testing a resource constrained device. The method includes determining a test case for testing the resource constrained device, and accessing a test script corresponding to the test case. The test script includes a set of mutually independent primitive executables. The method further includes transmitting each of the set of primitive executables to the resource constrained device for execution, and receiving a result corresponding to the execution of the each of the set of primitive executables.

Claims (65)

1. A method for testing a resource constrained device, the method comprising:

determining, via a testing engine, a plurality of test cases for testing the resource constrained device;

accessing, via the testing engine, a plurality of test scripts corresponding to the plurality of test cases;

determining, via the testing engine, a set of mutually independent primitive executables for the plurality of test scripts corresponding to the plurality of test cases, by:

determining a plurality of steps of the plurality of test scripts; and

determining one or more primitive executables for each of the plurality of steps of the plurality of test scripts, wherein the one or more primitive executables for each of the plurality of steps of the plurality of test scripts correspond to one or more atomic operations of the resource constrained device;

determining, via the testing engine, a candidate test case from the plurality of test cases, wherein the candidate test case from the plurality of test cases is determined based on:

computing a test score for each of the plurality of test cases based on a plurality of script execution parameters for a corresponding test script, wherein each of the plurality of script execution parameters for the corresponding test script comprises at least one of an estimated time of execution, an estimated usage of one or more resources, and a coverage of one or more components of the resource constrained device; and

selecting the candidate test case from the plurality of test cases based on the computed test score for each of the plurality of test cases;

transmitting, via the testing engine, the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device for execution; and

receiving, via the testing engine, a result corresponding to the execution of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases.

2. The method of claim 1 , further comprising:

creating the one or more primitive executables for each of the plurality of steps of the plurality of test scripts; and

determining a plurality of executable execution parameters for each of the plurality of one or more primitive executables for each of the plurality of steps of the plurality of test scripts.

3. The method of claim 2 , wherein each of the plurality of executable execution parameters comprises at least one of a name of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts, a plurality of input parameters, a plurality of output parameters, an estimated time of execution, an estimated usage of one or more resources, and a coverage of one or more components of the resource constrained device.

4. The method of claim 1 , further comprising:

creating the plurality of test scripts corresponding to the plurality of test cases; and

determining the plurality of script execution parameters for each of the plurality of test scripts corresponding to the plurality of test cases.

5. The method of claim 1 , further comprising at least one of:

determining a dependency of each of the plurality of steps of the plurality of test scripts with respect to each of a plurality of preceding steps of the plurality of test scripts; and

determining a batch execution of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts.

6. The method of claim 1 , wherein determining the candidate test case from the plurality of test cases further comprises sequencing the candidate test case based on a highest test score.

7. The method of claim 1 , wherein transmitting the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device for execution comprises:

determining an availability of each of the one or more resources in the resource constrained device; and

transmitting the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device based on the availability of each of the one or more resources in the resource constrained device.

8. The method of claim 7 , wherein the availability of each of the one or more resources in the resource constrained device is determined at a periodic interval or at run time.

9. A system for testing a resource constrained device, the system comprising:

at least one processor; and

a non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

determining, via a testing engine, a plurality of test cases for testing the resource constrained device;

accessing, via the testing engine, a plurality of test scripts corresponding to the plurality of test cases;

determining, via the testing engine, a set of mutually independent primitive executables for the plurality of test scripts corresponding to the plurality of test cases, by:

determining a plurality of steps of the plurality of test scripts; and

determining one or more primitive executables for each of the plurality of steps of the plurality of test scripts, wherein the one or more primitive executables for each of the plurality of steps of the plurality of test scripts correspond to one or more atomic operations of the resource constrained device;

determining, via the testing engine, a candidate test case from the plurality of test cases, wherein the candidate test case from the plurality of test cases is determined based on:

computing a test score for each of the plurality of test cases based on a plurality of script execution parameters for a corresponding test script, wherein each of the plurality of script execution parameters for the corresponding test script comprises at least one of an estimated time of execution, an estimated usage of one or more resources, and a coverage of one or more components of the resource constrained device; and

selecting the candidate test case from the plurality of test cases based on the computed test score for each of the plurality of test cases;

transmitting, via the testing engine, the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device for execution; and

receiving, via the testing engine, a result corresponding to the execution of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases.

10. The system of claim 9 , wherein the operations further comprise:

creating the one or more primitive executables for each of the plurality of steps of the plurality of test scripts; and

determining a plurality of executable execution parameters for each of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts,

wherein each of the plurality of executable execution parameters comprises at least one of a name of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts, a plurality of input parameters, a plurality of output parameters, an estimated time of execution, an estimated usage of one or more resources, and a coverage of one or more components of the resource constrained device.

11. The system of claim 9 , wherein the operations further comprise:

creating the plurality of test scripts corresponding to the plurality of test cases; and

determining the plurality of script execution parameters for each of the plurality of test scripts corresponding to the plurality of test cases.

12. The system of claim 11 , wherein the operations further comprise at least one of:

determining a dependency of each of the plurality of steps of the plurality of test scripts with respect to each of a plurality of preceding steps of the plurality of test scripts; and

determining a batch execution of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts.

13. The system of claim 9 , wherein determining the candidate test case from the plurality of test cases further comprises sequencing the candidate test case based on a highest test score.

14. The system of claim 9 , wherein transmitting the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device for execution comprises:

determining an availability of each of the one or more resources in the resource constrained device; and

transmitting the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device based on the availability of each of the one or more resources in the resource constrained device.

15. The system of claim 14 , wherein the availability of each of the one or more resources in the resource constrained device is determined at a periodic interval or at run time.

16. A non-transitory computer-readable storage medium having stored thereon, a set of computer-executable instructions for causing a computer comprising one or more processors to perform steps comprising:

determining, via a testing engine, a plurality of test cases for testing a resource constrained device;

accessing, via the testing engine, a plurality of test scripts corresponding to the plurality of test cases;

determining, via the testing engine, a set of mutually independent primitive executables for the plurality of test scripts corresponding to the plurality of test cases, by:

determining a plurality of steps of the plurality of test scripts; and

determining one or more primitive executables for each of the plurality of steps of the plurality of test scripts, wherein the one or more primitive executables for each of the plurality of steps of the plurality of test scripts correspond to one or more atomic operations of the resource constrained device;

determining, via the testing engine, a candidate test case from the plurality of test cases, wherein the candidate test case from the plurality of test cases is determined based on:

computing a test score for each of the plurality of test cases based on a plurality of script execution parameters for a corresponding test script, wherein each of the plurality of script execution parameters for the corresponding test script comprises at least one of an estimated time of execution, an estimated usage of one or more resources, and a coverage of one or more components of the resource constrained device; and

selecting the candidate test case from the plurality of test cases based on the computed test score for each of the plurality of test cases;

transmitting, via the testing engine, the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases to the resource constrained device for execution; and

receiving, via the testing engine, a result corresponding to the execution of the one or more primitive executables for each of the plurality of steps of the plurality of test scripts corresponding to the candidate test case from the plurality of test cases.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2017
From: DUTTA, SOUVIK; CHANDA, DEBASISH; MANDAL, SWARUP
To: WIPRO LIMITED
Reel/Frame 041744/0979 →
Priority Claims (1)
IN 201741007241 · Mar 1, 2017 · national
Continuity (1)
Related Publication 20180253365A1 · Sep 6, 2018
Cited By (1)
US 12,417,166