diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake
index 658448b8a6d6ee6e8bd2f9e2ddb68ac0bd0f0f25..b8e53062b4d4eb734c974abf40d47899e2f0fd9b 100644
--- a/scripts/cmake/test/Test.cmake
+++ b/scripts/cmake/test/Test.cmake
@@ -36,6 +36,8 @@ configure_file(
 
 include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test/AddTest.cmake)
 
+set(NUM_CTEST_PROCESSORS 3)
+
 if(CMAKE_CONFIGURATION_TYPES)
     set(CONFIG_PARAMETER --build-config "$<CONFIGURATION>")
 endif()
@@ -46,7 +48,16 @@ add_custom_target(
     --force-new-ctest-process
     --output-on-failure --output-log Tests/ctest.log
     --exclude-regex LARGE
-    ${CONFIG_PARAMETER} --parallel ${NUM_PROCESSORS} --test-action test
+    ${CONFIG_PARAMETER} --parallel ${NUM_CTEST_PROCESSORS} --test-action test
+    DEPENDS ogs vtkdiff ctest-cleanup
+)
+add_custom_target(
+    ctest-serial
+    COMMAND ${CMAKE_CTEST_COMMAND} -T Test
+    --force-new-ctest-process
+    --output-on-failure --output-log Tests/ctest.log
+    --exclude-regex LARGE
+    ${CONFIG_PARAMETER} --test-action test
     DEPENDS ogs vtkdiff ctest-cleanup
 )
 add_custom_target(ctest-large-cleanup ${CMAKE_COMMAND} -E remove Tests/ctest-large.log)
@@ -55,7 +66,7 @@ add_custom_target(
     COMMAND ${CMAKE_CTEST_COMMAND} -T Test
     --force-new-ctest-process
     --output-on-failure --output-log Tests/ctest-large.log
-    ${CONFIG_PARAMETER} --test-action test
+    ${CONFIG_PARAMETER} --parallel ${NUM_CTEST_PROCESSORS} --test-action test
     DEPENDS ogs vtkdiff ctest-large-cleanup
 )
 add_custom_target(