Instant Tests
Last updated
Last updated
A router with our Device Agent embedded inside it supports instant tests. This allows tests to be triggered at the end user’s router remotely, with the results reported back to the initiator (such as an ISP admin or customer support) in real-time. Instant tests are built into admin and support accounts via ConstantCare as standard. Our APIs also allows a smartphone or web application to trigger an instant test and view real-time measurement results, for example for use by field testers.
ISPs, customer support staff, or enterprise admins can trigger an instant test at the router from within Connected Devices > ConstantCare, a smartphone or web application, or via the Instant Test API (see Connected Devices > Your APIs). There is no need to be on the same network or in the same location. The initiator is presented with real-time feedback, including both the instantaneous measurement result and the progress through the test as a percentage.
Developers integrating the Device Agent may optionally choose to put restrictions on when instant tests can be carried out. For example, they may require that the instant tests only operate when the end user is connected to a Wi-Fi network. The smartphone and web SDKs (software development kits) also provide access to this information, allowing the developer to control the circumstances under which an instant test is allowed to proceed.
Unlike with scheduled testing, which carries out a device threshold check before proceeding, instant tests, once triggered, override any device thresholds or scheduled tests to run as a priority.
Instant testing relies on a persistent line of communication between the Device Agent (e.g. router or phone) and our backend infrastructure. This uses secure WebSockets as its communications protocol.
An API layer, called the Instant Testing API, sits on top of this infrastructure and exposes the instant testing functionality to host applications (i.e. on a smartphone or web). This API allows host applications to remotely invoke a test on the Device Agent. The host application does not need to be on the same physical or logical network as the Device Agent to remotely invoke a test, as all traffic is proxied via our backend infrastructure.
Host applications may authenticate with the Instant Test API using their organization-specific API key, found at Connected Devices > Your APIs. Alternatively, we support federated authentication between us and a third party (e.g. an ISP), which allows a host to authenticate transparently.
Communications between the end user’s personal device (smartphone or computer) and the Device Agent operate over WebSockets, and are brokered via our API servers, providing for real-time two-way communication between each other.
Measurement results are streamed in real-time back to the host application, with intermediate results provided at a minimum of once every 500 milliseconds. At the conclusion of the test, a ‘final’ result is provided.