GAEN Test Strategy & Plan

This is our test strategy for the GAEN solution, which consists of a Mobile App (iOS and Android), and a set of servers, which can be delivered as a SaaS offering for HDs, or deployed in their own chosen infrastructure.

Later sections of this article detail the specifics of our current plans & status.

Project Scope

The project scope is to deliver an implementation of the Google / Apple Exposure Notifications solution for deployment by Health Departments.

Deficincies in the Google / Apple EN solution itself, whether due to bugs in Google / Apple code, or more fundamental limitations with BT / RF technology are of significant interest to PathCheck in general, but do not necessarily impact our ability to deliver against the above goal.

As a whole, the PathCheck organization is very keen to understand the nature of deficiencies that exist in GAEN, and to figure out how they can be overcome in order to build better DCT solutions, that investigation is not a part of the scope of this project.

As a result of this scope limitation, the following testing areas are not considered priorities for the GAEN implementation project (we hope that this testing will be picked up by other PathCheck initiatives):

  • Bluetooth TC4TL accuracy: Correctness of Exposure Notifications vs. relative positions of phones

  • Non-interferences of other BT applications on the phone (e.g. BT headset)

  • Non-interference of other BT / RF applications in theenvironment, including large numbers of App users.

  • Battery consumption (which we expect to be dominated by the BLE function, which is a Google / Apple responsibility)

  • Bluetooth Interoperability between a wide range of iOS & Android devices.

These aspects of the product do all matter, but testing in these areas is deprioritized on the basis that:

  • These are Apple/Googles responsibilities to get right, not ours.

  • Our implementation willl be no better, and no worse, in these regards than any other GAEN solution

  • If we do find problems in these areas, we doubt we will have very much success in driving Google / Apple to make things better in any short timescale.

Impediments

There are some significant impediments to testing GAEN, which have a signficiant influence on our approach

  • The mobile app for test must be built and distributed using the Apple Developer account of an HD with GAEN entitlements

  • Until we get Apple approval for an open Beta (still a work in progress), this limits us to a total of 25 testers per HD (including any HD staff who want to test)

  • Testing of customizations will need to be done in the context of HD accounts. This may prove difficult if we want to test customizations that are not of direct interest to that HD: building good relationships so that these partners are willing to support us is key.

  • On both iOS and Android, we are very limited in terms of our ability to control which Bluetooth Random IDs get stored on the phone. There is no way to populate these programmatically - the only way to do so is to have a real Bluetooth device nearby, broadcasting keys. This makes it very hard to set up a phone with a realistic set of Bluetooth Random IDs that a phone might pick up over a 14 day period.

  • Testing Exposure Notifications e2e can be very slow because it can take a full day for the necessary client-server interactions to get an EN to a phone, after a set of infected keys are shared. The fact that all this function is handled opaquely by the OS means that there is no easy way around this. This means that test cases take a very long (and unpredictable) elapsed time to complete.

Testing Priorities

At the start of testing, we went through a process with Bob Mallon, where we

  • Identified all the gaps we might need to fill to take the solution from “pilot-ready” to “community-ready”

  • Discussed and agreed priorities, where

    • High = needed for launch

    • Medium = needed 6-8 weeks after launch

    • Low = some stage beyond that.

The output of that process can be found here:

https://docs.google.com/spreadsheets/d/1wHepFi2Km38I1mCgJo56as8V6Ubn0sA2CdUeBncHGgU/edit#gid=0

Going forward, we have moved that content into Jira, where it is now maintained, using the same High/Medium/Low priorities.

Note that this board tracks testing activities only. Development activities are still tracked in Trello.

Resourcing Plan

Resourcing testing for the GAEN project has been a challenge due to:

  • The fact that testers need access to multiple physical devices to test ENs, combined with the fact that initially the app was available on iOS (with the app now available on Android, this last point is now moot).

  • General shortage of testing volunteers at PathCheck.

To help with the resourcing, we have had 2 full-time testers + a manager assigned to the project from Winjit in India

  • They have access to a good range of physical devices

  • They are able to take on test planning & test execution

  • They will send test plans to us for review, before they begin execution

  • They have access to Minnesota TF (as of 29/7), and are working on validating the basic mainline EN flow.

They also have access to specialist testers in:

  • Accessibility

  • UX

  • Scale / load testing

