Universal device testing interface

Information

  • Patent Grant
  • 10122611
  • Patent Number
    10,122,611
  • Date Filed
    Friday, September 25, 2015
    9 years ago
  • Date Issued
    Tuesday, November 6, 2018
    6 years ago
Abstract
An operator dashboard (user interface) used for testing disparate devices simultaneously and independently and further capable of asynchronous communication is disclosed.
Description
CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to patent application Ser. No. 14/866,630 entitled, “Universal Device Testing System,” filed Sep. 25, 2015 and published Mar. 30, 2017 as U.S. Patent Application Publication No. 2017/0093682, and to patent application Ser. No. 14/866,720 entitled, “Core Testing Machine,” filed Sep. 25, 2015, now U.S. Pat. No. 9,810,735, and to patent application Ser. No. 14/866,780 entitled, “Set Top Boxes Under Test,” filed Sep. 25, 2015, now U.S. Pat. No. 9,491,454, each of which is hereby incorporated by reference in its entirety. This application is also related to patent application Ser. No. 14/948,143 entitled, “Cable Modems/eMTAs Under Test,” filed Nov. 20, 2015 and published May 25, 2017 as U.S. Patent Application Publication No. 2017/0149635, and to patent application Ser. No. 14/948,925 entitled, “Wireless Routers Under Test,” filed Nov. 23, 2015, now U.S. Pat. No. 9,838,295, and to patent application Ser. No. 14/929,180 entitled, “Hardware Architecture for Universal Testing System: Cable Modem Test,” filed Oct. 30, 2015 and published May 4, 2017 as U.S. Patent Application Publication No. 2017/0126536, and to patent application Ser. No. 14/929,220 entitled, “Hardware Architecture for Universal Testing System: Wireless Router Test,” filed Oct. 30, 2015 and published May 4, 2017 as U.S. Patent Application Publication No. 2017/0126537, and to patent application Ser. No. 14/987,538 entitled, “Test Sequences Using Universal Testing System”, filed Jan. 4, 2016 and published Jul. 6, 2017 as U.S. Patent Application Publication No. 2017/0195071.


TECHNICAL FIELD

The present invention is directed to a system for testing devices.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a high-level operator dashboard for interacting with the core testing execution environment, according to certain embodiments.



FIG. 2 illustrates some components of a sample I-Frame, according to certain embodiments.



FIG. 3 illustrates a sample architecture showing bi-directional asynchronous communication between the operator dashboard, web-socket layer and core test execution machine, according to certain embodiments.



FIG. 4 illustrates a sample server side Node.Js layer, according to certain embodiments.





DETAILED DESCRIPTION

Methods, systems, user interfaces, and other aspects of the invention are described. Reference will be made to certain embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the embodiments, it will be understood that it is not intended to limit the invention to these particular embodiments alone. On the contrary, the invention is intended to cover alternatives, modifications and equivalents that are within the spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.


Moreover, in the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these particular details. In other instances, methods, procedures, components, and networks that are well known to those of ordinary skill in the art are not described in detail to avoid obscuring aspects of the present invention.


According to certain embodiments, a testing system provides a separate set of interfaces to be tested for each device that is under testing of the set of devices. Further, such a system is designed to be adaptive by being extendable for testing new devices with corresponding new testing interfaces without fundamentally changing the core architecture of the testing system. As a non-limiting example, the testing system includes a core testing subsystem with a user interface and asynchronous communication among the system components such that new types of devices and new tests can be added and executed in a seamless fashion. According to certain embodiments, the testing system is capable of testing a set of similar types of devices or a set of disparate devices, wherein the plurality of devices are tested simultaneously by the testing system.



FIG. 1 illustrates a high-level operator dashboard for interacting with the core testing execution environment, according to certain embodiments. FIG. 1 shows an operator dashboard 102 (user interface) that is capable of asynchronous communication with a core testing subsystem associated with testing a plurality of devices simultaneously. Operator dashboard 102 includes a plurality of I-Frames 104a-p in HTML (inline frames). The HTML inline frame element represents a nested browsing context, effectively embedding another HTML page into the current page.


The embodiments are not restricted to the number of I-Frames shown in FIG. 1. The number of I-Frames may vary from implementation to implementation. Each I-Frame corresponds to a slot in the test bench for testing the devices. A device that is to be tested (device under test or DUT) is installed in a slot in the test bench. According to certain embodiments, different types of devices can be installed in the slots in the test bench for simultaneous testing. In other words, the slots in the test bench are not restricted to testing same types of devices. Disparate devices can be tested simultaneously in the test bench. The respective tests associated with each slot do not interfere with tests running in other slots in the test bench. Non-limiting examples of devices under test (DUTs) include set top boxes, cable modems, embedded multimedia terminal adapters, and wireless routers including broadband wireless routers for the home or for commercial networks.


According to certain embodiments, operator dashboard 102 may be implemented as a neutral platform such as a web-based browser. Such a web-based browser type of operator dashboard can offer flexible access to a user that is at the same location as the test bench or from a laptop, mobile phone, tablet, etc., that is remote from the test bench.


According to certain embodiments, the HTML based I-Frames in operator dashboard 102 allow a user to send commands and interact with the core testing execution machine with respect to each DUT and independently of other DUTs installed in the test bench such that the user can run tests for all the installed DUTs simultaneously. Further, the user can control and monitor the tests for all the installed DUTs simultaneously using the I-Frames of operator dashboard 102. According to certain embodiments, the user can configure slot details (e.g., port numbers, IP address for the slot, etc), configure testing preferences such as push to cloud, export to billing, etc. The I-Frames provide the requisite isolation for executing the tests of each of the DUTs in the test bench simultaneously but independently of each other. In other words, the DUTS installed in the test bench can all be tested in parallel without conflicting with each other.



FIG. 2 illustrates some components of a sample I-Frame, according to certain embodiments. FIG. 2 shows an I-Frame 202 that includes HTML 204, Java script 206 and a client side web-socket IO 208. As described herein, each I-Frame in the operator dashboard (user interface) is mapped to one of the slots in the test bench which is completely different from the run-of-the-mill client-server (web) architecture. In the run-of-the-mill client-server (web) architecture, the user makes a request and a corresponding HTML output is served up to the user's browser. In contrast, the operator dashboard with a plurality of I-Frames, each of which is mapped to a DUT in the test bench, can provide real-time continuous feedback to the user for each DUT once the user initiates test execution for the DUTs. For example, the user can use a respective I-Frame to receive feedback such as testing progress and testing results associated with a specific DUT of the plurality of DUTs undergoing parallel testing on the test bench. The user can also interact with the core testing execution machine using the operator dashboard that includes a plurality of I-Frames. For example, the user/test operator might need to provide feedback to the core testing execution machine such as scanning in passwords, providing feedback on certain conditions associated with the test bench and/or core testing machine. As non-limiting examples, the feedback can include information needed for the testing procedure such as factory reset information, cage closed confirmation, Wi-Fi Protected Setup (WPS) LED confirmation, USB LED confirmation, LAN Coax LED confirmation, MocA WAN LED confirmation, etc. Thus, the user needs to be able to communicate asynchronously with various components of the device testing system. Such asynchronous communication is enabled by the operator dashboard with the plurality of I-Frames and associated web-sockets described in greater detail herein with respect to FIG. 3.


According to certain embodiments, the core testing machine comprises multiple slots (at the test bench) for installing a DUT in each slot. As a non-limiting example, each DUT in a respective slot is associated with its respective lightweight virtualization container (probes abstraction) and core testing executor/processor. For example, the core testing machine may comprise N core testing servers and each of the N core testing servers may be associated with M core testing executors/processors. According to certain embodiments, the core testing machine need not have every slot installed with a DUT in order to begin running the tests. The slots are used as needed. Further, the testing of a given DUT can start and finish independently of the other DUTs installed in the test bench of the core testing machine. According to certain embodiments, the use of DUT testing interfaces (probes) through software containers (virtualization containers) can avoid network conflicts while testing multiple DUTs simultaneously by the core testing machine.



FIG. 3 illustrates a sample architecture showing bi-directional asynchronous communication between the operator dashboard, web-socket layer and core test execution machine, according to certain embodiments. FIG. 3 shows operator dashboard 302 (user interface) including a plurality of I-Frames (304a-d, 310a-d, 316a-d, 322a-d), a plurality of web-sockets (306a-d, 312a-d, 318a-d, 324a-d), and a plurality of test execution environments (308a-d, 314a-d, 320a-d, 326a-d). According to certain embodiments, each I-Frame can communicate asynchronously with a corresponding test testing executor environment. The asynchronous communication can be achieved because the Javascript socket.io on the client side browser dashboard communicates bi-directionally with corresponding web socket (Socket.io) server-side implementation in node.Js. In other words, each I-Frame (304a-d, 310a-d, 316a-d, 322a-d) can bi-directionally interact with its corresponding web socket (306a-d, 312a-d, 318a-d, 324a-d) server-side implementation. Each web socket (306a-d, 312a-d, 318a-d, 324a-d) can in turn interact bi-directionally with its corresponding test execution environment (308a-d, 314a-d, 320a-d, 326a-d). According to certain embodiments, the communication between the I-Frames and the web socket (Socket.io) server-side uses TCP/IP protocol. According to certain embodiments, the communication between the web sockets (Socket.io) server-side implementation in node.Js and the corresponding testing executor environments uses TCP/IP protocol. In the event that the TCl/IP connection is lost, the I-Frame socket.io on the client side attempts to reconnect to the web socket server side and displays the status of the connection to the user, accordingly. According to certain embodiments, the core test execution environment maintains the current state of the device testing execution and upon communication reconnection, pushes the state information to the browser implemented I-Frames of the operator dashboard. The foregoing feature allows users to refresh or restart their browser at any time without resulting in loss-of-state. Such a feature also allows the user to stop or abort a given test for a corresponding DUT in the test bench. Such a feature further allows a user to monitor the progress of one or more tests simultaneously using different browser sessions. Such browser sessions can be opened on the same device or on different devices. According to certain embodiments, a browser that supports CSS (cascade style sheets), Javascript, JQuery (or other suitable cross-platform JavaScript library designed to simplify the client-side scripting of HTML), and client side socket.IO is used.



FIG. 4 illustrates a sample server side Node.Js layer, according to certain embodiments. FIG. 4 shows user interface middleware 400 that includes a server side Node.Js layer 402 and a socket-IO 404 (web socket layer). Socket-IO 404 is one implementation of the web socket protocol. As previously described, communication between the user interface and the core test execution environment is enabled through the web-socket layer. According to certain embodiments, such a web-socket layer can be implemented as a socket.io server hosted in node.js environment. Such a socket.io server is an event-driven server.


