diff --git a/tests/data/nba/config.yaml b/tests/data/nba/config.yaml
index 58c935da963db6b1227c40e099702722443078b7..7e55f9e0b3c7f3a8347d7955a699c16b816cff93 100644
--- a/tests/data/nba/config.yaml
+++ b/tests/data/nba/config.yaml
@@ -18,6 +18,22 @@ schema: |
   CREATE TAG INDEX IF NOT EXISTS bachelor_index ON bachelor();
   CREATE EDGE INDEX IF NOT EXISTS serve_start_end_index ON serve(start_year, end_year);
 files:
+  - path: ./null.csv
+    withHeader: true
+    type: vertex
+    vertex:
+      vid:
+        index: 0
+        type: string
+      tags:
+        - name: player
+          props:
+            - name: name
+              type: string
+              index: 1
+            - name: age
+              type: int
+              index: 2
   - path: ./player.csv
     withHeader: true
     type: vertex
diff --git a/tests/data/nba/null.csv b/tests/data/nba/null.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7f7ca934fc6a5900a40940770838c8f23ca55b17
--- /dev/null
+++ b/tests/data/nba/null.csv
@@ -0,0 +1,5 @@
+:VID(string),player.name:string,player.age:int
+Null1,null,-1
+Null2,Null,-2
+Null3,NULL,-3
+Null4,__NULL__,-4
diff --git a/tests/data/nba/player.csv b/tests/data/nba/player.csv
index 522a6ed4f90e8ec7d83316fad6a0de5e8c95424d..ba00e2d993b41a0b01d4fa557e81906765ddddc9 100644
--- a/tests/data/nba/player.csv
+++ b/tests/data/nba/player.csv
@@ -51,7 +51,3 @@ Grant Hill,Grant Hill,46
 Shaquile O'Neal,Shaquile O'Neal,47
 JaVale McGee,JaVale McGee,31
 Dwight Howard,Dwight Howard,33
-Null1,null,-1
-Null2,Null,-2
-Null3,NULL,-3
-Null4,__NULL__,-4
diff --git a/tests/query/bugs/fixed_pr2042.py b/tests/query/bugs/fixed_pr2042.py
index d8cfa7710783fe1f0c4d37761ce2e326679b1ce6..cdd425379b829982fb8ccbdcc0d706322f96d2fd 100644
--- a/tests/query/bugs/fixed_pr2042.py
+++ b/tests/query/bugs/fixed_pr2042.py
@@ -8,6 +8,7 @@ import time
 from tests.common.nebula_test_suite import NebulaTestSuite
 
 class TestSimpleQuery(NebulaTestSuite):
+
     @classmethod
     def prepare(self):
         resp = self.execute(
diff --git a/tests/query/stateless/test_lookup.py b/tests/query/stateless/test_lookup.py
index 16a1e8437d6b598c71c59dcb03cb8403fad31d04..a5c2e6705f9bdc8806e05df38d0f4e47ad28a68e 100644
--- a/tests/query/stateless/test_lookup.py
+++ b/tests/query/stateless/test_lookup.py
@@ -8,7 +8,9 @@ import time
 
 from tests.common.nebula_test_suite import NebulaTestSuite
 
+
 class TestIndex(NebulaTestSuite):
+
     @classmethod
     def prepare(self):
         resp = self.execute(
@@ -102,7 +104,6 @@ class TestIndex(NebulaTestSuite):
         resp = self.execute('INSERT VERTEX team(name) VALUES "204":("opl")')
         self.check_resp_succeeded(resp)
 
-
     def test_edge_index(self):
         resp = self.execute('LOOKUP ON serve where serve.start_year > 0')
         self.check_resp_succeeded(resp)
diff --git a/tests/tck/conftest.py b/tests/tck/conftest.py
index 2c8fca97374d20495bf9555941161fa0c29cbc21..342fb712c4093cd9aad7d70f7470e375ad8af2e8 100644
--- a/tests/tck/conftest.py
+++ b/tests/tck/conftest.py
@@ -42,6 +42,10 @@ def normalize_outline_scenario(request, name):
     return name
 
 
+def combine_query(query: str) -> str:
+    return " ".join(line.strip() for line in query.splitlines())
+
+
 @pytest.fixture
 def graph_spaces():
     return dict(result_set=None)
@@ -77,7 +81,7 @@ def empty_graph(session, graph_spaces):
 
 @given(parse("having executed:\n{query}"))
 def having_executed(query, session, request):
-    ngql = " ".join(query.splitlines())
+    ngql = combine_query(query)
     ngql = normalize_outline_scenario(request, ngql)
     response(session, ngql)
 
@@ -125,13 +129,13 @@ def exec_query(request, ngql, session, graph_spaces):
 
 @when(parse("executing query:\n{query}"))
 def executing_query(query, graph_spaces, session, request):
-    ngql = " ".join(query.splitlines())
+    ngql = combine_query(query)
     exec_query(request, ngql, session, graph_spaces)
 
 
 @when(parse("profiling query:\n{query}"))
 def profiling_query(query, graph_spaces, session, request):
-    ngql = "PROFILE {" + " ".join(query.splitlines()) + "}"
+    ngql = "PROFILE {" + combine_query(query) + "}"
     exec_query(request, ngql, session, graph_spaces)
 
 
diff --git a/tests/tck/features/lookup/ByIndex.feature b/tests/tck/features/lookup/ByIndex.feature
index 0c925d5042b96f7fb49463361f2e6aacc9cac7ca..2fc286e331ec853baccbb49ef768df2c70d058ac 100644
--- a/tests/tck/features/lookup/ByIndex.feature
+++ b/tests/tck/features/lookup/ByIndex.feature
@@ -3,7 +3,7 @@ Feature: Lookup by index itself
   Background:
     Given an empty graph
     And load "nba" csv data to a new space
-    And wait 3 seconds
+    And wait 6 seconds
 
   Scenario: [1] tag index
     When executing query:
diff --git a/tests/tck/features/lookup/ByIndex.intVid.feature b/tests/tck/features/lookup/ByIndex.intVid.feature
index 9555402c2f30eb9110c254cab3e01ed3c5a74d52..8e80c600c543dad8d97d5fd7e7299aa560466d63 100644
--- a/tests/tck/features/lookup/ByIndex.intVid.feature
+++ b/tests/tck/features/lookup/ByIndex.intVid.feature
@@ -3,7 +3,7 @@ Feature: Lookup by index itself in integer vid
   Background:
     Given an empty graph
     And load "nba_int_vid" csv data to a new space
-    And wait 3 seconds
+    And wait 6 seconds
 
   Scenario: [1] tag index
     When executing query:
diff --git a/tests/tck/features/update/Update.IntVid.feature b/tests/tck/features/update/Update.IntVid.feature
index 4edbf97bf85f58c6aae91e4f6f6a091424967e73..ba54b45f9f66107f95b240a45e6066a6f2bb25e9 100644
--- a/tests/tck/features/update/Update.IntVid.feature
+++ b/tests/tck/features/update/Update.IntVid.feature
@@ -21,7 +21,7 @@ Feature: Update int vid of vertex and edge
       CREATE EDGE IF NOT EXISTS select(grade int, year int);
       CREATE EDGE IF NOT EXISTS select_default(grade int NOT NULL,year TIMESTAMP DEFAULT 1546308000);
       """
-    And wait 3 seconds
+    And wait 6 seconds
 
   Scenario: update and upsert test
     When executing query: