  The number of confirmed cases of COVID-19 is often used as a proxy for the
actual number of ground truth COVID-19 infected cases in both public discourse
and policy making. However, the number of confirmed cases depends on the
testing policy, and it is important to understand how the number of positive
cases obtained using different testing policies reveals the unknown ground
truth. We develop an agent-based simulation framework in Python that can
simulate various testing policies as well as interventions such as lockdown
based on them. The interaction between the agents can take into account various
communities and mobility patterns. A distinguishing feature of our framework is
the presence of another `flu'-like illness with symptoms similar to COVID-19,
that allows us to model the noise in selecting the pool of patients to be
tested. We instantiate our model for the city of Bengaluru in India, using
census data to distribute agents geographically, and traffic flow mobility data
to model long-distance interactions and mixing. We use the simulation framework
to compare the performance of three testing policies: Random Symptomatic
Testing (RST), Contact Tracing (CT), and a new Location Based Testing policy
(LBT). We observe that if a sufficient fraction of symptomatic patients come
out for testing, then RST can capture the ground truth quite closely even with
very few daily tests. However, CT consistently captures more positive cases.
Interestingly, our new LBT, which is operationally less intensive than CT,
gives performance that is comparable with CT. In another direction, we compare
the efficacy of these three testing policies in enabling lockdown, and observe
that CT flattens the ground truth curve maximally, followed closely by LBT, and
significantly better than RST.
