diff --git a/Makefile b/Makefile
index 6d6ac4c30b08a6d9581fd7e11d2dc6ed5e074341..43c2bbf8aef044f6ccf811d8a90b3570ce3344b0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 # These targets are not files
 .PHONY: tests
 
-test: test-heroku-16
+test: test-heroku-18 test-heroku-16
 
 check:
 	@shellcheck -x bin/compile bin/detect bin/release bin/test-compile bin/utils bin/warnings
diff --git a/README.md b/README.md
index a4a5bf962c754a35b2a72f13161181cf022f6de5..f5b56e737ea54e9b2b1474ac623ea2aa0c497b55 100644
--- a/README.md
+++ b/README.md
@@ -61,3 +61,25 @@ Runtime options include:
 - `python-3.7.0`
 - `python-3.6.6`
 - `python-2.7.15`
+
+## Tests
+
+The buildpack tests use [Docker](https://www.docker.com/) to simulate
+Heroku's [stack images.](https://devcenter.heroku.com/articles/stack)
+
+To run the test suite:
+
+```
+make test
+```
+
+Or to test in a particular stack:
+
+```
+make test-heroku-18
+make test-heroku-16
+```
+
+The tests are run via the vendored
+[shunit2](https://github.com/kward/shunit2)
+test framework.
\ No newline at end of file