Kernel可以區分為多個modules並且區分多種功能,Kernel test是針對kerenl當中每個module/功能進行廣泛驗證的測試流程。
通常kernel test會針對kernel的每項module/功能的正確性、exception handling、安全性進行測試,但kernel test功能繁多,從頭開始開發kernel test cases是不切實際的,所以通常會先使用現有工具提供的測項,再另外針對開發過程修改新增的kernel module/功能去修改或新增testcase。
以Linux kernel為例
現有工具: Ktest, LTP (Linux Test Project)、Autotest都提供大量的內建testcase可以被執行使用。
撰寫自己的kernel testcase,現行兩種流行的test framework可以協助新kernel test的撰寫