test_suites The various 'test_suite_XXX' programs from the 'tests' directory, executed using 'make check' (Unix make) or 'make test' (Cmake), include test cases (reference test vectors, sanity checks, malformed input for parsing functions, etc.) for all modules except the SSL modules. selftests The 'programs/test/selftest' program runs the 'XXX_self_test()' functions of each individual module. Most of them are included in the respective test suite, but some slower ones are only included here. compat The 'tests/compat.sh' script checks interoperability with OpenSSL and GnuTLS (and ourselves!) for every common ciphersuite, in every TLS version, both ways (client/server), using client authentication or not. For each ciphersuite/version/side/authmode it performs a full handshake and a small data exchange. ssl_opt The 'tests/ssl-opt.sh' script checks various options and/or operations not covered by compat.sh: session resumption (using session cache or tickets), renegotiation, SNI, other extensions, etc.