IP Library Granted Patent US 9,164,859
Granted Patent B2
US 9,164,859 · App. 12/889,117 · Granted Oct 20, 2015

Computing device for enabling concurrent testing

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 9,164,859
App. No.
12/889,117
Granted
Oct 20, 2015
Kind
B2
Abstract

A method for enabling concurrent testing is described. The method includes generating a plurality of test objects on a computing device. The plurality of test objects is generated using derived classes that are based on a base test class and each of the plurality of test objects corresponds to a separate block in a Device Under Test (DUT). The method also includes adding the plurality of test objects to a queue and sending information based on the plurality of test objects to an Automated Test Equipment (ATE). The method also includes causing the ATE to concurrently test the separate blocks in the DUT using the plurality of test objects.

Claims (75)

1. A method for enabling concurrent testing, comprising:

generating a plurality of test objects on a computing device, wherein:

the plurality of test objects is generated using derived classes that are based on a base test class;

the plurality of test objects are sequenced to enable a dynamic selection, during at least a program run-time, of one or more tests; and

each of the plurality of test objects corresponds to a separate block in a Device Under Test (DUT);

adding, on the computing device, the plurality of test objects to a queue;

sending information based on the plurality of test objects to an Automated Test Equipment (ATE); and

causing the ATE to concurrently test the separate blocks in the DUT in parallel using the plurality of test objects in the queue.

2. The method of claim 1 , wherein causing the ATE to concurrently test comprises sending an instruction to begin concurrent testing.

3. The method of claim 1 , further comprising initializing an ATE instrument.

4. The method of claim 1 , further comprising determining a compatible execution mode for the plurality of test objects.

5. The method of claim 1 , further comprising performing testing cleanup.

6. The method of claim 1 , further comprising receiving test data.

7. The method of claim 1 , further comprising performing post-processing, comprising performing calculations using received test data.

8. The method of claim 1 , further comprising performing datalogging.

9. The method of claim 1 , further comprising disposing of the plurality of test objects.

10. The method of claim 1 , wherein the base test class includes initialization, cleanup, post-processing and datalogging functions that are implemented by the derived classes.

11. The method of claim 1 , further comprising executing each of the test objects using a separate thread.

12. The method of claim 1 , wherein the DUT comprises an object to be concurrently tested that comprises one of the group consisting of an integrated circuit and a group of integrated circuits.

13. The method of claim 1 , wherein the plurality of test objects is generated according to a user interface sequence.

14. The method of claim 1 , further comprising receiving test data using a background process.

15. The method of claim 1 , further comprising generating one or more analog sets for use in concurrent testing.

16. The method of claim 1 , further comprising generating one or more digital patterns for use in concurrent testing.

17. The method of claim 1 , wherein the separate blocks are concurrently tested using any of digital, mixed signal, Radio Frequency (RF) and Direct Current (DC) tests.

18. The method of claim 1 , wherein the queue is based on a queue class, wherein the queue class includes a function that controls execution of the test objects in the queue.

19. The method of claim 1 , wherein the test objects in the queue are serially executable without rewriting code.

20. A computing device for enabling concurrent testing, comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable to:

generate a plurality of test objects, wherein:

the plurality of test objects is generated using derived classes that are based on a base test class;

the plurality of test objects are sequenced to enable a dynamic selection, during at least a program run-time, of one or more tests; and

each of the plurality of test objects corresponds to a separate block in a Device Under Test (DUT);

add the plurality of test objects to a queue;

send information based on the plurality of test objects to an Automated Test Equipment (ATE); and

cause the ATE to concurrently test the separate blocks in parallel in the DUT using the plurality of test objects in the queue.

21. The computing device of claim 20 , wherein causing the ATE to concurrently test comprises using a function that causes execution of the plurality of test objects in the queue.

22. The computing device of claim 20 , wherein the instructions are further executable to initialize an ATE instrument.

23. The computing device of claim 20 , wherein the instructions are further executable to determine a compatible execution mode for the plurality of test objects.

24. The computing device of claim 20 , wherein the instructions are further executable to perform testing cleanup.

25. The computing device of claim 20 , wherein the instructions are further executable to receive test data.

26. The computing device of claim 20 , wherein the instructions are further executable to perform post-processing, comprising performing calculations using received test data.

27. The computing device of claim 20 , wherein the instructions are further executable to perform datalogging.