According to certain embodiments, the web socket layer can perform the following:

    • Enables real-time asynchronous bi-directional communication.
    • Provides real-time feedback to users on test execution results, etc., and prompts user for input required for the test execution.
    • Hides the core test execution environment from test clients.
    • Helps maintain the test execution state with the help of the core testing executor.


According to certain embodiments, it is possible to keep the web socket layer in the cloud such that the device testing can be executed remotely from anywhere. Probes test the following interfaces on the DUT (when such interfaces are available on the DUT):

    • Ethernet Local Area Network (LAN): assigned probe runs Ethernet-based connection tests
    • Ethernet Wide Area Network (WAN): assigned probe runs Ethernet-based connection tests
    • Multimedia over Coax Alliance (MoCA) LAN: assigned probe sets up MoCA connection, establishes connection, and runs MoCA-related connection tests
    • MoCA WAN: assigned probe sets up MoCA connection, establishes connection, and runs MoCA-related connection tests
    • Wireless 2.4 GHz: assigned probe sets up wireless connection, establishes connection, and runs WiFi-related connection tests on 2.4 GHz frequency
    • Wireless 5.0 GHz: assigned probe sets up wireless connection, establishes connection, and runs WiFi-related connection tests on 5.0 GHz frequency
    • Phone ports (FXS): assigned probe sets up phone service simulation, establishes connection, and runs phone-based connection tests
    • USB: assigned probe runs USB-functionality tests
    • Video: assigned probe runs video-related tests
    • Audio: assigned probe runs audio-related tests


According to certain embodiments, when executing a specific test for a given DUT, the core testing executor/processor loads and reads test configuration information (for example from an XML structure) and identifies the relevant test script that needs to be executed. Inputs that are needed for executing the relevant test script are retrieved and supplied as inputs to the relevant test script. The following is a non-limiting sample script.

  • Create DUT object & Environment Object
  • Verify Serial Number
  • Verify Warranty
  • Check Report Server
  • Check DUT Staging


Checks for DUT Serial number in Database or Webservice Get DUT Readiness Information


Checks Webservice for test readiness status of DUT in the test process Configure LXC Environment

  • Clear Environment Temp Files
  • Analyze DUT for Factory Reset


Checks ability to login to DUT


Asks operator to manually Factory Reset if unable to login Confirm Factory Reset (if needed)


Waits for operator to confirm that DUT was factory reset and booted up properly

  • Check Ethernet LAN connections to DUT


Ping connections: Eth LAN 1, 2, 3, 4


Fails if any ping to these connections fail Detect DUT


Checks connection to DUT through socket connection Reset Password


Operator scans password which is stored temporarily for use in the remainder of test until finished

  • Login to GUI


Done through web-scraping

  • Get DUT Information and compare values


Information retrieved through web-scraping

  • Enable Telnet


Enables telnet on DUT through web-scraping

  • Factory Reset


Factory resets DUT through telnet command

  • Enable Telnet after Factory Reset


Enables telnet on DUT through web-scraping

  • Confirm Power, WAN Ethernet, and Internet LEDs
  • Confirm all LAN Ethernet LEDs
  • Confirm WiFi LED
  • Configure Wireless Network


Through telnet commands


Sets N Mode


Enables Privacy


Sets WPA (Wi-Fi Protected Access)


Removes WEP (Wired Equivalent Privacy)


Assigns WiFi Channel to DUT (channel different by slot)


[Channel 1: slots 1, 4, 7, 10, 13, 16]


[Channel 6: slots 2, 5, 8, 11, 14]


[Channel 11: slots 3, 6, 9, 12, 15]


Verifies changes through GUI


Disables WiFi once done through telnet

  • Check Firmware Version and Upgrade Firmware (if needed)


Firmware version: 40.21.18

  • Cage Closed Confirmation Check


Asks Operator to Close Door on Cage

  • Connect Wireless Card


Waits on shared Resource Server (located on TC) for Resource L2 (Layer 2) Lock

    • Lock waiting timeout: 600 sec
    • All L2 Locks are able to run in parallel but not when any L3 (Layer 3) Lock is running


Obtains Lock


Enables WiFi through telnet


Set WiFi Card

    • Total Retries allowed: 6 (2 sets of 3 retries)


Ping WiFi from DUT


L2 ARP Test on WiFi: must receive 10/10 ARP packets

    • Total Retries allowed: 6 (2 sets of 3 retries)


If either Set WiFi Card or L2 ARP Test Fail after its 3 retries, Ask Operator to Check Antennas


Performs one more retry in full (set of 3 retries each for Set WiFi Card and L2 ARP Wifi Test) after Check Antennas


Disables WiFi through telnet


Releases Lock

  • Wireless to LAN Ethernet Speed Test


Waits on shared Resource Server (located on TC) for Resource L3 Lock

    • Lock waiting timeout: 1800 sec
    • L3 Locks must be run one at a time and when no L2 Lock is running


Obtains Lock


Enables WiFi through telnet


Connects WiFi Card


Iperf3 Speed Test, 5 seconds for UDP Speed Test, 7 seconds for TCP Speed Test, Sending 200 Mbps Bandwidth


Bandwidth must be greater than 60 Mbps on TCP (Reverse) or 70 Mbps on UDP (Forward)

    • If Fail after 2 retries, ask operator to Check Antennas
    • Retries up to 2 times more if still Fail
    • Therefore, Total Retries allowed: 4 (2 sets of 2 retries)


