The current state of instrumented smoke tests is good, but can become even better:
- Currently the tests are still a bit flaky, because they depend on components appearing on the screen that might be scrolled slightly off-screen, e.g. Feed cards that are unexpectedly long, which push the next expected card out of visible range. The tests should be updated to handle such edge cases.
- The current tests are basically a single giant script. It would be better to split it into multiple modules. This will make it easier to develop additional tests (since the developer doesn't need to wait for the whole script to run until any new logic is added). It will also make it easier to deploy only certain modules when ready to be run in CI. Some ideas for modularization include:
- Separate modules for logged-out vs logged-in tests.
- Separate modules per "screen" or "feature" of the app.
- Separate modules per "persona" that characterizes a user's day-to-day usage of the app.