Skip to content

Commit dbc0bc4

Browse files
committed
DOCS: add short writeup about testing strategies, etc.
1 parent 220cc00 commit dbc0bc4

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

testing/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Testing
2+
3+
## Key Terms:
4+
* observability
5+
* controlability
6+
* isolateability
7+
* automatability
8+
* understandability
9+
![testing key terms](./testing-1.png)
10+
11+
## Types
12+
* state-based tests
13+
* interaction tests
14+
15+
## Strategy
16+
* expression
17+
$GIVEN \dots WHEN \dots THEN \dots$
18+
* evaluation criteria
19+
* `confidence` provided by tests
20+
* `speed`
21+
* `maintainability`
22+
* artifacts
23+
* `stub` -> allow dependency isolation, but are not themselves subjects of verification (present in GIVEN, but not in THEN)
24+
* `mock` -> allow dependency isolation and are themselves subjects of verification (present in GIVEN and in THEN)
25+
26+
## Practical
27+
* striking balance between unit tests (domain-driven, high speed, low confidence) and integration tests (test cases and dependencies, low speed, high confidence)
28+
* system tests are low speed, low maintainability, high confidence
29+
* GUI tests are low speed, low maintainability, high confidence
30+
![testing summary](./testing-2.png)
31+
32+
# References
33+
* [automated tests why](https://kamilgrzybek.com/blog/posts/automated-tests-the-why)
34+
* [automated tests testability](https://kamilgrzybek.com/blog/posts/automated-tests-testability)
35+
* [automated tests strategy](https://kamilgrzybek.com/blog/posts/automated-tests-strategy)

testing/testing-1.png

103 KB
Loading

testing/testing-2.png

217 KB
Loading

0 commit comments

Comments
 (0)