... | ... | @@ -74,6 +74,7 @@ Kea undergoes extensive tests during its development. The following is a excerpt |
|
|
- there are around 1500 system tests available that test Kea. Those simulate correct and invalid situations, covering network packets (mostly DHCP, but also DNS and others), command-line usage, API calls, database interactions, scripts and more.
|
|
|
- there are performance tests with over 80 scenarios that test Kea overall performance and resiliency to various levels of traffic, measuring various metrics (latency, leases per seconds, packets per seconds and others).
|
|
|
- Kea uses CI (Continuous Integration). This means that great majority of tests (all unit and system tests, and most performance tests) are run for every commit. Many lighter tests are ran on branches, before the code is even accepted.
|
|
|
- Negative testing. Many unit and system tests check for negative scenarios, such as incomplete, broken, truncated packets, API commands, configuration files, incorrect sequences (such as sending packets in invalid order) and more.
|
|
|
- We use many tools that perform automatic code quality checks
|
|
|
- We use static code analyzers: clang's Thread Sanitizer (TSAN), Coverity Scan, shellcheck, danger
|
|
|
- We use dynamic code analyzers: Valgrind
|
... | ... | |