summaryrefslogtreecommitdiff
path: root/doc/development/testing_guide/best_practices.md
diff options
context:
space:
mode:
authorZeff Morgan <zmorgan@gitlab.com>2019-03-26 15:40:10 -0400
committerZeff Morgan <zmorgan@gitlab.com>2019-03-26 15:40:10 -0400
commit127828c64aaefcb9da05464b9ceed0149643c835 (patch)
tree96d4082604d58cf3f7cd6c819d6f390f3853aab9 /doc/development/testing_guide/best_practices.md
parentb0a873aae627accd604fbc50db9d2c89f6b87dbe (diff)
downloadgitlab-ce-127828c64aaefcb9da05464b9ceed0149643c835.tar.gz
Update testing guide to reference test design
Diffstat (limited to 'doc/development/testing_guide/best_practices.md')
-rw-r--r--doc/development/testing_guide/best_practices.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md
index cfe0e6f70fc..7262c04d746 100644
--- a/doc/development/testing_guide/best_practices.md
+++ b/doc/development/testing_guide/best_practices.md
@@ -1,5 +1,20 @@
# Testing best practices
+## Test Design
+
+Testing at GitLab is a first class citizen, not an afterthought. It's important we consider the design of our tests
+as we do the design of our features.
+
+When implementing a feature, we think about developing the right capabilities the right way, which helps us
+narrow our scope to a manageable level. When implementing tests for a feature, we must think about developing
+the right tests, but then cover _all_ the important ways the test may fail, which can quickly widen our scope to
+a level that is difficult to manage.
+
+Test heuristics can help solve this problem. They concisely address many of the common ways bugs
+manifest themselves within our code. When designing our tests, take time to review known test heuristics to inform
+our test design. We can find some helpful heuristics documented in the Handbook in the
+[Test Design](https://about.gitlab.com/handbook/engineering/quality/guidelines/test-engineering/test-design/) section.
+
## Test speed
GitLab has a massive test suite that, without [parallelization], can take hours