Runs sudo iwlist wlan0 scan and returns all Wireless Signals seen

    • Results parsed to print all visible SSIDs and its matching Signal level


Disables WiFi through telnet


Releases Lock

  • Confirm WPS LED
  • Confirm LAN Coax LED
  • Confirm USB 1+2 LEDs
  • Configure WAN MoCA
  • Confirm WAN Coax LED
  • Ping WAN MoCA
  • L2 Test on LAN Ethernet


Arp Test from Eth LAN 1 to Eth LAN 2, 3, 4


Must receive 10/10 on all LAN connections

  • LAN Ethernet to LAN Ethernet Speed Test


From Eth LAN 1 to Eth LAN 2, 3, 4


Iperf3 Speed Test, 5 seconds Reverse and Forward, Sending 1200 Mbps Bandwidth


Bandwidth must be greater than 700 Mbps


Total Retries allowed: 2

  • Check WAN and LAN MoCA Data Rates


Rx and Tx Data rates for both WAN and LAN MoCA retrieved through telnet


All Rates must be greater than 180 Mbps

  • LAN Ethernet to WAN MoCA FTP Speed Test


From Eth LAN 1 to WAN MoCA


Iperf3 Speed Test, 5 seconds Reverse and Forward, Sending 1200 Mbps Bandwidth


Bandwidth must be greater than 60 Mbps


Total Retries allowed: 2

  • LAN MoCA to LAN Ethernet FTP Speed Test


From Eth LAN 1 to LAN MoCA


Iperf3 Speed Test, 5 seconds Reverse and Forward, Sending 240 Mbps Bandwidth


Bandwidth must be greater than 60 Mbps


Total Retries allowed: 2

  • LAN MoCA to WAN MoCA FTP Speed Test


From LAN MoCA to WAN MoCA


Iperf3 Speed Test, 5 seconds Reverse and Forward, Sending 240 Mbps Bandwidth


Bandwidth must be greater than 60 Mbps


Total Retries allowed: 2

  • Enable WAN Ethernet


Through telnet command

  • LAN Ethernet to WAN Ethernet FTP Speed Test


From Eth LAN 1 to Eth WAN


Iperf3 Speed Test, 5 seconds Reverse and Forward, Sending 1200 Mbps Bandwidth


Bandwidth must be greater than 700 Mbps


Total Retries allowed: 2

  • Clear Persistent Logs
  • Final Factory Restore


According to certain embodiments, the core testing executor/processor uses a reflection and command design pattern to invoke the relevant configured script(s) corresponding to each DUT being tested. For example, in the command design pattern one or more of the following are encapsulated in an object: an object, method name, arguments. According to certain embodiments, the core testing executor/processor uses the Python “reflection” capability to execute the relevant test scripts for a given DUT. The core testing executor/processor is agnostic of the inner workings of the relevant test scripts for a given DUT.


According to certain embodiments, lightweight software containers are used to abstract the connection of probes to the different DUT interfaces in order to avoid conflicts. Non-limiting examples of virtualization containers are Linux containers. As a non-limiting example, Linux container (LXC) is an operating-system-level virtualization environment for running multiple isolated Linux systems (virtualization containers) on a single Linux control host. In other words, lightweight virtualization containers are used to ensure isolation across servers. By using virtualization containers, resources can be isolated, services restricted, and processes provisioned to have an almost completely private view of the operating system with their own process ID space, file system structure, and network interfaces. Multiple virtualization containers share the same kernel, but each virtualization container can be constrained to only use a defined amount of resources such as CPU, memory and I/O. The relevant test script might need to connect to the DUT interfaces directly or through the virtualization containers to execute the tests. The core testing executor/processor receives the test results from running the relevant test scripts. The core testing executor/processor can further process and interpret such results and can also send the results to the user's browser via web sockets. According to certain embodiments, the respective core testing executors/processors are in communication (e.g., Telnet/SSH secure shell) with the virtualization containers (there may be multiple virtualization containers). The virtualization containers (probes) are in communication with corresponding DUT interfaces using Telnet/SSH/TCP/UDP/HTTP/HTTPS, etc, as non-limiting examples.


According to certain embodiments, a user interface for a testing machine comprises:a plurality of I-Frames, wherein each I-Frame of at least a subset of the plurality of I-Frames is associated with a respective slot of a plurality of slots on the testing machine for installing, in the respective slot, a respective device under test (DUT) of a plurality of DUTs; and a plurality of client side web sockets associated with the plurality of I-Frames, wherein each client side web socket of at least a subset of the plurality of client side web sockets communicates with a corresponding web socket in a middleware web socket layer for achieving isolation and independent testing of each respective DUT from other respective DUTs of the plurality of DUTs.


According to certain embodiments, the middleware web socket layer enables real-time asynchronous communication between the user interface and a core testing environment of the testing machine.


According to certain embodiments, the middleware web socket layer enables real-time bi-directional communication between the user interface and a core testing environment of the testing machine.


According to certain embodiments, the client side web sockets communicate with the middleware web socket layer using TCP/IP communication.


According to certain embodiments, the middleware web socket layer communicates with a core testing environment of the testing machine using TCP/IP communication.


According to certain embodiments, the middleware web socket layer can be a cloud based implementation.