28. The computing device of claim 20 , wherein the instructions are further executable to dispose of the plurality of test objects.

29. The computing device of claim 20 , wherein the base test class includes initialization, cleanup, post-processing and datalogging functions that are implemented by the derived classes.

30. The computing device of claim 20 , wherein the instructions are further executable to execute each of the test objects using a separate thread.

31. The computing device of claim 20 , wherein the DUT comprises an object to be concurrently tested that comprises one of the group consisting of an integrated circuit and a group of integrated circuits.

32. The computing device of claim 20 , wherein the plurality of test objects is generated according to a user interface sequence.

33. The computing device of claim 20 , wherein the instructions are further executable to receive test data using a background process.

34. The computing device of claim 20 , wherein the instructions are further executable to generate one or more analog sets for use in concurrent testing.

35. The computing device of claim 20 , wherein the instructions are further executable to generate one or more digital patterns for use in concurrent testing.

36. The computing device of claim 20 , wherein the separate blocks are concurrently tested using any of digital, mixed signal, Radio Frequency (RF) and Direct Current (DC) tests.

37. The computing device of claim 20 , wherein the queue is based on a queue class, wherein the queue class includes a function that controls execution of the test objects in the queue.

38. The computing device of claim 20 , wherein the test objects in the queue are serially executable without rewriting code.

39. A computer-program product for enabling concurrent testing comprising a non-transitory tangible computer-readable medium having instructions thereon, the instructions comprising:

code for causing a computing device to generate a plurality of test objects, wherein:

the plurality of test objects is generated using derived classes that are based on a base test class;

the plurality of test objects are sequenced to enable a dynamic selection, during at least a program run-time, of one or more tests; and

each of the plurality of test objects corresponds to a separate block in a Device Under Test (DUT);

code for causing the computing device to add the plurality of test objects to a queue;

code for causing the computing device to send information based on the plurality of test objects to an Automated Test Equipment (ATE); and

code for causing the computing device to cause the ATE to concurrently test the separate blocks in the DUT in parallel using the plurality of test objects in the queue.

40. The computer-program product of claim 39 , wherein the base test class includes initialization, cleanup, post-processing and datalogging functions that are implemented by the derived classes.

41. The computer-program product of claim 39 , wherein the queue is based on a queue class.

42. An apparatus for enabling concurrent testing, comprising:

means for generating a plurality of test objects, wherein:

the plurality of test objects is generated using derived classes that are based on a base test class;

the plurality of test objects are sequenced to enable a dynamic selection, during at least a program run-time, of one or more tests; and

each of the plurality of test objects corresponds to a separate block in a Device Under Test (DUT);

means for adding the plurality of test objects to a queue;

means for sending information based on the plurality of test objects to an Automated Test Equipment (ATE); and

means for causing the ATE to concurrently test the separate blocks in the DUT in parallel using the plurality of test objects in the queue.

43. The apparatus of claim 42 , wherein the base test class includes initialization, cleanup, post-processing and datalogging functions that are implemented by the derived classes.

44. The apparatus of claim 42 , wherein the queue is based on a queue class.

Assignments (6)
CHANGE OF ADDRESS Recorded Dec 18, 2018
From: ADVANTEST CORPORATION
To: ADVANTEST CORPORATION
Reel/Frame 047987/0626 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 035375 FRAME: 0233. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 14, 2015
From: ADVANTEST (SINGAPORE) PTE. LTD.
To: ADVANTEST CORPORATION
Reel/Frame 035444/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2015
From: ADVANTEST (SINGAPORE) PTE. LTD.
To: ADVANTEST CORPORATION
Reel/Frame 035375/0233 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF SECOND INVENTOR PREVIOUSLY RECORDED AT REEL: 025998 FRAME: 0658. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 28, 2014
From: RIVERA TREVINO, GUSTAVO JAVIER; BACK, MICHAEL G; JONES, KELLY
To: QUALCOMM INCORPORATED; VERIGY (SINGAPORE) PTE. LTD.
Reel/Frame 033429/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2012
From: VERIGY (SINGAPORE) PTE LTD
To: ADVANTEST (SINGAPORE) PTE LTD
Reel/Frame 027896/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2011
From: RIVERA TREVINO, GUSTAVO JAVIER; TREVINO, MICHAEL G; JONES, KELLY
To: QUALCOMM INCORPORATED; VERIGY (SINGAPORE) PTE. LTD.
Reel/Frame 025998/0658 →