engine: start sketching out throttling integration testing tool #2424
Labels
data quality
enhancement
improving existing code or new feature
funder/drl2022-2024
methodology
issues related to the testing methodology
ooni/probe-engine
priority/high
research prototype
testing
wishlist
This issue is about writing an integration testing tool that can simulate severe throttling conditions such as the ones we previously experienced in Russia.
We are not aiming to write a tool that causes TCP to exactly match the bandwidth it would expect under given PLR and RTT network conditions. More modestly, we want a tool where we can turn a knob to make traffic much slower regardless of the parameters that we impose to the tool.
At the time of writing this issue, such a tool already exists: https://github.com/ooni/netem. It also seems to have the required property that we can write integration tests where A is fast and B is very slow.
With this tool, we can write better integration tests for OONI probe making sure we catch those conditions. So, we can be confident that changes do not break Web Connectivity as we evolve and refactor it.
This issue belongs to two epics:
The former deals with creating a throttling methodology as part of DRL2022-2024. The latter is a long running issue dealing with making integration testing easier to write and much less flaky than with the current solution (Jafar).
The text was updated successfully, but these errors were encountered: