Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Commit

Permalink
Issue #70 - review: Clarify typos, unclear text.
Browse files Browse the repository at this point in the history
  • Loading branch information
mcomella committed Feb 5, 2019
1 parent 3a1879b commit a65b2a5
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions android/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ The primary problem we try to solve with automated testing is preventing uninten
## Quick primer on automated testing
Automated tests are typically broken up into the following categories:
- End-to-End tests
- Black box tests that act like users: the system, they click the screen and assert what is displayed, typically following common user scenarios
- Black box tests that act like users: they click the screen and assert what is displayed, typically following common user scenarios
- Notable for being **the only test of the full system.** Tend to **run slowly**, **be fragile**, and **be difficult to debug**
- Integration tests
- Tests comprising of multiple parts of the system: they can modify and assert internal state
- Compromise between end-to-end and unit tests. Tend to **run fairly quickly**
- Compromise between end-to-end and unit tests. Tend to **run fairly quickly** since, unlike UI tests, they don't need to wait for UI changes
- Unit tests
- Tiny tests that test one single bit of functionality; they typically don't overlap
- When written with non-overlapping assertions across tests, notable for **clearly identifying a single piece of broken functionality in a system.** Tend to **run quickly**.
Expand Down Expand Up @@ -113,7 +113,7 @@ See [this FFTV example of MockWebServer][mockwebserver example].
## Best practices
This section is intended to be a non-exhaustive list of high-level guidelines (not rules!) when testing.

- Don't depend on external factors, like the network, to ensure pour tests are always reliable
- Don't depend on external factors, like the network, to ensure your tests are always reliable
- For unit testing your UI, architect your application to separate your model from your UI, e.g. with architectures like MVP, MVVM, and MVI. Without consciously separating these parts of your application, it may be too difficult to test
- For UI testing, disable animations: Espresso's handling of them is mediocre
- In addition to testing standard stuff like business logic and UI state, consider testing:
Expand Down

0 comments on commit a65b2a5

Please sign in to comment.