What WinJit can’t do…

  • Security & Privacy testing (other than some basics) → TBD. We don’t yet have a plan here.

  • Language testing → Applause, probably. But concerns about TF access.

With a lot of pressure on elapsed time & the winding down of GPS testing, we hope to supplement the Winjit team with some testing work from other PathCheck volunteers, particular in test areas that do not requre EN generation (and therefore don’t require the use of multiple physical devices; which most testers don’t have access to).

Current Status and Schedule

This table shows the status of the high priority items (see Jira links above), and current view of these (as of 4 Aug).

Code

Test Area

Owner

Current status

Predicted status 13 Aug

Code

Test Area

Owner

Current status

Predicted status 13 Aug

GAEN-7

OS Versions: clarify which are supported, and ensure they all work

Winjit

Awaiting WInjit to confirm they have all devices available

Done

GAEN-9

Langage support

Diarmid / Applause

Still to be scheduled

TBD

GAEN-10

Base UI Customizations

Diarmid

Waiting for customization plan to be clarified following MN input

OK for MN only

GAEN-12

Accessibility

Winjit

Timeline for bug fixing will be very tight.

Issues known, but not s508 or WCAG AA compliant

GAEN-13

Mobile App Security

Diarmid

No clear plan yet

Unknown

GAEN-14

Server Security

Diarmid

No clear plan yet

Unknown

GAEN-15

Privacy

Diarmid

No clear plan yet

Unknown

GAEN-22

Exposure Detection - Basic Plumbing

Winjit

Basically working already, just

Done

GAEN-26

Server Availability / Reliability

Winjit

Analysis here: GAEN Scale & Robustness Testing - won’t test looks fairly low risk.

Still pending, but I think that's OK

GAEN-27

Server Scalability

Winjit

Analysis here: GAEN Scale & Robustness Testing

Still pending, but I think that's OK

GAEN-32

Usability

Diarmid

On hold pending UX redesign

TBD

GAEN-39

App Store processes

Diarmid

To review with Xian

All OK

GAEN-41

Analytics

Diarmid

To understand plan from John / Lina

Deeply uncertain

GAEN-44

L3 support plan (bug fixes needed in the field)

Diarmid

To discuss with Sam

All OK

GAEN-45

Defect reporting channels

Diarmid

To discuss with Sam

All OK

GAEN-47

Sever Patch / Upgrade

Diarmid

To discuss with Sherif

All OK

GAEN-48

Implementation Collateral

Diarmid

To discuss with Jeff

Expect to have a bunch of gaps here, but we’ll muddle through

GAEN-49

Exposure Detection - Correct implementation of HD tuning

Diarmid

Assessing priority

TBD

GAEN-51

GAEN Server Hosted in EU

Diarmid

To discuss with Jen (PM)

I predict we can sort this, if it’s required.

GAEN-97

Interactions with Device Settings / User Preferences

Winjit

Defining test priorities

Testing incomplete, but biggest risks covered, with more to follow

 

For the Winjit team, we have the following planned schedule of activities, which we will maintain and revise as we move forwards.


https://docs.google.com/spreadsheets/d/14T3jJDibuIOYob0HMcOCYpLM-HUo_ED4_9F7c3rBltA/edit?usp=sharing

Tracking & Bug Reporting

Process documented here (still undergoing revisions & improvements)

Bug tracking for GAEN

Key open questions & risks

  • Who in PathCheck is worrying about general GAEN/BT deficiencies. Can we get a research project kicked off on this?

  • Can we develop tools that can simulate many phones being near another phone over Bluetooth (are there tools from Trinity College Dublin we can re-use here)?

  • Can we find a way to reduce the elapsed time required for an EN test (currently ~a day due to client-server GAEN protocol delays)?

  • Privacy & Security - need clear overall plan

  • Customization: what’s the plan for MN & can we deliver? What’s the plan for “productized” customization for the next wave of deployments after MN?

  • Analytics: what are we doing & can we deliver?

  • What’s the schedule for languages? Presumably depends on copy changes? And gets scuppered by HDs modifying text - do we have a plan for that?

  • What’s coming fast on the heels of MN that we need to watch out for?

  • Security: how can we get BugCrowd engaged with GAEN?

  • What is the risk of Accessibility and/or Security becoming hard blockers at MN or other HAs?

  • What are our requirements on HD tuning of controls of risk parameters?