In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims
  • 1. A testing machine, comprising: a test bench having a plurality of test slots, each of the test slots configured to receive and connect to one device under test (DUT) of a plurality of devices under test (DUTs);at least one core testing processor connected to the plurality of test slots and configured to execute test scripts on at least one DUT of the plurality of DUTs;a user interface having a plurality of I-Frames, wherein: each I-Frame of at least a subset of the plurality of I-Frames is configured to communicate with a respective test slot of the plurality of test slots; anda plurality of client side web sockets associated with the plurality of I-Frames, wherein: each client side web socket of at least a subset of the plurality of client side web sockets communicates with a corresponding web socket in a middleware web socket layer for achieving isolation and independent testing of each respective DUT from other DUTs of the plurality of DUTs.
  • 2. The testing machine of claim 1, wherein the middleware websocket layer enables real-time asynchronous communication between the user interface and the at least one core testing processor.
  • 3. The testing machine of claim 1, wherein the middleware web socket layer enables real-time bi-directional communication between the user interface and the at least one core testing processor.
  • 4. The testing machine of claim 1, wherein the client side web sockets communicate with the middleware web socket layer using TCP/IP communication.
  • 5. The testing machine of claim 1, wherein the middleware web socket layer communicates with the at least one core testing processor using TCP/IP communication.
  • 6. The testing machine of claim 1, wherein the middleware web socket layer can be a cloud based implementation.
  • 7. A system for simultaneously testing a plurality of devices under test, comprising: a test bench having a plurality of test slots, each of the test slots configured to receive and connect to one device under test of a plurality of devices under test;at least one testing subsystem connected to the plurality of test slots and configured to execute test scripts on the plurality of devices under test; andan operator dashboard for providing information to and receiving input from a user and configured to communicate with the at least one testing subsystem, the operator dashboard including a plurality of frames where each frame of the plurality of frames is associated with one test slot of the plurality of test slots,whereineach frame of the plurality of frames is configured to communicate information regarding one test slot of the plurality of test slots independently and asynchronously of other frames and their respective test slots and enables the user to configure each test slot and interact with each device under test independently.
  • 8. The system of claim 7, wherein at least one frame of the plurality of frames is an HTML iframe.
  • 9. The system of claim 7, wherein each frame of the plurality of frames is configured to communicate with the testing subsystem via a web socket.
  • 10. The system of claim 7, wherein each test slot of the plurality of test slots comprises at least one probe configured to communicate with one device under test of the plurality of devices under test.
  • 11. The system of claim 10, wherein the at least one probe is selected from a group comprising Ethernet WAN, Ethernet LAN, MoCA WAN, MoCA LAN, Wi-Fi, USB, video, and audio.
  • 12. The system of claim 11, wherein each probe is associated with a virtualization container that abstracts a connection between the probe and one of the plurality of devices under test.
  • 13. The system of claim 7, wherein the at least one testing subsystem is further configured to identify test scripts relevant to each device under test of the plurality of devices under test and retrieve inputs required by the test scripts.
  • 14. The system of claim 7, wherein each frame of the plurality of frames is further configured to provide a user with real-time continuous feedback regarding its respective device under test.
  • 15. A test system for simultaneously testing a plurality of devices under test, comprising: a test bench having a plurality of test slots, each test slot of the plurality of test slots configured to receive and connect to one device under test of a plurality of devices under test; andan operator dashboard for providing information to and receiving input from a user, the operator dashboard including a plurality of frames where each frame of the plurality of frames is associated with one test slot of the plurality of test slots, whereineach frame is configured to communicate information regarding one test slot of the plurality of test slots independently and asynchronously of other frames and their respective test slots.
  • 16. The test system of claim 15, wherein the plurality of frames comprise HTML iframes.
  • 17. The test system of claim 15, wherein each frame of the plurality of frames is configured to communicate with a testing subsystem via a web socket.
  • 18. The test system of claim 15, wherein each test slot comprises at least one probe configured to communicate with one device under test of the plurality of devices under test.
  • 19. The test system of claim 18, wherein each probe of the plurality of probes is associated with a virtualization container that abstracts a connection between the probe and one device under test of the plurality of devices under test.
  • 20. The test system of claim 15, wherein each frame of the plurality of frames is further configured to provide a user with real-time continuous feedback regarding its respective device under test.
