Functional and non-functional testing
We briefly touched upon the topic of non-functional testing in Chapter 1, Getting to Grips with Test-Driven Development. Up until now, we have tabled this important type of testing and focused on verifying the various functional aspects, while exploring the popular testing libraries of testify
, ginkgo
, and GoDog
. Let’s now explore how to implement a few of the most important non-functional tests.
Figure 8.1 depicts the main types of non-functional tests:
Figure 8.1 – Types of performance and correctness non-functional testing
The types of tests are divided between performance tests and usability tests. They verify the following aspects of our systems:
- Load testing simulates user demand on our system. These tests simulate expected demand and overload conditions to identify bottlenecks or performance issues.
- Stress testing simulates user demand under extreme conditions on our system. These tests...