Testing Methodology
Last Updated: August 1, 2026
At All CPS Test, we prioritize mathematical accuracy, technical transparency, and client-side privacy. This document outlines how our browser-based diagnostic tools measure user input, compute metrics, and handle technical limitations.
1. Click Speed (CPS) Calculation
Clicks Per Second (CPS) is computed using the high-resolution performance.now() API, which returns a timestamp in milliseconds with sub-millisecond precision.
CPS = Accepted Clicks / (Elapsed Milliseconds / 1000)
To avoid false double-counting, simultaneous pointerdown and mousedown events are de-duplicated per click attempt. Timers start on the first valid input event inside the active testing pad and automatically terminate when the target duration is reached.
2. Reaction Time Measurement
Our Visual Reaction Time Test uses a state-machine architecture (Ready ➔ Waiting ➔ Click Now ➔ Result / False Start). A randomized delay between 1,500ms and 4,500ms is applied before triggering the visual stimulus.
- Stimulus Timestamp: Recorded using
performance.now()at the exact frame when the visual signal turns green. - Response Timestamp: Captured on the first registered click or keydown (Spacebar) event.
- False Starts: Any input registered during the waiting state is flagged as an invalid false start.
3. Typing Speed & Accuracy
Typing performance is measured against standardized passages using character-level input evaluation.
- Words Per Minute (WPM): Computed using the industry-standard standard word length of 5 characters:
WPM = (Correct Characters / 5) / (Elapsed Minutes). - Accuracy Percentage: Computed as
(Correct Characters / Total Typed Characters) * 100.
4. Mouse Polling Rate Estimation
Mouse report rate (Hz) estimation tracks pointermove timestamps. Since web browsers schedule events around monitor refresh cycles and event loop ticks, individual deltas may fluctuate. We calculate the median inter-event interval across a minimum sample of 50 movement events to produce a robust Hz estimate.
5. Browser & Hardware Limitations
While our algorithms utilize precise JavaScript APIs, browser-based testing cannot replace laboratory-grade hardware oscilloscopes. Factors such as operating system pointer acceleration, monitor refresh rates, browser event throttling, and USB bus polling affect raw measurements. Our results should be interpreted as high-accuracy estimates for practice and diagnostic guidance.