Add section about tests to contribution guidelines
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bbad037..aa9d1fb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,3 +6,45 @@
 to merge your own PR (usually this will happen if there are some trivial
 changes required). For a full list of bors commands,
 [see the bors documentation](https://bors.tech/documentation/).
+
+# Tests
+
+Our aim is to provide a number of tests to be safe from regression. Currently,
+the unit tests and the linting is automated, however, the integration tests
+have to be run manually.
+
+## Compilation
+
+`libtock-rs` currently has two compilation targets: `riscv32imac-unknown-none-elf`
+and `thumbv7em-none-eabi`. You can build the library and the examples
+using the script `build_examples.sh`.
+
+## Unit Testing and Linting
+
+There a a number of tests which run in our travis-ci environment. You can run them
+using `cargo test --workspace`.
+
+## Integration tests
+
+If you have a `nRF52-dk` you can run the integration tests as follows.
+The pins P0.03 and P0.04 need to be connected (on a nRF52-DK). Then do the following:
+
+- connect your device to your computer
+- open a console, e.g. `tockloader listen`
+- run the tests `./run_hardware_test.sh
+
+The desired test output is:
+
+The expected output on the UART console will be as follows.
+
+```
+[test-results]
+heap_test = "Heap works."
+formatting =  works
+should_be_one = 1
+gpio_works = true
+trait_obj_value_usize = 1
+trait_obj_value_string = string
+callbacks_work = true
+all_tests_run = true
+```