US Referenced Citations (147)
Number Name Date Kind
5005197 Parsons et al. Apr 1991 A
5897609 Choi et al. Apr 1999 A
5917808 Kosbab Jun 1999 A
6088582 Canora et al. Jul 2000 A
6308496 Lee Oct 2001 B1
6367032 Kasahara Apr 2002 B1
6662135 Burns Dec 2003 B1
6671160 Hayden Dec 2003 B2
6826512 Dara-Abrams et al. Nov 2004 B2
6859043 Ewing Feb 2005 B2
7254755 De Obaldia et al. Aug 2007 B2
7664317 Sowerby Feb 2010 B1
7809517 Zuckerman Oct 2010 B1
8121028 Schlesener Feb 2012 B1
8209732 Le et al. Jun 2012 B2
8229344 Petersen Jul 2012 B1
8324909 Oakes et al. Dec 2012 B2
8418000 Salame Apr 2013 B1
8418219 Parsons et al. Apr 2013 B1
8515015 Maffre Aug 2013 B2
8689071 Valakh Apr 2014 B2
8806400 Bhawmik Aug 2014 B1
9013307 Hussain Apr 2015 B2
9270983 Hare, Jr. Feb 2016 B1
9316714 Rada Apr 2016 B2
9319908 Nickel Apr 2016 B2
9372228 Nickel Jun 2016 B2
9402601 Berger Aug 2016 B1
9490920 Partee Nov 2016 B2
9491454 Kumar Nov 2016 B1
9571211 Partee Feb 2017 B2
9810735 Kumar et al. Nov 2017 B2
9838295 Kumar et al. Dec 2017 B2
9900113 Kumar et al. Feb 2018 B2
9900116 Kumar et al. Feb 2018 B2
9960989 Kumar et al. May 2018 B2
9992084 Kumar et al. Jun 2018 B2
20020070725 Hilliges Jun 2002 A1
20020077786 Vogel et al. Jun 2002 A1
20030005380 Nguyen Jan 2003 A1
20030184035 Yu Oct 2003 A1
20040010584 Peterson Jan 2004 A1
20040016708 Rafferty Jan 2004 A1
20040160226 Ewing Aug 2004 A1
20040189281 Le et al. Sep 2004 A1
20040203726 Wei Oct 2004 A1
20050041642 Robinson Feb 2005 A1
20050053008 Griesing Mar 2005 A1
20050102488 Bullis May 2005 A1
20050193294 Hildebrant Sep 2005 A1
20050286466 Tagg Dec 2005 A1
20060015785 Chun Jan 2006 A1
20060271322 Haggerty Nov 2006 A1
20070097659 Behrens May 2007 A1
20070220380 Ohanyan Sep 2007 A1
20080026748 Alexander et al. Jan 2008 A1
20080117907 Hein May 2008 A1
20080144293 Aksamit Jun 2008 A1
20080159737 Noble et al. Jul 2008 A1
20080168520 Vanderhoff Jul 2008 A1
20080274712 Rofougaran Nov 2008 A1
20080315898 Cannon Dec 2008 A1
20090059933 Huang Mar 2009 A1
20090089854 Le Apr 2009 A1
20090213738 Volpe et al. Aug 2009 A1
20090282446 Breed Nov 2009 A1
20090282455 Bell et al. Nov 2009 A1
20090289020 Wurmhoringer Nov 2009 A1
20100132000 Straub May 2010 A1
20100138823 Thornley Jun 2010 A1
20100246416 Sinha Sep 2010 A1
20110001833 Grinkemeyer Jan 2011 A1
20110006794 Sellathamby Jan 2011 A1
20110012632 Merrow Jan 2011 A1
20110035676 Tischer Feb 2011 A1
20110072306 Racey Mar 2011 A1
20110090075 Armitage et al. Apr 2011 A1
20110099424 Rivera Trevino Apr 2011 A1
20110107074 Chan et al. May 2011 A1
20110116419 Cholas May 2011 A1
20110222549 Connelly Sep 2011 A1
20110267782 Petrick Nov 2011 A1
20110306306 Reed Dec 2011 A1
20120140081 Clements Jan 2012 A1
20120122406 Gregg et al. May 2012 A1
20120163227 Kannan Jun 2012 A1
20120198084 Keskitalo Aug 2012 A1
20120198442 Kashyap Aug 2012 A1
20120213259 Renken et al. Aug 2012 A1
20120220240 Rothschild Aug 2012 A1
20120275784 Soto Nov 2012 A1
20120278826 Jones Nov 2012 A1
20130033279 Sozanski Feb 2013 A1
20130049794 Humphrey Feb 2013 A1
20130076217 Thompson Mar 2013 A1
20130093447 Nickel Apr 2013 A1
20130104158 Partee Apr 2013 A1
20130160064 Van Rozen Jun 2013 A1
20130167123 Dura Jun 2013 A1
20130257468 Mlinarsky Oct 2013 A1
20130305091 Stan et al. Nov 2013 A1
20140047322 Kim Feb 2014 A1
20140091874 Cook et al. Apr 2014 A1
20140115580 Kellerman Apr 2014 A1
20140123200 Park et al. May 2014 A1
20140126387 Gintis May 2014 A1
20140156819 Cavgalar Jun 2014 A1
20140187172 Partee Jul 2014 A1
20140187173 Partee Jul 2014 A1
20140207404 Fritzsche Jul 2014 A1
20140256373 Hernandez Sep 2014 A1
20140266930 Huynh Sep 2014 A1
20140269386 Chu Sep 2014 A1
20140269871 Huynh Sep 2014 A1
20140282783 Totten Sep 2014 A1
20140370821 Guterman Dec 2014 A1
20150024720 Efrati Jan 2015 A1
20150093987 Ouyang Apr 2015 A1
20150109941 Zhang Apr 2015 A1
20150151669 Meisner Jun 2015 A1
20150180743 Jana et al. Jun 2015 A1
20150226716 Nelson Aug 2015 A1
20150237010 Roskind Aug 2015 A1
20150253357 Olgaard Sep 2015 A1
20150288589 Radford et al. Oct 2015 A1
20150369851 Even Dec 2015 A1
20160080241 Rocha De Maria Mar 2016 A1
20160102951 Cole Apr 2016 A1
20160191364 Ajitomi Jun 2016 A1
20160381818 Mills Dec 2016 A1
20170048519 Friel Feb 2017 A1
20170089981 Kumar Mar 2017 A1
20170093682 Kumar Mar 2017 A1
20170126536 Kumar May 2017 A1
20170126537 Kumar May 2017 A1
20170126539 Tiwari May 2017 A1
20170149635 Kumar May 2017 A1
20170149645 Kumar May 2017 A1
20170195071 Kumar Jul 2017 A1
20170250762 Kumar et al. Aug 2017 A1
20170288791 Kumar et al. Oct 2017 A1
20170288993 Kumar et al. Oct 2017 A1
20170289012 Tiwari et al. Oct 2017 A1
20170302994 Kumar Oct 2017 A1
20180024193 Kumar et al. Jan 2018 A1
20180076908 Kumar et al. Mar 2018 A1
20180077046 Kumar et al. Mar 2018 A1
Foreign Referenced Citations (7)
Number Date Country
202261360 May 2012 CN
2001013604 Feb 2001 WO
2013169728 Nov 2013 WO
2014035462 Mar 2014 WO
2014065843 May 2014 WO
2017053961 Mar 2017 WO
2017074872 May 2017 WO
Non-Patent Literature Citations (66)
Entry
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/866,780, filed Sep. 25, 2015, dated Oct. 19, 2016, 1 pg.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/866,780, filed Sep. 25, 2015, dated Jul. 19, 2016, 8 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Jan. 23, 2017, 17 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Mar. 23, 2017, 12 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 15/057,085, filed Feb. 29, 2016, dated Apr. 7, 2017, 15 pgs.
Kumar, Samant; International Search Report and Written Opinion for PCT/US16/53768, filed Sep. 26, 2016, dated Feb. 3, 2017, 17 pgs.
Nordman, Bruce, “Testing Products with Network Connectivity,” Jun. 21, 2011 [retrieved online at http://citeseerx.is1. psu.edu/viewdoc/download?doi=10.1.1.695.772&rep=rep1&type=pdf on Feb. 6, 2017], 20 pgs.
Kumar, Samant; International Search Report and Written Opinion for PCT/US2016/058507, filed Oct. 24, 2016, dated Jan. 3, 2017, 12 pgs.
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Oct. 18, 2017, 1 pg.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/948,925, filed Nov. 23, 2015, dated Sep. 20, 2017, 15 pgs.
Kumar, Samant; Supplemental Notice of Allowance for U.S. Appl. No. 14/948,925, filed Nov. 23, 2015, dated Oct. 5, 2017, 2 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 15/057,085, filed Feb. 29, 2016, dated Sep. 29, 2017, 8 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/866,630, filed Sep. 25, 2015, dated Aug. 9, 2017, 24 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Jun. 29, 2017, 26 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Aug. 28, 2017, 11 pgs.
Kumar, Samant; Response to Rule 312 Communication for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Jul. 26, 2017, 2 pgs.
Kumar, Samant; Ex-Parte Quayle Office Action for U.S. Appl. No. 14/948,925, filed Nov. 23, 2015, dated Jun. 20, 2017, 29 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Jul. 21, 2017, 18 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 15/624,961, filed Jun. 16, 2017, dated Jul. 19, 2017, 7 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/929,180, filed Oct. 30, 2015, dated Aug. 22, 2017, 32 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/929,220, filed Oct. 30, 2015, dated Aug. 24, 2017, 31 pgs.
Businesswire; Article entitled: “GENBAND and CTDI Settle Legal Dispute”, located at <http://www.businesswire.com/news/home/20140321005528/en/GENBAND-CTDI-Settle-Legal-Dispute>, Mar. 21, 2014, 1 pg.
CED Magazine; Article entitled: “Cable Connects in Atlanta”, located at <https://www.cedmagazine.com/article/2006/04/cable-connects-atlanta>, Apr. 30, 2006, 21 pgs.
S3 Group; Document entitled: “White Paper: The Importance of Automated Testing in Set-Top Box Integration”, earliest known publication date Jun. 17, 2014, 11 pgs.
Digital Producer; Article entitled: “S3 Group Unveils Exclusive Partnership in North America With First US StormTest(TM) Decision Line Customer”, located at <http://www.digitalproducer.com/article/S3-Group-Unveils-Exclusive-Partnership-in-North-America-With-First-US-StormTest(TM)-Decision-Line-Customer--1668213>, Sep. 8, 2011, 3 pgs.
Electronic Design; Article entitled: “Testing of MPEG-2 Set-Top Boxes Must be Fast, Thorough”, located at <http://www.electronicdesign.com/print/839>, published Nov. 18, 2001, 9 pgs.
Euromedia; Article entitled: “Automated TV Client testing: Swisscom partners with S3 Group to deliver the ultimate IPTV experience”, located at <http://advanced-television.com/wp-content/uploads/2012/10/s3.pdf>, earliest known pub. date—May 30, 2013, 2 pgs.
Teleplan; Article entitled: “Screening & Testing”, located at <https://www.teleplan.com/innovative-services/screening-testing/>, earliest known publication date Mar. 21, 2015, 7 pgs.
Promptlink Communications; Article entitled: “Promptlink Communications Officially Launches Sep-Top Box Testing Platform”, located at <https://www.promptlink.com/company/assets/media/2014-05-20.pdf>, published on May 20, 2014, 2 pgs.
Tvtechnology; Article entitled: “S3 Group's StormTest”, located at <http://www.tvtechnology.com/expertise/0003/s3-groups-stormtest/256690>, published May 1, 2012, 2 pgs.
Kumar, Samant; Final Office Action for U.S. Appl. No. 15/642,915, filed Jul. 6, 2017, dated Apr. 5, 2018, 18 pgs.
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/866,630, filed Sep. 25, 2015, dated Apr. 11, 2018, 1 pg.
Kumar, Samant; Supplemental Notice of Allowance for U.S. Appl. No. 14/866,630, filed Sep. 25, 2015, dated Jan. 31, 2018, 9 pgs.
Kumar, Samant; Supplemental Notice of Allowance for U.S. Appl. No. 14/866,630, filed Sep. 25, 2015, dated Mar. 30, 2018, 6 pgs.
Kumar, Samant; Certificate of Correction for U.S. Appl. No. 14/866,720, filed Sep. 25, 2015, dated Feb. 13, 2018, 1 pg.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/948,143, filed Nov. 20, 2015, dated Jan. 25, 2018, 13 pgs.
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Jan. 31, 2018, 1 pg.
Kumar, Samant; Issue Notification for U.S. Appl. No. 15/057,085, filed Feb. 29, 2016, dated Jan. 31, 2018, 1 pg.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 15/642,915, filed Jul. 6, 2017, dated Nov. 1, 2017, 42 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/866,630, filed Sep. 25, 2015, dated Dec. 20, 2017, 19 pgs.
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/948,925, filed Nov. 23, 2015, dated Nov. 16, 2017, 1 pg.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 14/948,143, filed Nov. 20, 2015, dated Dec. 28, 2017, 39 pgs.
Kumar, Samant; Corrected Notice of Allowance for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Jan. 10, 2018, 8 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Dec. 4, 2017, 20 pgs.
Kumar, Samant; Response to Amendment under Rule 312 for U.S. Appl. No. 14/987,538, filed Jan. 4, 2016, dated Jan. 17, 2018, 2 pgs.
Kumar, Samant; Notice of Non-Compliant Amendment for U.S. Appl. No. 15/624,961, filed Jun. 16, 2017, dated Jan. 10, 2018, 5 pgs.
Kumar, Samant; Corrected Notice of Allowance for U.S. Appl. No. 15/057,085, filed Feb. 29, 2016, dated Oct. 31, 2017, 6 pgs.
Tiwari, Rajeev; Non-Final Office Action for U.S. Appl. No. 15/348,920, filed Nov. 10, 2016, dated Nov. 20, 2017, 53 pgs.
Tiwari, Rajeev; Non-Final Office Action for U.S. Appl. No. 15/624,967, filed Jun. 16, 2017, dated Nov. 7, 2017, 52 pgs.
Kumar, Samant; Issue Notification for U.S. Appl. No. 14/948,143, filed Nov. 20, 2015, dated May 16, 2018, 1 pg.
Kumar, Samant; Supplemental Notice of Allowance for U.S. Appl. No. 14/948,143, dated Nov. 20, 2015, dated May 7, 2018, 7 pgs.
Kumar, Samant; Notice of Allowance for U.S. Appl. No. 15/624,961, filed Jun. 16, 2017, dated May 22, 2018, 44 pgs.
Kumar, Samant; Final Office Action for U.S. Appl. No. 14/929,180, filed Oct. 30, 2015, dated May 8, 2018, 35 pgs.
Kumar, Samant; Final Office Action for U.S. Appl. No. 14/929,220, filed Oct. 30, 2015, dated May 10, 2018, 38 pgs.
Tiwari, Rajeev; Final Office Action for U.S. Appl. No. 15/348,920, filed Nov. 10, 2016, dated Apr. 30, 2018, 34 pgs.
Tiwari, Rajeev; Final Office Action for U.S. Appl. No. 15/624,967, filed Jun. 16, 2017, dated May 8, 2018, 40 pgs.
Kumar, Samant; International Preliminary Report on Patentability for PCT Application No. PCT/US2016/053768, dated Sep. 26, 2016, dated Apr. 5, 2018, 13 pgs.
Kumar, Samant; International Preliminary Report on Patentability for PCT Application No. PCT/US2016/058507, filed Oct. 24, 2016, dated May 11, 2018, 12 pgs.
Kumar, Samant; Advisory Action for U.S. Appl. No. 15/642,915, filed Jul. 6, 2017, dated Jul. 23, 2018, 18 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 15/624,950, filed Jun. 16, 2017, dated Jul. 9, 2018, 50 pgs.
Kumar, Samant; Corrected Notice of Allowance for U.S. Appl. No. 15/624,961, filed Jun. 16, 2017, dated Jun. 28, 2018, 7 pgs.
Kumar, Samant; Advisory Action for U.S. Appl. No. 14/929,180, filed Oct. 30, 2015, dated Jul. 27, 2018, 9 pgs.
Kumar, Samant; Advisory Action for U.S. Appl. No. 14/929,220, filed Oct. 30, 2015, dated Jul. 27, 2018, 8 pgs.
Kumar, Samant; Non-Final Office Action for U.S. Appl. No. 15/818,803, filed Nov. 25, 2017, dated Jul. 25, 2018, 46 pgs.
Tiwari, Rajeev; Advisory Action for U.S. Appl. No. 15/348,920, filed Nov. 10, 2016, dated Jul. 17, 2018, 8 pgs.
Tiwari, Rajeev; Advisory Action for U.S. Appl. No. 15/624,967, filed Jun. 16, 2017, dated Jul. 17, 2018, 7 pgs.
Related Publications (1)
Number Date Country
20170093683 A1 Mar 2017 US