Modified YAML tests Jan 11 (#31365)

* Modified test as per test-plan:
TC_ACFREMON_2_1
TC_ACL_2_1
TC_ACL_2_3
TC_ACT_1_1
TC_BINFO_1_1
TC_BRBINFO_1_1
TC_CNET_1_3
TC_CNET_4_5
TC_CNET_4_9
TC_DD_3_1
TC_DD_3_2
TC_DGGEN_1_1
TC_DISHM_2_1
TC_DISHM_3_1
TC_DISHM_3_2
TC_DISHM_3_3
TC_DRLK_2_1
TC_DRLK_2_5
TC_DRLK_2_7
TC_FLW_2_2
TC_G_2_4
TC_I_2_3
TC_LCFG_2_1
TC_LVL_1_1
TC_LWM_2_1
TC_LWM_3_1
TC_PSCFG_1_1
TC_PS_1_1
TC_PS_2_2
TC_RVCCLEANM_3_1
TC_RVCCLEANM_3_3
TC_RVCRUNM_3_3
TC_TCCM_2_1
TC_TCCM_3_1
TC_TSTAT_1_1
TC_TSTAT_2_1

* Auto generated files

* Fix the CI falure for test TC-ACFREMON-2.1

* Fix issue 97

* Fixes issue: 102

* Restyled by prettier-yaml

* Fixes issue: 103
TC-TSUIC-1.1

* Modified tests
TC-CNET-4.1
TC-CNET-4.2
TC-TSUIC-1.1
TC-WNCV-3.4
TC-WNCV-3.5

* Remove ICDM-2.3 manual test

* Modified test
TC-OO-1.1 updated cluster revision value to 5.

* BRBINFO clusterRevision issue comment added.

---------

Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: raju-apple <84206864+raju-apple@users.noreply.github.com>
diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml
index 8070ca3..2affde1 100644
--- a/src/app/tests/suites/certification/PICS.yaml
+++ b/src/app/tests/suites/certification/PICS.yaml
@@ -845,6 +845,45 @@
       id: ACT.C.C0b.Tx
 
     #
+    # server / commandsGenerated
+    #
+    - label: "Does the device implement of InstantAction command?"
+      id: ACT.S.C00.Rsp
+
+    - label: "Does the device implement of InstantActionWithTransition command?"
+      id: ACT.S.C01.Rsp
+
+    - label: "Does the device implement of StartAction command?"
+      id: ACT.S.C02.Rsp
+
+    - label: "Does the device implement of StartActionWithDuration command?"
+      id: ACT.S.C03.Rsp
+
+    - label: "Does the device implement of StopAction command?"
+      id: ACT.S.C04.Rsp
+
+    - label: "Does the device implement of PauseAction command?"
+      id: ACT.S.C05.Rsp
+
+    - label: "Does the device implement of PauseActionWithDuration command?"
+      id: ACT.S.C06.Rsp
+
+    - label: "Does the device implement of ResumeAction command?"
+      id: ACT.S.C07.Rsp
+
+    - label: "Does the device implement of EnableAction command?"
+      id: ACT.S.C08.Rsp
+
+    - label: "Does the device implement of EnableActionWithDuration command?"
+      id: ACT.S.C09.Rsp
+
+    - label: "Does the device implement of DisableAction command?"
+      id: ACT.S.C0a.Rsp
+
+    - label: "Does the device implement of DisableActionWithDuration command?"
+      id: ACT.S.C0b.Rsp
+
+    #
     # client / manually
     #
     - label: "Write all supported optional attributes"
@@ -1813,9 +1852,12 @@
     - label: "Does the device implement the DISHM cluster as a server?"
       id: DISHM.S
 
-    - label: "IDoes the DUT support testing the failed ChangeToMode command?"
+    - label: "Does the DUT support testing the failed ChangeToMode command?"
       id: DISHM.S.M.CAN_TEST_MODE_FAILURE
 
+    - label: "Can the mode changed by manually control at the device?"
+      id: DISHM.S.M.CAN_MANUALLY_CONTROLLED
+
     # PIXIT
 
     - label:
@@ -2063,6 +2105,15 @@
     - label: "Does the DUT(Server) support LastConnectErrorValue attribute?"
       id: CNET.S.A0007
 
+    - label: "Does the DUT(Server) support SupportedWiFiBands attribute?"
+      id: CNET.S.A0008
+
+    - label: "Does the DUT(Server) support SupportedThreadFeatures attribute?"
+      id: CNET.S.A0009
+
+    - label: "Does the DUT(Server) support ThreadVersion attribute?"
+      id: CNET.S.A000A
+
     #
     # server / commandsReceived
     #
@@ -5380,13 +5431,13 @@
     # server / manually
     #
     - label: "Can the DUT be brought into a Wired Fault state?"
-      id: PS.M.ManualWiredFault
+      id: PS.S.M.ManualWiredFault
 
     - label: "Can the DUT be brought into a Battery Fault state?"
-      id: PS.M.ManualBatFault
+      id: PS.S.M.ManualBatFault
 
     - label: "Can the DUT be brought into a Battery Charge Fault state?"
-      id: PS.M.ManualBatChargeFault
+      id: PS.S.M.ManualBatChargeFault
 
     #
     # client / manually
@@ -8899,6 +8950,9 @@
     - label: "Does the DUT support testing the failed ChangeToMode command?"
       id: LWM.S.M.CAN_TEST_MODE_FAILURE
 
+    - label: "Can the mode changed by manually control at the device?"
+      id: LWM.S.M.CAN_MANUALLY_CONTROLLED
+
     - label:
           "Id of mode the device will fail to transition to, given its current
           state"
@@ -9055,6 +9109,9 @@
           state"
       id: PIXIT.TCCM.MODE_CHANGE_FAIL
 
+    - label: "Can the mode changed by manually control at the device?"
+      id: TCCM.S.M.CAN_MANUALLY_CONTROLLED
+
     #Features
     - label:
           "Does the device support depending on an On/Off cluster implemented on
diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml
index a354e1c..3f4a7cc 100644
--- a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml
@@ -73,7 +73,7 @@
               hasMasksSet: [0x2]
 
     - label:
-          "Step 3d: Given ACFREMON.S.F01(ReplacementProductList) ensure
+          "Step 3d: Given ACFREMON.S.F02(ReplacementProductList) ensure
           featuremap has the correct bit set"
       command: "readAttribute"
       attribute: "FeatureMap"
diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_2_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_2_1.yaml
index 797e87c..987fd0a 100644
--- a/src/app/tests/suites/certification/Test_TC_ACFREMON_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_2_1.yaml
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -52,15 +54,23 @@
               minValue: 0
               maxValue: 1
 
-    - label: "Step 4: TH reads from the DUT the ChangeIndication attribute."
-      PICS: ACFREMON.S.A0002
+    - label: "Step 4a: TH reads from the DUT the ChangeIndication attribute."
+      PICS: ACFREMON.S.A0002 && !ACFREMON.S.F01
       command: "readAttribute"
       attribute: "ChangeIndication"
       response:
           constraints:
               type: enum8
-              minValue: 0
-              maxValue: 2
+              anyOf: [0, 2]
+
+    - label: "Step 4b: TH reads from the DUT the ChangeIndication attribute."
+      PICS: ACFREMON.S.F01 && ACFREMON.S.A0002
+      command: "readAttribute"
+      attribute: "ChangeIndication"
+      response:
+          value: 1
+          constraints:
+              type: enum8
 
     - label: "Step 5: TH reads from the DUT the InPlaceIndicator attribute"
       PICS: ACFREMON.S.A0003
diff --git a/src/app/tests/suites/certification/Test_TC_ACL_2_1.yaml b/src/app/tests/suites/certification/Test_TC_ACL_2_1.yaml
index 7758d8d..98197f9 100644
--- a/src/app/tests/suites/certification/Test_TC_ACL_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACL_2_1.yaml
@@ -24,7 +24,7 @@
     endpoint: 0
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: TH1 commissions DUT using admin node ID N1"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -32,7 +32,9 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: TH reads SubjectsPerAccessControlEntry attribute from DUT"
+    - label:
+          "Step 2: TH1 reads DUT Endpoint 0 AccessControl cluster
+          SubjectsPerAccessControlEntry attribute"
       PICS: ACL.S.A0002
       command: "readAttribute"
       attribute: "SubjectsPerAccessControlEntry"
@@ -42,7 +44,9 @@
               minValue: 4
               maxValue: 65535
 
-    - label: "Step 3: TH reads TargetsPerAccessControlEntry attribute from DUT"
+    - label:
+          "Step 3: TH1 reads DUT Endpoint 0 AccessControl cluster
+          TargetsPerAccessControlEntry attribute"
       PICS: ACL.S.A0003
       command: "readAttribute"
       attribute: "TargetsPerAccessControlEntry"
@@ -52,12 +56,14 @@
               minValue: 3
               maxValue: 65535
 
-    - label: "Step 4: TH reads AccessControlEntriesPerFabric attribute from DUT"
+    - label:
+          "Step 4: TH1 reads DUT Endpoint 0 AccessControl cluster
+          AccessControlEntriesPerFabric attribute"
       PICS: ACL.S.A0004
       command: "readAttribute"
       attribute: "AccessControlEntriesPerFabric"
       response:
           constraints:
               type: int16u
-              minValue: 3
+              minValue: 4
               maxValue: 65535
diff --git a/src/app/tests/suites/certification/Test_TC_ACL_2_3.yaml b/src/app/tests/suites/certification/Test_TC_ACL_2_3.yaml
index af287a4..1e769ec 100644
--- a/src/app/tests/suites/certification/Test_TC_ACL_2_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACL_2_3.yaml
@@ -17,6 +17,7 @@
 
 PICS:
     - ACL.S
+    - ACL.S.A0001
 
 config:
     nodeId: 0x12344321
@@ -54,7 +55,7 @@
         defaultValue: ""
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: TH1 commissions DUT using admin node ID N1"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
diff --git a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml
index 83f1ce0..50ebde1 100644
--- a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml
@@ -31,7 +31,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +39,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3: Read the global attribute: FeatureMap"
+    - label: "Step 3: TH reads from the DUT the FeatureMap attribute."
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
@@ -47,7 +47,7 @@
           constraints:
               type: bitmap32
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -76,36 +76,146 @@
 
     #Issue: https://github.com/project-chip/connectedhomeip/issues/26721
     - label: "Step 5: TH reads EventList attribute from DUT"
-      verification: |
-          ./chip-tool actions read event-list 1 1
-
-          Via the TH (chip-tool), verify:
-          -that EventList attribute contains list of supported events.
-          -that list has 1 entry(0) for this cluster.
-
-          [1676460741.103254][37023:37025] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_FFFA DataVersion: 928273128
-          [1676460741.103303][37023:37025] CHIP:TOO:   EventList: 1 entries
-          [1676460741.103320][37023:37025] CHIP:TOO:     [1]: 0
-      cluster: "LogCommands"
-      command: "UserPrompt"
-      PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED
-      arguments:
-          values:
-              - name: "message"
-                value: "Please enter 'y' for success"
-              - name: "expectedValue"
-                value: "y"
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          constraints:
+              type: list
+              contains: [0, 1]
 
     # Checking only type check all commands are optional
-    - label: "Step 6: Read the global attribute: AcceptedCommandList"
+    - label:
+          "Step 6a: TH Read the optional command (InstantAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C00.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
           constraints:
               type: list
-              maxLength: 11
+              contains: [0x0]
 
-    - label: "Step 7: Read the global attribute: GeneratedCommandList"
+    - label:
+          "Step 6b: TH Read the optional command (InstantActionWithTransition)
+          in AcceptedCommandList"
+      PICS: ACT.S.C01.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x01]
+
+    - label:
+          "Step 6C: TH Read the optional command (StartAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C02.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x02]
+
+    - label:
+          "Step 6d: TH Read the optional command (StartActionWithDuration) in
+          AcceptedCommandList"
+      PICS: ACT.S.C03.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x03]
+
+    - label:
+          "Step 6e: TH Read the optional command (StopAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C04.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x04]
+    - label:
+          "Step 6f: TH Read the optional command (PauseAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C05.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x05]
+
+    - label:
+          "Step 6g: TH Read the optional command (PauseActionWithDuration) in
+          AcceptedCommandList"
+      PICS: ACT.S.C06.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x06]
+
+    - label:
+          "Step 6h: TH Read the optional command (ResumeAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C07.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x07]
+
+    - label:
+          "Step 6i: TH Read the optional command (EnableAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C08.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x08]
+    - label:
+          "Step 6j: TH Read the optional command (EnableActionWithDuration) in
+          AcceptedCommandList"
+      PICS: ACT.S.C09.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x09]
+
+    - label:
+          "Step 6k: TH Read the optional command (DisableAction) in
+          AcceptedCommandList"
+      PICS: ACT.S.C0a.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x0a]
+
+    - label:
+          "Step 6l: TH Read the optional command (DisableActionWithDuration) in
+          AcceptedCommandList"
+      PICS: ACT.S.C0b.Rsp
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [0x0b]
+
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute."
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml
index 1f909b0..6a9c2eb 100644
--- a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml
@@ -12,9 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name:
-    12.1.1. [TC-BINFO-1.1] Global Attributes for Basic Information Cluster
-    [DUT-Server]
+name: 12.1.1. [TC-BINFO-1.1] Global Attributes with DUT as Server
 
 PICS:
     - BINFO.S
@@ -184,6 +182,17 @@
               type: list
               contains: [18]
 
+    - label:
+          "Step 4j: TH reads optional attribute(ProductAppearance) in
+          attributeList"
+      PICS: BINFO.S.A0014
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [20]
+
     - label: "Step 5a: TH reads EventList from DUT"
       PICS:
           " !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 &&
@@ -195,7 +204,7 @@
           constraints:
               type: list
 
-    - label: "Step 5b: Read BINFO.S.E00(StartUp) event in EventList"
+    - label: "Step 5b: TH reads BINFO.S.E00(StartUp) event in EventList"
       PICS: BINFO.S.E00 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -204,7 +213,7 @@
               type: list
               contains: [0]
 
-    - label: "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList"
+    - label: "Step 5c: TH reads BINFO.S.E01(ShutDown) event in EventList"
       PICS: BINFO.S.E01 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -213,7 +222,7 @@
               type: list
               contains: [1]
 
-    - label: "Step 5d: Read BINFO.S.E02(Leave) event in EventList"
+    - label: "Step 5d: TH reads BINFO.S.E02(Leave) event in EventList"
       PICS: BINFO.S.E02 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -222,7 +231,7 @@
               type: list
               contains: [2]
 
-    - label: "Step 5e: Read (ReachableChanged) event in EventList"
+    - label: "Step 5e: TH reads (ReachableChanged) event in EventList"
       PICS: BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
diff --git a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml
index 3131f07..d905504 100644
--- a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute"
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +41,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3: Read the global attribute: FeatureMap"
+    - label: "Step 3: TH reads from the DUT the FeatureMap attribute"
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
@@ -47,7 +49,7 @@
           constraints:
               type: bitmap32
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -56,7 +58,7 @@
               type: list
               contains: [0, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -65,7 +67,7 @@
               type: list
               contains: [0, 65528, 65529, 65531, 65532, 65533]
 
-    - label: "Step 5: Read the global attribute: EventList"
+    - label: "Step 5: TH reads from the DUT the EventList attribute"
       PICS: BOOL.S.E00 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -74,7 +76,7 @@
           constraints:
               type: list
 
-    - label: "Step 5: Read the global attribute: EventList"
+    - label: "Step 5: TH reads from the DUT the EventList attribute"
       PICS: " !BOOL.S.E00 && PICS_EVENT_LIST_ENABLED "
       command: "readAttribute"
       attribute: "EventList"
@@ -83,7 +85,7 @@
           constraints:
               type: list
 
-    - label: "Step 6: Read the global attribute: AcceptedCommandList"
+    - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute"
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -91,7 +93,7 @@
           constraints:
               type: list
 
-    - label: "Step 7: Read the global attribute: GeneratedCommandList"
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute"
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml
index 2112bad..ef95ddd 100644
--- a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml
@@ -34,6 +34,7 @@
               - name: "nodeId"
                 value: nodeId
 
+    #Issue: https://github.com/project-chip/connectedhomeip/issues/30467
     - label: "Step 2: TH reads the ClusterRevision from DUT"
       command: "readAttribute"
       attribute: "ClusterRevision"
@@ -207,7 +208,27 @@
               type: list
               contains: [18]
 
-    - label: "Step 5a: TH reads optional event(StartUp) in EventList"
+    - label:
+          "Step 4p: TH reads optional attribute(ProductAppearance) in
+          AttributeList"
+      PICS: BRBINFO.S.A0014
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [20]
+
+    - label: "Step 5a: TH reads from the DUT the EventList attribute"
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          constraints:
+              type: list
+              contains: [3]
+
+    - label: "Step 5b: TH reads optional event(StartUp) in EventList"
       PICS: BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -216,7 +237,7 @@
               type: list
               contains: [0]
 
-    - label: "Step 5b: TH reads optional attribute(ShutDown) in EventList"
+    - label: "Step 5c: TH reads optional attribute(ShutDown) in EventList"
       PICS: BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -225,7 +246,7 @@
               type: list
               contains: [1]
 
-    - label: "Step 5c: TH reads optional attribute(Leave) in EventList"
+    - label: "Step 5d TH reads optional attribute(Leave) in EventList"
       PICS: BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
diff --git a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml
index b28b4fb..afa472a 100644
--- a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml
@@ -12,9 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name:
-    12.1.3. [TC-CNET-1.3] Global Attributes for Networking commissioning cluster
-    [DUT-Server]
+name: 12.1.3. [TC-CNET-1.3] Global Attributes with DUT as Server
 
 PICS:
     - CNET.S
@@ -33,7 +31,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute"
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -41,7 +39,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3a: Read the global attribute: FeatureMap"
+    - label: "Step 3a: TH reads from the DUT the FeatureMap attribute"
       PICS: " !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 "
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -49,7 +47,8 @@
           value: 0
 
     - label:
-          "Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set"
+          "Step 3b: TH reads the global attribute: FeatureMap when CNET.S.F00 is
+          set"
       PICS: CNET.S.F00
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -57,7 +56,8 @@
           value: 1
 
     - label:
-          "Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set"
+          "Step 3c: TH reads the global attribute: FeatureMap when CNET.S.F01 is
+          set"
       PICS: CNET.S.F01
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -65,14 +65,15 @@
           value: 2
 
     - label:
-          "Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set"
+          "Step 3d: TH reads the global attribute: FeatureMap when CNET.S.F02 is
+          set"
       PICS: CNET.S.F02
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
           value: 4
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -81,7 +82,7 @@
               type: list
               contains: [65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4b: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -91,7 +92,7 @@
               contains: [65528, 65529, 65531, 65532, 65533]
 
     - label:
-          "Step 4b: Read mandatory attributes in AttributeList if
+          "Step 4c: TH reads mandatory attributes in AttributeList if
           CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true"
       PICS: CNET.S.F00 || CNET.S.F01 || CNET.S.F02
       command: "readAttribute"
@@ -102,9 +103,9 @@
               contains: [0, 1, 4, 5, 6, 7]
 
     - label:
-          "Step 4c: Read the optional attribute(ScanMaxTimeSeconds):
-          AttributeList"
-      PICS: CNET.S.A0002
+          "Step 4d: TH reads the feature dependent
+          attribute(ScanMaxTimeSeconds): AttributeList"
+      PICS: CNET.S.F00 || CNET.S.F01
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -113,9 +114,9 @@
               contains: [2]
 
     - label:
-          "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in
-          AttributeList"
-      PICS: CNET.S.A0003
+          "Step 4e: TH reads the feature dependent
+          attribute(ConnectMaxTimeSeconds) in AttributeList"
+      PICS: CNET.S.F00 || CNET.S.F01
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -123,7 +124,29 @@
               type: list
               contains: [3]
 
-    - label: "Step 5: Read the global attribute: EventList"
+    - label:
+          "Step 4f: TH reads WIFI related attribute (SupportedWiFiBands) in
+          AttributeList"
+      PICS: CNET.S.F00
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [8]
+
+    - label:
+          "Step 4g: TH reads Thread related attribute (SupportedWiFiBands and
+          ThreadVersion) in AttributeList"
+      PICS: CNET.S.F01
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [9, 10]
+
+    - label: "Step 5: TH reads from the DUT the EventList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -133,8 +156,8 @@
               type: list
 
     - label:
-          "Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread
-          related features CNET.S.F00(WI),CNET.S.F01(TH)"
+          "Step 6a: TH reads AcceptedCommandList attribute from DUT. If DUT
+          supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)"
       PICS: ( CNET.S.F00 || CNET.S.F01 )
       command: "readAttribute"
       attribute: "AcceptedCommandList"
@@ -144,8 +167,8 @@
               contains: [0, 4, 6, 8]
 
     - label:
-          "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related
-          features (CNET.S.F00(WI) is true)"
+          "Step 6b: TH reads AcceptedCommandList attribute from DUT. If DUT
+          supports Wi-Fi related features (CNET.S.F00(WI) is true)"
       PICS: CNET.S.F00
       command: "readAttribute"
       attribute: "AcceptedCommandList"
@@ -155,8 +178,8 @@
               contains: [2]
 
     - label:
-          "Step 6c: Read AcceptedCommandList If DUT supports Thread related
-          features(CNET.S.F01(TH) is true)"
+          "Step 6c: TH reads AcceptedCommandList attribute from DUT. If DUT
+          supports Thread related features(CNET.S.F01(TH) is true)"
       PICS: CNET.S.F01
       command: "readAttribute"
       attribute: "AcceptedCommandList"
@@ -166,8 +189,8 @@
               contains: [3]
 
     - label:
-          "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related
-          features(CNET.S.F02(TH) is true)"
+          "Step 6d: TH reads AcceptedCommandList attribute from DUT. If DUT
+          supports Ethernet related features(CNET.S.F02(TH) is true)"
       PICS: CNET.S.F02
       command: "readAttribute"
       attribute: "AcceptedCommandList"
@@ -175,8 +198,9 @@
           value: []
 
     - label:
-          "Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread
-          related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)"
+          "Step 7a: TH reads the GeneratedCommandList attribute from DUT. If DUT
+          supports Wi-Fi/Thread related features(CNET.S.F00(WI) or
+          CNET.S.F01(TH) is true)"
       PICS: ( CNET.S.F00 || CNET.S.F01 )
       command: "readAttribute"
       attribute: "GeneratedCommandList"
@@ -186,8 +210,8 @@
               contains: [1, 5, 7]
 
     - label:
-          "Step 7b: Read the GeneratedCommandList If DUT supports Ethernet
-          related features(CNET.S.F02(ET) must be true)"
+          "Step 7b: Read the GeneratedCommandList attribute from DUT. If DUT
+          supports Ethernet related features(CNET.S.F02(ET) must be true)"
       PICS: CNET.S.F02
       command: "readAttribute"
       attribute: "GeneratedCommandList"
diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml
index ce3979c..fda0797 100644
--- a/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CNET_4_1.yaml
@@ -186,3 +186,12 @@
           value: null
           constraints:
               type: int32s
+
+    - label: "Step 14: TH reads the SupportedWiFiBands attribute from the DUT"
+      PICS: CNET.S.A0008
+      command: "readAttribute"
+      attribute: "SupportedWiFiBands"
+      response:
+          constraints:
+              type: enum8
+              minLength: 1
diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml
index 7b60871..4ac1c8e 100644
--- a/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CNET_4_2.yaml
@@ -193,3 +193,26 @@
           value: null
           constraints:
               type: int32s
+
+    #Possibilites if Bit 4 (IsSynchronizedSleepyEndDeviceCapable) is only set if bit 2 (IsSleepyEndDeviceCapable) is also set expects value 20
+    #Verify that Bit 0 (IsBorderRouterCapable) is only set if bit 3 (IsFullThreadDevice) is also set expected value 9
+    #Verify that Bit 1 (IsRouterCapable) is only set if bit 3 (IsFullThreadDevice) is also set expected value 10
+    #So the possibilites of value here are in the range of 0-20 expected value as per test-plan [0, 4, 8, 9, 10, 16, 20]
+    - label:
+          "Step 14: TH reads the SupportedThreadFeatures attribute from the DUT"
+      PICS: CNET.S.A0009
+      command: "readAttribute"
+      attribute: "SupportedThreadFeatures"
+      response:
+          constraints:
+              type: bitmap16
+              anyOf: [0, 4, 8, 9, 10, 16, 20]
+
+    - label: "Step 15:TH reads the ThreadVersion attribute from the DUT"
+      PICS: CNET.S.A000A
+      command: "readAttribute"
+      attribute: "ThreadVersion"
+      response:
+          constraints:
+              type: int16u
+              minValue: 4
diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml
index 23753cf..892ae4e 100644
--- a/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CNET_4_5.yaml
@@ -88,7 +88,7 @@
           "Step 2: TH sends RemoveNetwork command to the DUT with NetworkID
           field set to PIXIT.CNET.WIFI_1ST_ACCE SSPOINT_SSID and Breadcrumb
           field set to 1"
-      PICS: CNET.S.C04.Rsp
+      PICS: CNET.S.C02.Rsp && CNET.S.C04.Rsp
       command: "RemoveNetwork"
       arguments:
           values:
diff --git a/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml b/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml
index 341fe7d..a26524e 100644
--- a/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CNET_4_9.yaml
@@ -81,7 +81,9 @@
               - name: "DebugText"
                 value: ""
 
-    - label: "Step 2: TH reads Networks attribute from the DUT "
+    - label:
+          "Step 2: TH reads Networks attribute from the DUT and saves the number
+          of entries as 'NumNetworks' "
       PICS: CNET.S.A0001
       command: "readAttribute"
       attribute: "Networks"
@@ -201,6 +203,7 @@
     - label:
           "Step 10: TH reads Breadcrumb attribute from the General Commissioning
           cluster of the DUT"
+      PICS: CNET.S.C04.Rsp
       cluster: "General Commissioning"
       command: "readAttribute"
       attribute: "Breadcrumb"
@@ -277,6 +280,7 @@
                 value: 0
 
     - label: "Step 15: TH sends the CommissioningComplete command to the DUT"
+      PICS: CNET.S.C04.Rsp
       cluster: "General Commissioning"
       command: "CommissioningComplete"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml
index 47def58..bfc8022 100644
--- a/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DD_3_1.yaml
@@ -17,6 +17,7 @@
 
 PICS:
     - MCORE.ROLE.COMMISSIONEE
+    - "!MCORE.DD.NON_CONCURRENT_CONNECTION"
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_DD_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DD_3_2.yaml
index 58a43e7..4814d35 100644
--- a/src/app/tests/suites/certification/Test_TC_DD_3_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DD_3_2.yaml
@@ -18,6 +18,7 @@
 
 PICS:
     - MCORE.ROLE.COMMISSIONEE
+    - MCORE.DD.NON_CONCURRENT_CONNECTION
 
 config:
     nodeId: 0x12344321
@@ -298,7 +299,7 @@
 
     - label:
           "Step 9: Commissioner instructs Commissionee to connect to operational
-          network if not already connected"
+          network"
       verification: |
           Verify in TH(CHIP-TOOL)
 
diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml
index 147242c..7342101 100644
--- a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml
@@ -31,7 +31,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +39,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3: Read the global attribute: FeatureMap"
+    - label: "Step 3: TH reads from the DUT the FeatureMap attribute."
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
@@ -47,7 +47,7 @@
           constraints:
               type: bitmap32
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -56,7 +56,7 @@
               type: list
               contains: [0, 1, 8, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -68,6 +68,7 @@
     - label:
           "Step 4b: Validate presence of mandatory attribute(UpTime) in
           AttributeList"
+      PICS: DGGEN.S.A0002
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -76,7 +77,7 @@
               contains: [2]
 
     - label:
-          "Step 4c: Read optional attribute(TotalOperationalHours) in
+          "Step 4c: TH reads optional attribute(TotalOperationalHours) in
           AttributeList"
       PICS: DGGEN.S.A0003
       command: "readAttribute"
@@ -86,7 +87,7 @@
               type: list
               contains: [3]
 
-    - label: "Step 4d: Read optional attribute(BootReason) in AttributeList"
+    - label: "Step 4d: TH reads optional attribute(BootReason) in AttributeList"
       PICS: DGGEN.S.A0004
       command: "readAttribute"
       attribute: "AttributeList"
@@ -96,7 +97,7 @@
               contains: [4]
 
     - label:
-          "Step 4e: Read optional attribute(ActiveHardwareFaults) in
+          "Step 4e: TH reads optional attribute(ActiveHardwareFaults) in
           AttributeList"
       PICS: DGGEN.S.A0005
       command: "readAttribute"
@@ -107,7 +108,8 @@
               contains: [5]
 
     - label:
-          "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList"
+          "Step 4f: TH reads optional attribute(ActiveRadioFaults) in
+          AttributeList"
       PICS: DGGEN.S.A0006
       command: "readAttribute"
       attribute: "AttributeList"
@@ -117,7 +119,7 @@
               contains: [6]
 
     - label:
-          "Step 4g: Read optional attribute(ActiveNetworkFaults) in
+          "Step 4g: TH reads optional attribute(ActiveNetworkFaults) in
           AttributeList"
       PICS: DGGEN.S.A0007
       command: "readAttribute"
@@ -127,7 +129,7 @@
               type: list
               contains: [7]
 
-    - label: "Step 5a: Read the global attribute: EventList"
+    - label: "Step 5a: TH reads from the DUT the EventList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -136,7 +138,8 @@
               type: list
               contains: [3]
 
-    - label: "Step 5b: Read optional event(HardwareFaultChange) in EventList"
+    - label:
+          "Step 5b: TH reads optional event(HardwareFaultChange) in EventList"
       PICS: DGGEN.S.E00 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -145,7 +148,7 @@
               type: list
               contains: [0]
 
-    - label: "Step 5c: Read optional event(RadioFaultChange) in EventList"
+    - label: "Step 5c: TH reads optional event(RadioFaultChange) in EventList"
       PICS: DGGEN.S.E01 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -154,7 +157,7 @@
               type: list
               contains: [1]
 
-    - label: "Step 5d: Read optional event(NetworkFaultChange) in EventList"
+    - label: "Step 5d: TH reads optional event(NetworkFaultChange) in EventList"
       PICS: DGGEN.S.E02 && PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -163,7 +166,7 @@
               type: list
               contains: [2]
 
-    - label: "Step 6: Read the global attribute: AcceptedCommandList"
+    - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute"
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -171,7 +174,7 @@
               type: list
               contains: [0, 1]
 
-    - label: "Step 7: TH reads GeneratedCommandList from DUT"
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute"
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_DISHM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DISHM_3_1.yaml
index e426296..7d00383 100644
--- a/src/app/tests/suites/certification/Test_TC_DISHM_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DISHM_3_1.yaml
@@ -13,10 +13,13 @@
 # limitations under the License.
 # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
 
-name: 263.4.1. [TC-DISHM-3.1] OnMode verification with DUT as Server
+name: 263.4.1. [TC-DISHM-3.1] On Mode functionality with DUT as Server
 
 PICS:
-    - DISHM.S
+    - DISHM.S.A0003
+    - DISHM.S.F00
+    - OO.S.C00.Rsp
+    - OO.S.C01.Rsp
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_DISHM_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DISHM_3_2.yaml
index dfb4d89..9043b8f 100644
--- a/src/app/tests/suites/certification/Test_TC_DISHM_3_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DISHM_3_2.yaml
@@ -13,10 +13,10 @@
 # limitations under the License.
 # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
 
-name: 263.4.2. [TC-DISHM-3.2] StartUpMode verification with DUT as Server
+name: 263.4.2. [TC-DISHM-3.2] Startup Mode functionality with DUT as Server
 
 PICS:
-    - DISHM.S
+    - DISHM.S.A0002
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_DISHM_3_3.yaml b/src/app/tests/suites/certification/Test_TC_DISHM_3_3.yaml
index 2b394a4..6a34bb3 100644
--- a/src/app/tests/suites/certification/Test_TC_DISHM_3_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DISHM_3_3.yaml
@@ -13,10 +13,15 @@
 # limitations under the License.
 # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
 
-name: 189.3.3.[TC-DISHM-3.3] OnMode overwriting StartUpMode with DUT as Server
+name:
+    189.3.3.[TC-DISHM-3.3] On Mode and Startup Mode functionality with DUT as
+    Server
 
 PICS:
-    - DISHM.S
+    - DISHM.S.A0002
+    - DISHM.S.A0003
+    - DISHM.S.F00
+    - OO.S.A4003
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml
index b049f65..a1a9ac1 100755
--- a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml
@@ -160,8 +160,10 @@
       response:
           value: LockStateValue
 
-    - label: "Step 1d: TH sends a Lock Door command to the DUT."
-      PICS: DRLK.S.C00.Rsp && DRLK.S.F00 && DRLK.S.F07
+    - label:
+          "Step 1d: TH sends a Lock Door command to the DUT. If DRLK.S.F00(PIN)
+          & DRLK.S.F07(COTA), include a Valid PINCode in the Lock Door command."
+      PICS: DRLK.S.C00.Rsp && DRLK.S.F00 && DRLK.S.F07 && DRLK.S.A0000
       command: "LockDoor"
       timedInteractionTimeoutMs: 1000
       arguments:
@@ -170,7 +172,7 @@
                 value: "123456"
 
     - label: "Step 1d: TH sends a Lock Door command to the DUT."
-      PICS: DRLK.S.C00.Rsp && !DRLK.S.F00 && !DRLK.S.F07
+      PICS: DRLK.S.C00.Rsp && !DRLK.S.F00 && !DRLK.S.F07 && DRLK.S.A0000
       command: "LockDoor"
       timedInteractionTimeoutMs: 1000
 
@@ -190,13 +192,16 @@
       response:
           value: 1
 
-    - label: "Step 1e: TH sends a Unlock Door command to the DUT."
-      PICS: DRLK.S.C01.Rsp && !DRLK.S.F00 && !DRLK.S.F07
+    - label:
+          "Step 1e: TH sends a Unlock Door command to the DUT. If
+          DRLK.S.F00(PIN) & DRLK.S.F07(COTA), include a Valid PINCode in the
+          Unlock Door command"
+      PICS: DRLK.S.C01.Rsp && !DRLK.S.F00 && !DRLK.S.F07 && DRLK.S.A0000
       command: "UnlockDoor"
       timedInteractionTimeoutMs: 1000
 
     - label: "Step 1e: TH sends a Unlock Door command to the DUT."
-      PICS: DRLK.S.C01.Rsp && DRLK.S.F00 && DRLK.S.F07
+      PICS: DRLK.S.C01.Rsp && DRLK.S.F00 && DRLK.S.F07 && DRLK.S.A0000
       command: "UnlockDoor"
       timedInteractionTimeoutMs: 1000
       arguments:
@@ -602,7 +607,7 @@
     - label:
           "Step 13a: TH reads NumberOfHoliDay SchedulesSupported attribute from
           DUT"
-      PICS: DRLK.S.F0b && DRLK.S.A0016
+      PICS: DRLK.S.F0b && DRLK.S.A0015
       command: "readAttribute"
       attribute: "NumberOfHolidaySchedulesSupported"
       response:
@@ -1325,8 +1330,8 @@
 
     - label: "Step 31b: TH writes WrongCodeEntryLimit attribute as 8"
       PICS:
-          ( DRLK.S.F00 || DRLK.S.F01 ) &&
-          DRLK.S.M.WrongCodeEntryLimitAttributeWritable
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0030 &&
+          DRLK.S.M.WrongCodeEntryLimitAttributeWritable "
       command: "writeAttribute"
       attribute: "WrongCodeEntryLimit"
       arguments:
@@ -1334,7 +1339,7 @@
 
     - label: "Step 31b: TH writes WrongCodeEntryLimit attribute as 8"
       PICS:
-          " ( DRLK.S.F00 || DRLK.S.F01 ) &&
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0030 &&
           !DRLK.S.M.WrongCodeEntryLimitAttributeWritable "
       command: "writeAttribute"
       attribute: "WrongCodeEntryLimit"
@@ -1345,8 +1350,8 @@
 
     - label: "Step 31c: TH reads WrongCode EntryLimit attribute"
       PICS:
-          ( DRLK.S.F00 || DRLK.S.F01 ) &&
-          DRLK.S.M.WrongCodeEntryLimitAttributeWritable
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0030 &&
+          DRLK.S.M.WrongCodeEntryLimitAttributeWritable "
       command: "readAttribute"
       attribute: "WrongCodeEntryLimit"
       response:
@@ -1354,7 +1359,7 @@
 
     - label: "Step 31c: TH reads WrongCode EntryLimit attribute"
       PICS:
-          " ( DRLK.S.F00 || DRLK.S.F01 ) &&
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0030 &&
           !DRLK.S.M.WrongCodeEntryLimitAttributeWritable "
       command: "readAttribute"
       attribute: "WrongCodeEntryLimit"
@@ -1376,8 +1381,8 @@
 
     - label: "Step 32b: TH writes UserCodeTemporaryDisableTime attribute as 120"
       PICS:
-          ( DRLK.S.F00 || DRLK.S.F01 ) &&
-          DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0031 &&
+          DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable "
       command: "writeAttribute"
       attribute: "UserCodeTemporaryDisableTime"
       arguments:
@@ -1385,7 +1390,7 @@
 
     - label: "Step 32b: TH writes UserCodeTemporaryDisableTime attribute as 120"
       PICS:
-          " ( DRLK.S.F00 || DRLK.S.F01 ) &&
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0031 &&
           !DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable "
       command: "writeAttribute"
       attribute: "UserCodeTemporaryDisableTime"
@@ -1396,8 +1401,8 @@
 
     - label: "Step 32c: TH reads UserCodeTemporary DisableTime attribute"
       PICS:
-          ( DRLK.S.F00 || DRLK.S.F01 ) &&
-          DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0031 &&
+          DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable "
       command: "readAttribute"
       attribute: "UserCodeTemporaryDisableTime"
       response:
@@ -1405,7 +1410,7 @@
 
     - label: "Step 32c: TH reads UserCodeTemporary DisableTime attribute"
       PICS:
-          " ( DRLK.S.F00 || DRLK.S.F01 ) &&
+          " ( DRLK.S.F00 || DRLK.S.F01 ) && DRLK.S.A0031 &&
           !DRLK.S.M.UserCodedTemporaryDisableTimeAttributeWritable "
       command: "readAttribute"
       attribute: "UserCodeTemporaryDisableTime"
diff --git a/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml b/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml
index 64d7aa8..9586e9e 100644
--- a/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_FLW_2_2.yaml
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the mandatory attribute: MeasuredValue"
+    - label: "Step 2: TH reads from the DUT the MeasuredValue attribute."
       PICS: FLW.S.A0000
       command: "readAttribute"
       attribute: "MeasuredValue"
@@ -40,7 +42,7 @@
           constraints:
               type: int16u
               minValue: 0
-              maxValue: 65535
+              maxValue: 65534
 
     - label: "Step 3: Operate on device to change the flow significantly"
       cluster: "LogCommands"
@@ -53,7 +55,9 @@
               - name: "expectedValue"
                 value: "y"
 
-    - label: "Step 4: Read the mandatory attribute: MeasuredValue"
+    - label:
+          "Step 4: After a few seconds, TH reads from the DUT the MeasuredValue
+          attribute."
       PICS: FLW.S.A0000 && FLW.M.FlowChange
       command: "readAttribute"
       attribute: "MeasuredValue"
@@ -61,5 +65,5 @@
           constraints:
               type: int16u
               minValue: 0
-              maxValue: 65535
+              maxValue: 65534
               notValue: ValueBeforeChange
diff --git a/src/app/tests/suites/certification/Test_TC_G_2_4.yaml b/src/app/tests/suites/certification/Test_TC_G_2_4.yaml
index 2941e03..25f8582 100644
--- a/src/app/tests/suites/certification/Test_TC_G_2_4.yaml
+++ b/src/app/tests/suites/certification/Test_TC_G_2_4.yaml
@@ -32,7 +32,9 @@
     Groups.Endpoint2: 2
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -58,7 +60,13 @@
 
     - label:
           "Step 2: TH sends KeySetWrite command in the GroupKeyManagement
-          cluster to DUT."
+          cluster to DUT on EP0 using a key that is pre-installed on the TH.
+          GroupKeySet fields are as follows: 1)GroupKeySetID: 1
+          2)GroupKeySecurityPolicy: TrustFirst (0) 3)EpochKey0:
+          d0d1d2d3d4d5d6d7d8d9dadbdcdddedf 4)EpochStartTime0: 1 5)EpochKey1:
+          d1d1d2d3d4d5d6d7d8d9dadbdcdddedf 6)EpochStartTime1:
+          18446744073709551613 7)EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf
+          8)EpochStartTime2: 18446744073709551614"
       PICS: GRPKEY.S.C00.Rsp
       cluster: "Group Key Management"
       command: "KeySetWrite"
@@ -102,7 +110,7 @@
 
     - label:
           "Step 5a: TH sends AddGroup command to DUT on PIXIT.G.ENDPOINT with
-          the following fields: GroupID as 0x0001,GroupName as 'Gp1'"
+          the following fields:1) GroupID as 0x0001, 2)GroupName as 'Gp1'"
       PICS: G.S.C00.Rsp && G.S.C00.Tx
       endpoint: Groups.Endpoint1
       command: "AddGroup"
diff --git a/src/app/tests/suites/certification/Test_TC_ICDM_2_3.yaml b/src/app/tests/suites/certification/Test_TC_ICDM_2_3.yaml
deleted file mode 100644
index eed0da8..0000000
--- a/src/app/tests/suites/certification/Test_TC_ICDM_2_3.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2023 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
-
-name: 214.2.3. [TC-ICDM-2.3] Secondary functionality with DUT as Server
-
-PICS:
-    - ICDM.S
-    - ICDM.S.C00.Rsp
-    - ICDM.S.C02.Rsp
-    - ICDM.S.C03.Rsp
-
-config:
-    nodeId: 0x12344321
-    cluster: "Basic Information"
-    endpoint: 0
-
-tests:
-    - label: "Step 1: TH reads from the DUT the ActiveModeThreshold attribute."
-      PICS: ICDM.S.A0002
-      verification: |
-          ./chip-tool icdmanagement read active-mode-threshold 1 0
-
-          On TH(chip-tool) log, Verify ActiveModeThreshold attribute should contains an uint16; value is 300 or higher below is the sample log provided for the raspi platform:
-
-
-          [1685127625953] [48160:461013] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_0002 DataVersion: 326159709
-          [1685127625953] [48160:461013] [TOO]   ActiveModeThreshold: 300
-      disabled: true
-
-    - label: "Step 2: TH sends StayActiveRequest command."
-      PICS: ICDM.S.C03.Rsp
-      verification: |
-          Verify DUT responds w/ status SUCCESS(0x00).
-      disabled: true
-
-    - label:
-          "Step 3: Verify DUT increases the remaining time in active mode by one
-          ActiveModeThreshold"
-      PICS: ICDM.S.C03.Rsp
-      verification: |
-          Design details pending.
-      disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_I_2_3.yaml b/src/app/tests/suites/certification/Test_TC_I_2_3.yaml
index b314230..379ed42 100644
--- a/src/app/tests/suites/certification/Test_TC_I_2_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_I_2_3.yaml
@@ -16,6 +16,7 @@
 
 PICS:
     - I.S
+    - I.S.C40.Rsp
 
 config:
     nodeId: 0x12344321
@@ -23,7 +24,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -32,9 +35,9 @@
                 value: nodeId
 
     - label:
-          "Step 2a: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x00 blink and the effect variant field set to
-          0x00 default"
+          "Step 2a: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x00 (blink) and the effect variant field set
+          to 0x00 (default)"
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -56,9 +59,9 @@
                 value: "y"
 
     - label:
-          "Step 2b: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x01 breathe and the effect variant field set
-          to 0x00 default"
+          "Step 2b: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x01 (breathe) and the effect variant field
+          set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -80,9 +83,9 @@
                 value: "y"
 
     - label:
-          "Step 2c: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x02 okay and the effect variant field set to
-          0x00 default"
+          "Step 2c: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x02 (okay) and the effect variant field set
+          to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -104,9 +107,9 @@
                 value: "y"
 
     - label:
-          "Step 2d: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x0b channel change and the effect variant
-          field set to 0x00 default"
+          "Step 2d:TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x0b (channel change) and the effect variant
+          field set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -128,9 +131,9 @@
                 value: "y"
 
     - label:
-          "Step 2e: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x01 breathe and the effect variant field set
-          to 0x00 default"
+          "Step 2e: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x01 (breathe) and the effect variant field
+          set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -152,9 +155,9 @@
                 value: "y"
 
     - label:
-          "Step 2f: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0xfe finish effect and the effect variant
-          field set to 0x00 default"
+          "Step 2f: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0xfe (finish effect) and the effect variant
+          field set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -176,9 +179,9 @@
                 value: "y"
 
     - label:
-          "Step 2g: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x01 breathe and the effect variant field set
-          to 0x00 default"
+          "Step 2g: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x01 (breathe) and the effect variant field
+          set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -200,9 +203,9 @@
                 value: "y"
 
     - label:
-          "Step 2h: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0xff stop effect and the effect variant field
-          set to 0x00 default"
+          "Step 2h: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0xff (stop effect) and the effect variant
+          field set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -224,9 +227,9 @@
                 value: "y"
 
     - label:
-          "Step 3a: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0x00 blink and the effect variant field set to
-          0x42 unknown"
+          "Step 3a: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0x00 (blink) and the effect variant field set
+          to 0x42 (unknown)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
@@ -248,9 +251,9 @@
                 value: "y"
 
     - label:
-          "Step 3b: TH sends TriggerEffect command to DUT with the effect
-          identifier field set to 0xff stop effect and the effect variant field
-          set to 0x00 default"
+          "Step 3b: TH sends TriggerEffect command to DUT, with the effect
+          identifier field set to 0xff (stop effect) and the effect variant
+          field set to 0x00 (default)."
       PICS: I.S.C40.Rsp
       command: "TriggerEffect"
       arguments:
diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml
index fac7434..2dae158 100644
--- a/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml
@@ -37,7 +37,9 @@
         defaultValue: "es-ES"
 
 tests:
-    - label: "Step 0: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 0: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -46,7 +48,7 @@
                 value: nodeId
 
     - label: "Step 1a: TH reads SupportedLocales attribute from DUT"
-      PICS: LCFG.S.A0001
+      PICS: LCFG.S.A0000
       command: "readAttribute"
       attribute: "SupportedLocales"
       response:
@@ -79,7 +81,7 @@
           error: UNSUPPORTED_WRITE
 
     - label: "Step 3: TH reads SupportedLocales attribute from DUT"
-      PICS: LCFG.S.A0001
+      PICS: LCFG.S.A0000
       command: "readAttribute"
       attribute: "SupportedLocales"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml
index 969f09c..76ca0f3 100644
--- a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: 18.1.1. [TC-LVL-1.1] Global attributes with server as DUT
+name: 18.1.1. [TC-LVL-1.1] Global Attributes with DUT as Server
 
 PICS:
     - LVL.S
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 0: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 1: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +41,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 2a: Read the global attribute: FeatureMap"
+    - label: "Step 3a: TH reads from the DUT the FeatureMap attribute."
       PICS: " !LVL.S.F00 && !LVL.S.F01 && !LVL.S.F02 "
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -49,7 +51,7 @@
               type: bitmap32
 
     - label:
-          "Step 2b: Given LVL.S.F00(OO) ensure featuremap has the correct bit
+          "Step 3b: Given LVL.S.F00(OO) ensure featuremap has the correct bit
           set"
       PICS: LVL.S.F00
       command: "readAttribute"
@@ -60,7 +62,7 @@
               hasMasksSet: [0x1]
 
     - label:
-          "Step 2c: Given LVL.S.F01(LT) ensure featuremap has the correct bit
+          "Step 3c: Given LVL.S.F01(LT) ensure featuremap has the correct bit
           set"
       PICS: LVL.S.F01
       command: "readAttribute"
@@ -71,7 +73,7 @@
               hasMasksSet: [0x2]
 
     - label:
-          "Step 2d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit
+          "Step 3d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit
           set"
       PICS: LVL.S.F02
       command: "readAttribute"
@@ -81,7 +83,7 @@
               type: bitmap32
               hasMasksSet: [0x4]
 
-    - label: "Step 3a: Read the global attribute: AttributeList"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -90,7 +92,7 @@
               type: list
               contains: [0, 15, 17, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 3a: Read the global attribute: AttributeList"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -100,7 +102,7 @@
               contains: [0, 15, 17, 65528, 65529, 65531, 65532, 65533]
 
     - label:
-          "Step 3b: Read the optional attribute(StartUpCurrentLevel and
+          "Step 4a: TH reads the optional attribute(StartUpCurrentLevel and
           RemainingTime) in AttributeList"
       PICS: LVL.S.F01
       command: "readAttribute"
@@ -111,8 +113,8 @@
               contains: [1, 16384]
 
     - label:
-          "Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency
-          and MinFrequency) in AttributeList"
+          "Step 4b: TH reads the optional attribute(CurrentFrequency,
+          MinFrequency and MinFrequency) in AttributeList"
       PICS: LVL.S.F02
       command: "readAttribute"
       attribute: "AttributeList"
@@ -121,7 +123,8 @@
               type: list
               contains: [4, 5, 6]
 
-    - label: "Step 3d: Read the optional attribute(MinLevel) in AttributeList"
+    - label:
+          "Step 4c: TH reads the optional attribute(MinLevel) in AttributeList"
       PICS: LVL.S.A0002
       command: "readAttribute"
       attribute: "AttributeList"
@@ -130,7 +133,8 @@
               type: list
               contains: [2]
 
-    - label: "Step 3e: Read the optional attribute(MaxLevel) in AttributeList"
+    - label:
+          "Step 4d: TH reads the optional attribute(MaxLevel) in AttributeList"
       PICS: LVL.S.A0003
       command: "readAttribute"
       attribute: "AttributeList"
@@ -140,7 +144,7 @@
               contains: [3]
 
     - label:
-          "Step 3f: Read the optional attribute(OnOffTransitionTime) in
+          "Step 4e: TH reads the optional attribute(OnOffTransitionTime) in
           AttributeList"
       PICS: LVL.S.A0010
       command: "readAttribute"
@@ -151,7 +155,7 @@
               contains: [16]
 
     - label:
-          "Step 3g: Read the optional attribute(OnTransitionTime) in
+          "Step 4f: TH reads the optional attribute(OnTransitionTime) in
           AttributeList"
       PICS: LVL.S.A0012
       command: "readAttribute"
@@ -162,7 +166,7 @@
               contains: [18]
 
     - label:
-          "Step 3h: Read the optional attribute(OffTransitionTime) in
+          "Step 4g: TH reads the optional attribute(OffTransitionTime) in
           AttributeList"
       PICS: LVL.S.A0013
       command: "readAttribute"
@@ -173,7 +177,7 @@
               contains: [19]
 
     - label:
-          "Step 3i: Read the optional attribute(DefaultMoveRate) in
+          "Step 4h: TH reads the optional attribute(DefaultMoveRate) in
           AttributeList"
       PICS: LVL.S.A0014
       command: "readAttribute"
@@ -183,7 +187,16 @@
               type: list
               contains: [20]
 
-    - label: "Step 4a: Read the global attribute: AcceptedCommandList"
+    - label: "Step 5: Read the global attribute: EventList"
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          value: []
+          constraints:
+              type: list
+
+    - label: "Step 6a: TH reads from the DUT the AcceptedCommandList attribute."
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -192,7 +205,7 @@
               contains: [0, 1, 2, 3, 4, 5, 6, 7]
 
     - label:
-          "Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in
+          "Step 6a.1: TH reads the Feature-dependent(LVL.S.F02) command in
           AcceptedCommandList"
       PICS: LVL.S.F02
       command: "readAttribute"
@@ -202,19 +215,10 @@
               type: list
               contains: [8]
 
-    - label: "Step 4b: Read the global attribute: GeneratedCommandList"
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute."
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
           value: []
           constraints:
               type: list
-
-    - label: "Step 5: Read the global attribute: EventList"
-      PICS: PICS_EVENT_LIST_ENABLED
-      command: "readAttribute"
-      attribute: "EventList"
-      response:
-          value: []
-          constraints:
-              type: list
diff --git a/src/app/tests/suites/certification/Test_TC_LWM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LWM_2_1.yaml
index ebea6a0..a6a916f 100644
--- a/src/app/tests/suites/certification/Test_TC_LWM_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LWM_2_1.yaml
@@ -82,7 +82,9 @@
     - label:
           "Step 5: Manually put the device in a state from which it will FAIL to
           transition to PIXIT.LWM.MODE_CHANGE_FAIL"
-      PICS: LWM.S.M.CAN_TEST_MODE_FAILURE && PICS_SKIP_SAMPLE_APP
+      PICS:
+          LWM.S.M.CAN_TEST_MODE_FAILURE && LWM.S.M.CAN_MANUALLY_CONTROLLED &&
+          PICS_SKIP_SAMPLE_APP
       verification: |
           Manual operation required
       cluster: "LogCommands"
@@ -95,7 +97,7 @@
                 value: "y"
 
     - label: "Step 6: TH reads from the DUT the CurrentMode attribute."
-      PICS: LWM.S.A0001
+      PICS: LWM.S.A0001 && LWM.S.M.CAN_MANUALLY_CONTROLLED
       command: "readAttribute"
       attribute: "CurrentMode"
       response:
@@ -184,7 +186,7 @@
     - label:
           "Step 9: Manually put the device in a state from which it will
           SUCCESSFULLY transition to PIXIT.LWM.MODE_CHANGE_OK"
-      PICS: PICS_SKIP_SAMPLE_APP
+      PICS: LWM.S.M.CAN_MANUALLY_CONTROLLED && PICS_SKIP_SAMPLE_APP
       verification: |
           Manual operation required
       cluster: "LogCommands"
@@ -197,7 +199,7 @@
                 value: "y"
 
     - label: "Step 10: TH reads from the DUT the CurrentMode attribute."
-      PICS: LWM.S.A0001
+      PICS: LWM.S.M.CAN_MANUALLY_CONTROLLED && LWM.S.A0001
       command: "readAttribute"
       attribute: "CurrentMode"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_LWM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LWM_3_1.yaml
index 2c39403..0b9a36e 100644
--- a/src/app/tests/suites/certification/Test_TC_LWM_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LWM_3_1.yaml
@@ -17,6 +17,8 @@
 PICS:
     - LWM.S.A0003
     - LWM.S.F00
+    - OO.S.C00.Rsp
+    - OO.S.C01.Rsp
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
index 22b7f89..400bf68 100644
--- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
@@ -33,6 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
+    #Issue: https://github.com/project-chip/connectedhomeip/issues/29786
     - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml
index ed8d6dd..d3ec743 100644
--- a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: 63.1.1. [TC-PSCFG-1.1] Global attributes with server as DUT
+name: 63.1.1. [TC-PSCFG-1.1] Global Attributes with DUT as Server
 
 PICS:
     - PSCFG.S
@@ -23,7 +23,9 @@
     endpoint: 0
 
 tests:
-    - label: "Step 1: Commission DUT to TH"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: TH reads the ClusterRevision attribute from the DUT"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +41,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3: TH reads the FeatureMap attribute from the DUT"
+    - label: "Step 3: TH reads from the DUT the FeatureMap attribute."
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
@@ -47,7 +49,7 @@
           constraints:
               type: bitmap32
 
-    - label: "Step 4: TH reads the AttributeList attribute from the DUT"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -56,7 +58,7 @@
               type: list
               contains: [0, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4: TH reads the AttributeList attribute from the DUT"
+    - label: "Step 4: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -65,7 +67,16 @@
               type: list
               contains: [0, 65528, 65529, 65531, 65532, 65533]
 
-    - label: "Step 5: TH reads the AcceptedCommandList attribute from the DUT"
+    - label: "Step 5: TH reads from the DUT the EventList attribute."
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          value: []
+          constraints:
+              type: list
+
+    - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute."
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -73,19 +84,10 @@
           constraints:
               type: list
 
-    - label: "Step 6: TH reads the GeneratedCommandList attribute from the DUT"
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute."
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
           value: []
           constraints:
               type: list
-
-    - label: "Step 7: Read EventList attribute from the DUT."
-      PICS: PICS_EVENT_LIST_ENABLED
-      command: "readAttribute"
-      attribute: "EventList"
-      response:
-          value: []
-          constraints:
-              type: list
diff --git a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml
index dca6317..f0ac686 100644
--- a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: 62.1.1. [TC-PS-1.1] Global attributes with server as DUT
+name: 62.1.1. [TC-PS-1.1] Global Attributes with DUT as Server
 
 PICS:
     - PS.S
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: Test Harness Client reads ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +41,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3a: Read the global attribute: FeatureMap"
+    - label: "Step 3a: TH reads from the DUT the FeatureMap attribute."
       PICS: " !PS.S.F00 && !PS.S.F01 && !PS.S.F02 && !PS.S.F03 "
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -92,7 +94,7 @@
               type: bitmap32
               hasMasksSet: [0x2, 0x8]
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label: "Step 4: Test Harness Client reads AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -102,7 +104,7 @@
               contains:
                   [0, 1, 2, 0x1f, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label: "Step 4: Test Harness Client reads AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -112,7 +114,7 @@
               contains: [0, 1, 2, 0x1f, 65528, 65529, 65531, 65532, 65533]
 
     - label:
-          "Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in
+          "Step 4a: TH reads the Feature dependent(PS.S.F00-WIRED) attribute in
           AttributeList"
       PICS: PS.S.F00
       command: "readAttribute"
@@ -123,7 +125,7 @@
               contains: [5]
 
     - label:
-          "Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in
+          "Step 4b: TH reads the Feature dependent(PS.S.F01-BAT) attribute in
           AttributeList"
       PICS: PS.S.F01
       command: "readAttribute"
@@ -134,7 +136,7 @@
               contains: [14, 15, 16]
 
     - label:
-          "Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in
+          "Step 4c: TH reads the Feature dependent(PS.S.F02-RECHG) attribute in
           AttributeList"
       PICS: PS.S.F02
       command: "readAttribute"
@@ -145,7 +147,7 @@
               contains: [26, 28]
 
     - label:
-          "Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in
+          "Step 4d: TH reads the Feature dependent(PS.S.F03-REPLC) attribute in
           AttributeList"
       PICS: PS.S.F03
       command: "readAttribute"
@@ -155,23 +157,7 @@
               type: list
               contains: [19, 25]
 
-    - label: "Step 5: Read the global attribute: AcceptedCommandList"
-      command: "readAttribute"
-      attribute: "AcceptedCommandList"
-      response:
-          value: []
-          constraints:
-              type: list
-
-    - label: "Step 6: Read the global attribute: GeneratedCommandList"
-      command: "readAttribute"
-      attribute: "GeneratedCommandList"
-      response:
-          value: []
-          constraints:
-              type: list
-
-    - label: "Step 7a: Read the global attribute: EventList"
+    - label: "Step 5a: Test Harness Client reads EventList attribute."
       PICS: "PICS_EVENT_LIST_ENABLED &&  !PS.S.E00 && !PS.S.E01 && !PS.S.E02 "
       command: "readAttribute"
       attribute: "EventList"
@@ -180,7 +166,7 @@
           constraints:
               type: list
 
-    - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList"
+    - label: "Step 5b: TH reads PS.S.E00(WiredFaultChange) event in EventList"
       PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00
       command: "readAttribute"
       attribute: "EventList"
@@ -189,7 +175,7 @@
               type: list
               contains: [0]
 
-    - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList"
+    - label: "Step 5c: TH reads PS.S.E01(BatFaultChange) event in EventList"
       PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01
       command: "readAttribute"
       attribute: "EventList"
@@ -198,7 +184,8 @@
               type: list
               contains: [1]
 
-    - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList"
+    - label:
+          "Step 5d: TH reads PS.S.E02(BatChargeFaultChange) event in EventList"
       PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02
       command: "readAttribute"
       attribute: "EventList"
@@ -206,3 +193,19 @@
           constraints:
               type: list
               contains: [2]
+
+    - label: "Step 6: Test Harness Client reads AcceptedCommandList attribute."
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          value: []
+          constraints:
+              type: list
+
+    - label: "Step 7: Test Harness Client reads GeneratedCommandList attribute."
+      command: "readAttribute"
+      attribute: "GeneratedCommandList"
+      response:
+          value: []
+          constraints:
+              type: list
diff --git a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml
index 06681fa..2f44951 100644
--- a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml
@@ -51,7 +51,7 @@
       disabled: true
 
     - label: "Step 3a: Set up subscription to WiredFaultChange event"
-      PICS: PS.S.E00 && PS.M.ManualWiredFault
+      PICS: PS.S.E00 && PS.S.M.ManualWiredFault
       verification: |
           Please use Interactive mode to Verify subscription test step
           Here the command to enter interactive mode:--   ./chip-tool interactive start
@@ -93,12 +93,13 @@
       disabled: true
 
     - label: "Step 3b: Bring the DUT into a wired fault state."
+      PICS: PS.S.E00 && PS.S.M.ManualWiredFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
 
     - label: "Step 4: TH reads the ActiveWiredFaults attribute from the DUT"
-      PICS: PS.S.A000a && PS.M.ManualWiredFault
+      PICS: PS.S.A000a && PS.S.M.ManualWiredFault
       verification: |
           Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE
 
@@ -109,8 +110,16 @@
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
       disabled: true
 
+    - label:
+          "Step 5: The Current field of Step 3b has to be the same as the value
+          of Step 4."
+      PICS: PS.S.E00 && PS.S.A000a && PS.S.M.ManualWiredFault
+      verification: |
+
+      disabled: true
+
     - label: "Step 6: Bring the DUT back into a clean state."
-      PICS: PS.S.E00 && PS.M.ManualWiredFault
+      PICS: PS.S.E00 && PS.S.M.ManualWiredFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
@@ -133,7 +142,7 @@
       disabled: true
 
     - label: "Step 8a: Set up subscription to BatFaultChange event"
-      PICS: PS.S.E01 && PS.M.ManualBatFault
+      PICS: PS.S.E01 && PS.S.M.ManualBatFault
       verification: |
           Please use Interactive mode to Verify subscription test step
           Here the command to enter interactive mode:--   ./chip-tool interactive start
@@ -174,12 +183,13 @@
       disabled: true
 
     - label: "Step 8b: Bring the DUT into a battery fault state."
+      PICS: PS.S.E01 && PS.S.M.ManualBatFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
 
     - label: "Step 9: TH reads the ActiveBatFaults attribute from the DUT"
-      PICS: PS.S.A0012 && PS.M.ManualBatFault
+      PICS: PS.S.A0012 && PS.S.M.ManualBatFault
       verification: |
           Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE
 
@@ -190,7 +200,7 @@
       disabled: true
 
     - label: "Step 11: Bring the DUT back into a clean state."
-      PICS: PS.S.E01 && PS.M.ManualBatFault
+      PICS: PS.S.E01 && PS.S.M.ManualBatFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
@@ -203,6 +213,7 @@
 
     - label:
           "Step 12b: TH reads the ActiveBatChargeFaults attribute from the DUT"
+      PICS: PS.S.A001e
       verification: |
           Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE
 
@@ -213,7 +224,7 @@
       disabled: true
 
     - label: "Step 13a: Set up subscription to BatChargeFaultChange event"
-      PICS: PS.S.E02 && PS.M.ManualBatChargeFault
+      PICS: PS.S.E02 && PS.S.M.ManualBatChargeFault
       verification: |
           ./chip-tool interactive start
 
@@ -253,6 +264,7 @@
       disabled: true
 
     - label: "Step 13b: Bring the DUT into a charge fault state."
+      PICS: PS.S.E02 && PS.S.M.ManualBatChargeFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
@@ -269,8 +281,16 @@
           General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
       disabled: true
 
+    - label:
+          "Step 5: The Current field of Step 13b has to be the same as the value
+          of Step 14."
+      PICS: PS.S.E02 && PS.S.A001e && PS.S.M.ManualWiredFault
+      verification: |
+
+      disabled: true
+
     - label: "Step 16: Bring the DUT back into a clean state."
-      PICS: PS.S.E02 && PS.M.ManualBatChargeFault
+      PICS: PS.S.E02 && PS.S.M.ManualBatChargeFault
       verification: |
           DUT ACTION REQUIRED
       disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_1.yaml
index 83634fa..9aba7fc 100644
--- a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_1.yaml
@@ -16,6 +16,9 @@
 
 PICS:
     - RVCCLEANM.S
+    - RVCCLEANM.S.F00
+    - OO.S.C00.Rsp
+    - OO.S.C01.Rsp
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_3.yaml b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_3.yaml
index 7fa5f67..bb212c3 100644
--- a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_3_3.yaml
@@ -21,6 +21,7 @@
     - RVCCLEANM.S.A0002
     - RVCCLEANM.S.A0003
     - RVCCLEANM.S.F00
+    - OO.S.A4003
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_RVCRUNM_3_3.yaml b/src/app/tests/suites/certification/Test_TC_RVCRUNM_3_3.yaml
index 76b1bec..2d609c8 100644
--- a/src/app/tests/suites/certification/Test_TC_RVCRUNM_3_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_RVCRUNM_3_3.yaml
@@ -18,7 +18,10 @@
     Server
 
 PICS:
-    - RVCRUNM.S
+    - RVCRUNM.S.A0002
+    - RVCRUNM.S.A0003
+    - RVCRUNM.S.F00
+    - OO.S.A4003
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml
index 02c0246..3f28380 100644
--- a/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml
@@ -100,7 +100,7 @@
     - label:
           "Step 5: Manually put the device in a state from which it will FAIL to
           transition to PIXIT.TCCM.MODE_CHANGE_FAIL"
-      PICS: TCCM.S.M.CAN_MANUALLY_CONTROLLED && TCCM.S.M.CAN_TEST_MODE_FAILURE
+      PICS: TCCM.S.M.CAN_TEST_MODE_FAILURE && TCCM.S.M.CAN_MANUALLY_CONTROLLED
       verification: |
           Manual operation required
       disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_TCCM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TCCM_3_1.yaml
index 779fbd1..d491fe6 100644
--- a/src/app/tests/suites/certification/Test_TC_TCCM_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TCCM_3_1.yaml
@@ -17,6 +17,8 @@
 PICS:
     - TCCM.S.A0003
     - TCCM.S.F00
+    - OO.S.C00.Rsp
+    - OO.S.C01.Rsp
 
 config:
     nodeId: 0x12344321
@@ -31,7 +33,9 @@
         defaultValue: 0
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -48,14 +52,14 @@
       arguments:
           value: nonNull_OnMode_value
 
-    - label: "Step 2: TH reads the OnMode attribute from the DUT"
+    - label: "Step 2: TH reads from the DUT the OnMode attribute."
       PICS: TCCM.S.A0003 && TCCM.S.F00
       command: "readAttribute"
       attribute: "OnMode"
       response:
           saveAs: on_mode_dut
 
-    - label: "Step 3a: TH reads the CurrentMode attribute from the DUT"
+    - label: "Step 3a: TH reads from the DUT the CurrentMode attribute."
       PICS: TCCM.S.A0001 && TCCM.S.F00
       command: "readAttribute"
       attribute: "CurrentMode"
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
index 2081e13..b2bf2a1 100644
--- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: 42.1.1. [TC-TSTAT-1.1] Global attributes with server as DUT
+name: 42.1.1. [TC-TSTAT-1.1] Global Attributes with DUT as Server
 
 PICS:
     - TSTAT.S
@@ -23,7 +23,9 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label:
+          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
+          test)."
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +33,7 @@
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +41,7 @@
           constraints:
               type: int16u
 
-    - label: "Step 3a: Read the global attribute: FeatureMap"
+    - label: "Step 3a: TH reads from the DUT the FeatureMap attribute."
       PICS:
           "!TSTAT.S.F00 && !TSTAT.S.F01 && !TSTAT.S.F02 && !TSTAT.S.F03 &&
           !TSTAT.S.F04 && !TSTAT.S.F05"
@@ -127,7 +129,7 @@
               type: bitmap32
               hasMasksSet: [0x40]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -136,7 +138,7 @@
               type: list
               contains: [0, 27, 28, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -146,8 +148,8 @@
               contains: [0, 27, 28, 65528, 65529, 65531, 65532, 65533]
 
     - label:
-          "Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in
-          AttributeList"
+          "Step 4b: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) attribute
+          in AttributeList"
       PICS: TSTAT.S.F00
       command: "readAttribute"
       attribute: "AttributeList"
@@ -156,8 +158,8 @@
               type: list
               contains: [18]
     - label:
-          "Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in
-          AttributeList"
+          "Step 4c: TH reads the Feature dependent(TSTAT.S.F01(COOL)) attribute
+          in AttributeList"
       PICS: TSTAT.S.F01
       command: "readAttribute"
       attribute: "AttributeList"
@@ -167,8 +169,8 @@
               contains: [17]
 
     - label:
-          "Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in
-          AttributeList"
+          "Step 4d: TH reads the Feature dependent(TSTAT.S.F02(OCC)) attribute
+          in AttributeList"
       PICS: TSTAT.S.F02
       command: "readAttribute"
       attribute: "AttributeList"
@@ -178,7 +180,7 @@
               contains: [2]
 
     - label:
-          "Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) &
+          "Step 4e: TH reads the Feature dependent(TSTAT.S.F00(HEAT) &
           TSTAT.S.F02(OCC)) attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.F02
       command: "readAttribute"
@@ -189,7 +191,7 @@
               contains: [20]
 
     - label:
-          "Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) &
+          "Step 4f: TH reads the Feature dependent(TSTAT.S.F01(COOL) &
           TSTAT.S.F02(OCC)) attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.F02
       command: "readAttribute"
@@ -200,8 +202,8 @@
               contains: [19]
 
     - label:
-          "Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in
-          AttributeList"
+          "Step 4g: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) attribute
+          in AttributeList"
       PICS: TSTAT.S.F05
       command: "readAttribute"
       attribute: "AttributeList"
@@ -211,8 +213,8 @@
               contains: [17, 18, 25]
 
     - label:
-          "Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in
-          AttributeList"
+          "Step 4h: TH reads the Feature dependent(TSTAT.S.F03(SCH)) attribute
+          in AttributeList"
       PICS: TSTAT.S.F03
       command: "readAttribute"
       attribute: "AttributeList"
@@ -222,7 +224,7 @@
               contains: [32, 33, 34]
 
     - label:
-          "Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in
+          "Step 4i: TH reads the Feature dependent(TSTAT.S.F04(SB)) attribute in
           AttributeList"
       PICS: TSTAT.S.F04
       command: "readAttribute"
@@ -233,7 +235,7 @@
               contains: [52, 53, 54]
 
     - label:
-          "Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) &
+          "Step 4j: TH reads the Feature dependent(TSTAT.S.F04(SB) &
           TSTAT.S.F02(OCC)) attribute in AttributeList"
       PICS: TSTAT.S.F04 && TSTAT.S.F02
       command: "readAttribute"
@@ -243,7 +245,7 @@
               type: list
               contains: [55, 56, 57]
 
-    - label: "Step 4k: Read the optional attribute in AttributeList"
+    - label: "Step 4k: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0001
       command: "readAttribute"
       attribute: "AttributeList"
@@ -252,7 +254,7 @@
               type: list
               contains: [1]
 
-    - label: "Step 4l: Read the optional attribute in AttributeList"
+    - label: "Step 4l: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0009
       command: "readAttribute"
       attribute: "AttributeList"
@@ -261,7 +263,7 @@
               type: list
               contains: [9]
 
-    - label: "Step 4m: Read the optional attribute in AttributeList"
+    - label: "Step 4m: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0010
       command: "readAttribute"
       attribute: "AttributeList"
@@ -270,7 +272,7 @@
               type: list
               contains: [16]
 
-    - label: "Step 4n: Read the optional attribute in AttributeList"
+    - label: "Step 4n: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A001a
       command: "readAttribute"
       attribute: "AttributeList"
@@ -279,7 +281,7 @@
               type: list
               contains: [26]
 
-    - label: "Step 4o: Read the optional attribute in AttributeList"
+    - label: "Step 4o: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A001d
       command: "readAttribute"
       attribute: "AttributeList"
@@ -288,7 +290,7 @@
               type: list
               contains: [29]
 
-    - label: "Step 4p: Read the optional attribute in AttributeList"
+    - label: "Step 4p: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0023
       command: "readAttribute"
       attribute: "AttributeList"
@@ -297,7 +299,7 @@
               type: list
               contains: [35]
 
-    - label: "Step 4q: Read the optional attribute in AttributeList"
+    - label: "Step 4q: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0024
       command: "readAttribute"
       attribute: "AttributeList"
@@ -306,7 +308,7 @@
               type: list
               contains: [36]
 
-    - label: "Step 4r: Read the optional attribute in AttributeList"
+    - label: "Step 4r: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0025
       command: "readAttribute"
       attribute: "AttributeList"
@@ -315,7 +317,7 @@
               type: list
               contains: [37]
 
-    - label: "Step 4s: Read the optional attribute in AttributeList"
+    - label: "Step 4s: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0029
       command: "readAttribute"
       attribute: "AttributeList"
@@ -324,7 +326,7 @@
               type: list
               contains: [41]
 
-    - label: "Step 4t: Read the optional attribute in AttributeList"
+    - label: "Step 4t: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0030
       command: "readAttribute"
       attribute: "AttributeList"
@@ -333,7 +335,7 @@
               type: list
               contains: [48]
 
-    - label: "Step 4u: Read the optional attribute in AttributeList"
+    - label: "Step 4u: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0031
       command: "readAttribute"
       attribute: "AttributeList"
@@ -342,7 +344,7 @@
               type: list
               contains: [49]
 
-    - label: "Step 4x: Read the optional attribute in AttributeList"
+    - label: "Step 4x: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0032
       command: "readAttribute"
       attribute: "AttributeList"
@@ -351,7 +353,7 @@
               type: list
               contains: [50]
 
-    - label: "Step 5y: Read the optional attribute: AttributeList"
+    - label: "Step 4y: TH reads the optional attribute: AttributeList"
       PICS: TSTAT.S.A003a
       command: "readAttribute"
       attribute: "AttributeList"
@@ -360,7 +362,7 @@
               type: list
               contains: [58]
 
-    - label: "Step 4z: Read the optional attribute in AttributeList"
+    - label: "Step 4z: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0040
       command: "readAttribute"
       attribute: "AttributeList"
@@ -369,7 +371,7 @@
               type: list
               contains: [64]
 
-    - label: "Step 4A: Read the optional attribute in AttributeList"
+    - label: "Step 4A: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0041
       command: "readAttribute"
       attribute: "AttributeList"
@@ -378,7 +380,7 @@
               type: list
               contains: [65]
 
-    - label: "Step 4B: Read the optional attribute in AttributeList"
+    - label: "Step 4B: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0042
       command: "readAttribute"
       attribute: "AttributeList"
@@ -387,7 +389,7 @@
               type: list
               contains: [66]
 
-    - label: "Step 4C: Read the optional attribute in AttributeList"
+    - label: "Step 4C: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0043
       command: "readAttribute"
       attribute: "AttributeList"
@@ -396,7 +398,7 @@
               type: list
               contains: [67]
 
-    - label: "Step 5D: Read the optional attribute: AttributeList"
+    - label: "Step 4D: TH reads the optional attribute: AttributeList"
       PICS: TSTAT.S.A0044
       command: "readAttribute"
       attribute: "AttributeList"
@@ -405,7 +407,7 @@
               type: list
               contains: [68]
 
-    - label: "Step 4E: Read the optional attribute in AttributeList"
+    - label: "Step 4E: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0045
       command: "readAttribute"
       attribute: "AttributeList"
@@ -414,7 +416,7 @@
               type: list
               contains: [69]
 
-    - label: "Step 4F: Read the optional attribute in AttributeList"
+    - label: "Step 4F: TH reads the optional attribute in AttributeList"
       PICS: TSTAT.S.A0046
       command: "readAttribute"
       attribute: "AttributeList"
@@ -423,7 +425,7 @@
               type: list
               contains: [70]
 
-    - label: "Step 5G: Read the optional attribute: AttributeList"
+    - label: "Step 4g: TH reads the optional attribute: AttributeList"
       PICS: TSTAT.S.A0047
       command: "readAttribute"
       attribute: "AttributeList"
@@ -433,7 +435,7 @@
               contains: [71]
 
     - label:
-          "Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional
+          "Step 4H: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.A0003
       command: "readAttribute"
@@ -444,7 +446,7 @@
               contains: [3]
 
     - label:
-          "Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional
+          "Step 4I: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.A0004
       command: "readAttribute"
@@ -455,7 +457,7 @@
               contains: [4]
 
     - label:
-          "Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional
+          "Step 4J: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.A0008
       command: "readAttribute"
@@ -466,7 +468,7 @@
               contains: [8]
 
     - label:
-          "Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional
+          "Step 4K: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.A0015
       command: "readAttribute"
@@ -477,7 +479,7 @@
               contains: [21]
 
     - label:
-          "Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional
+          "Step 4L: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F00 && TSTAT.S.A0016
       command: "readAttribute"
@@ -488,7 +490,7 @@
               contains: [22]
 
     - label:
-          "Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional
+          "Step 4M: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.A0005
       command: "readAttribute"
@@ -499,7 +501,7 @@
               contains: [5]
 
     - label:
-          "Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional
+          "Step 4N: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.A0007
       command: "readAttribute"
@@ -510,7 +512,7 @@
               contains: [6]
 
     - label:
-          "Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional
+          "Step 4O: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.A0007
       command: "readAttribute"
@@ -521,7 +523,7 @@
               contains: [7]
 
     - label:
-          "Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional
+          "Step 4P: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.A0017
       command: "readAttribute"
@@ -532,7 +534,7 @@
               contains: [23]
 
     - label:
-          "Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional
+          "Step 4Q: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F01 && TSTAT.S.A0018
       command: "readAttribute"
@@ -543,7 +545,7 @@
               contains: [24]
 
     - label:
-          "Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional
+          "Step 4R: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) optional
           attribute in AttributeList"
       PICS: TSTAT.S.F05 && TSTAT.S.A001e
       command: "readAttribute"
@@ -553,7 +555,16 @@
               type: list
               contains: [30]
 
-    - label: "Step 5a: Read the mandatory commands in AcceptedCommandList"
+    - label: "Step 5: TH reads EventList attribute from the DUT."
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          value: []
+          constraints:
+              type: list
+
+    - label: "Step 6a: TH reads from the DUT the AcceptedCommandList attribute."
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -562,7 +573,7 @@
               contains: [0]
 
     - label:
-          "Step 5b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in
+          "Step 6b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in
           AcceptedCommandList"
       PICS: TSTAT.S.F03
       command: "readAttribute"
@@ -573,7 +584,7 @@
               contains: [1, 2, 3]
 
     - label:
-          "Step 5c: Read the optional (GetRelayStatusLog) command in
+          "Step 6c: TH reads the optional (GetRelayStatusLog) command in
           AcceptedCommandList"
       PICS: TSTAT.S.C04.Rsp
       command: "readAttribute"
@@ -583,7 +594,8 @@
               type: list
               contains: [4]
 
-    - label: "Step 6a: Read the global attribute: GeneratedCommandList"
+    - label:
+          "Step 7a: TH reads from the DUT the GeneratedCommandList attribute."
       PICS: " !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp "
       command: "readAttribute"
       attribute: "GeneratedCommandList"
@@ -593,7 +605,7 @@
               type: list
 
     - label:
-          "Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in
+          "Step 7b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in
           GeneratedCommandList"
       PICS: TSTAT.S.F03
       command: "readAttribute"
@@ -604,7 +616,7 @@
               contains: [0]
 
     - label:
-          "Step 6c: Read optional command (GetRelayStatusLogResponse) in
+          "Step 7c: TH reads optional command (GetRelayStatusLogResponse) in
           GeneratedCommandList"
       PICS: TSTAT.S.C04.Rsp
       command: "readAttribute"
@@ -613,12 +625,3 @@
           constraints:
               type: list
               contains: [1]
-
-    - label: "Step 7: Read EventList attribute from the DUT."
-      PICS: PICS_EVENT_LIST_ENABLED
-      command: "readAttribute"
-      attribute: "EventList"
-      response:
-          value: []
-          constraints:
-              type: list
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
index 36b535a..63aba52 100644
--- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
@@ -23,7 +23,7 @@
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: Commission DUT to TH"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -119,7 +119,7 @@
       response:
           saveAs: UnoccupiedCoolingSetpointValue
 
-    - label: "Step 2: Reads mandatory attributes from DUT: LocalTemperature"
+    - label: "Step 2: TH reads the LocalTemperature attribute from the DUT"
       command: "readAttribute"
       attribute: "LocalTemperature"
       response:
@@ -128,7 +128,7 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 3: Read OutdoorTemperature attribute from the DUT"
+    - label: "Step 3: TH reads the OutdoorTemperature attribute from the DUT"
       PICS: TSTAT.S.A0001
       command: "readAttribute"
       attribute: "OutdoorTemperature"
@@ -138,7 +138,7 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 4: Read Occupancy attribute from the DUT"
+    - label: "Step 4: TH reads the Occupancy attribute from the DUT"
       PICS: TSTAT.S.F02
       command: "readAttribute"
       attribute: "Occupancy"
@@ -149,7 +149,7 @@
               maxValue: 1
 
     - label:
-          "Step 5a: Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05
+          "Step 5a: TH reads attribute AbsMinHeatSetpointLimit if TSTAT.S.F05
           feature is supported"
       PICS: TSTAT.S.A0003 && TSTAT.S.A0005 && TSTAT.S.F05
       command: "readAttribute"
@@ -160,7 +160,7 @@
               maxValue: AbsMinCoolSetpointLimitStep5 - MinSetpointDeadBandValue
 
     - label:
-          "Step 5b: Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05
+          "Step 5b: TH reads attribute AbsMinHeatSetpointLimit if TSTAT.S.F05
           feature is supported"
       PICS: TSTAT.S.A0003 && !TSTAT.S.A0005 && TSTAT.S.F05
       command: "readAttribute"
@@ -170,7 +170,7 @@
               type: int16s
               maxValue: 1575
 
-    - label: "Step 6a: Read attribute AbsMinHeatSetpointLimit from DUT"
+    - label: "Step 6a: TH reads attribute AbsMinHeatSetpointLimit from DUT"
       PICS: TSTAT.S.A0003 && !TSTAT.S.F05
       command: "readAttribute"
       attribute: "AbsMinHeatSetpointLimit"
@@ -181,7 +181,8 @@
               maxValue: 32767
 
     - label:
-          "Step 6b: Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit"
+          "Step 6b: TH reads mandatory attributes from DUT:
+          AbsMaxHeatSetpointLimit"
       PICS: TSTAT.S.A0004
       command: "readAttribute"
       attribute: "AbsMaxHeatSetpointLimit"
@@ -191,7 +192,8 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 7: Read attribute AbsMinCoolSetpointLimit from DUT"
+    - label:
+          "Step 7: TH reads the AbsMinCoolSetpointLimit attribute from the DUT"
       PICS: TSTAT.S.A0005
       command: "readAttribute"
       attribute: "AbsMinCoolSetpointLimit"
@@ -201,7 +203,8 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 8: Read attribute AbsMaxCoolSetpointLimit from DUT"
+    - label:
+          "Step 8: TH reads the AbsMaxCoolSetpointLimit attribute from the DUT"
       PICS: TSTAT.S.A0006
       command: "readAttribute"
       attribute: "AbsMaxCoolSetpointLimit"
@@ -211,7 +214,7 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 9: Read PICoolingDemand attribute from the DUT"
+    - label: "Step 9: TH reads the PICoolingDemand attribute from the DUT"
       PICS: TSTAT.S.A0007
       command: "readAttribute"
       attribute: "PICoolingDemand"
@@ -221,7 +224,7 @@
               minValue: 0
               maxValue: 100
 
-    - label: "Step 10: Read PIHeatingDemand attribute from the DUT"
+    - label: "Step 10: TH reads the PIHeatingDemand attribute from the DUT"
       PICS: TSTAT.S.A0008
       command: "readAttribute"
       attribute: "PIHeatingDemand"
@@ -231,17 +234,9 @@
               minValue: 0
               maxValue: 100
 
-    - label: "Step 11: Read HVACSystemTypeConfiguration attribute from the DUT"
-      PICS: TSTAT.S.A0009
-      command: "readAttribute"
-      attribute: "HVACSystemTypeConfiguration"
-      response:
-          constraints:
-              type: bitmap8
-              minValue: 0
-              maxValue: 63
-
-    - label: "Step 12: Read LocalTemperatureCalibration attribute from the DUT"
+    - label:
+          "Step 12: TH reads the LocalTemperatureCalibration attribute from the
+          DUT"
       PICS: TSTAT.S.A0010
       command: "readAttribute"
       attribute: "LocalTemperatureCalibration"
@@ -251,7 +246,7 @@
               minValue: -25
               maxValue: 25
 
-    - label: "Step 13a: Read attribute OccupiedCoolingSetpoint from the DUT"
+    - label: "Step 13a: TH reads attribute OccupiedCoolingSetpoint from the DUT"
       PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
       command: "readAttribute"
       attribute: "OccupiedCoolingSetpoint"
@@ -261,7 +256,7 @@
               minValue: MinCoolSetpointLimitValue
               maxValue: MaxCoolSetpointLimitValue
 
-    - label: "Step 13b: Read attribute OccupiedCoolingSetpoint from the DUT"
+    - label: "Step 13b: TH reads attribute OccupiedCoolingSetpoint from the DUT"
       PICS: TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018
       command: "readAttribute"
       attribute: "OccupiedCoolingSetpoint"
@@ -272,7 +267,7 @@
               maxValue: 3200
 
     - label:
-          "Step 14a: Read attribute OccupiedHeatingSetpoint if TSTAT.S.F05
+          "Step 14a: TH reads attribute OccupiedHeatingSetpoint if TSTAT.S.F05
           feature is supported"
       PICS: TSTAT.S.F05 && TSTAT.S.F00
       command: "readAttribute"
@@ -283,7 +278,7 @@
               minValue: AbsMinCoolSetpointLimitStep5
               maxValue: OccupiedCoolingSetpointValue - MinSetpointDeadBandValue
 
-    - label: "Step 14b: Read attribute OccupiedHeatingSetpoint from the DUT"
+    - label: "Step 14b: TH reads attribute OccupiedHeatingSetpoint from the DUT"
       PICS: TSTAT.S.F00 && !TSTAT.S.F05
       command: "readAttribute"
       attribute: "OccupiedHeatingSetpoint"
@@ -293,7 +288,8 @@
               minValue: 700
               maxValue: 3000
 
-    - label: "Step 15a: Read UnoccupiedCoolingSetpoint attribute from the DUT"
+    - label:
+          "Step 15a: TH reads UnoccupiedCoolingSetpoint attribute from the DUT"
       PICS: TSTAT.S.F05 && TSTAT.S.A0013
       command: "readAttribute"
       attribute: "UnoccupiedCoolingSetpoint"
@@ -303,7 +299,8 @@
               minValue: AbsMinHeatValue
               maxValue: AbsMaxHeatValue
 
-    - label: "Step 15b: Read UnoccupiedCoolingSetpoint attribute from the DUT"
+    - label:
+          "Step 15b: TH reads UnoccupiedCoolingSetpoint attribute from the DUT"
       PICS: TSTAT.S.F01 && TSTAT.S.F02 && !TSTAT.S.F05
       command: "readAttribute"
       attribute: "UnoccupiedCoolingSetpoint"
@@ -313,7 +310,8 @@
               minValue: 1600
               maxValue: 3200
 
-    - label: "Step 16a: Read UnoccupiedHeatingSetpoint attribute from the DUT"
+    - label:
+          "Step 16a: TH reads UnoccupiedHeatingSetpoint attribute from the DUT"
       PICS: TSTAT.S.F00 && TSTAT.S.F02 && TSTAT.S.F05 && TSTAT.S.A0013
       command: "readAttribute"
       attribute: "UnoccupiedHeatingSetpoint"
@@ -324,7 +322,8 @@
               maxValue:
                   UnoccupiedCoolingSetpointValue - MinSetpointDeadBandValue
 
-    - label: "Step 16b: Read UnoccupiedHeatingSetpoint attribute from the DUT"
+    - label:
+          "Step 16b: TH reads UnoccupiedHeatingSetpoint attribute from the DUT"
       PICS: TSTAT.S.F00 && TSTAT.S.F02 && !TSTAT.S.F05
       command: "readAttribute"
       attribute: "UnoccupiedHeatingSetpoint"
@@ -334,7 +333,7 @@
               minValue: 700
               maxValue: 3000
 
-    - label: "Step 17a: Reads attribute from DUT: MinHeatSetpointLimit"
+    - label: "Step 17a: TH reads attribute from DUT: MinHeatSetpointLimit"
       PICS: TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0017 && TSTAT.S.A0019
       command: "readAttribute"
       attribute: "MinHeatSetpointLimit"
@@ -345,7 +344,7 @@
               maxValue: MinCoolSetpointLimitValue - MinSetpointDeadBandValue
 
     - label:
-          "Step 17b: Reads MinHeatSetpointLimit attribute from Server DUT and
+          "Step 17b: TH reads MinHeatSetpointLimit attribute from Server DUT and
           verifies that the value is within range"
       command: "readAttribute"
       attribute: "MinHeatSetpointLimit"
@@ -358,7 +357,7 @@
 
     #Using hard coded values when optional attributes are not available
     - label:
-          "Step 17c: Reads MinHeatSetpointLimit attribute from Server DUT and
+          "Step 17c: TH reads MinHeatSetpointLimit attribute from Server DUT and
           verifies that the value is within range"
       command: "readAttribute"
       attribute: "MinHeatSetpointLimit"
@@ -369,7 +368,7 @@
               minValue: 700
               maxValue: 3000
 
-    - label: "Step 18a: Read attribute MaxHeatSetpointLimit from the DUT"
+    - label: "Step 18a: TH reads attribute MaxHeatSetpointLimit from the DUT"
       PICS: TSTAT.S.A0016 && !TSTAT.S.F05
       command: "readAttribute"
       attribute: "MaxHeatSetpointLimit"
@@ -379,7 +378,7 @@
               minValue: 700
               maxValue: 3000
 
-    - label: "Step 18b: Reads attribute from DUT: MaxHeatSetpointLimit"
+    - label: "Step 18b: TH reads attribute from DUT: MaxHeatSetpointLimit"
       PICS: TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018
       command: "readAttribute"
       attribute: "MaxHeatSetpointLimit"
@@ -389,7 +388,7 @@
               minValue: 700
               maxValue: MaxCoolSetpointLimitValue - MinSetpointDeadBandValue
 
-    - label: "Step 19a: Read attribute MinCoolSetpointLimit from DUT"
+    - label: "Step 19a: TH reads attribute MinCoolSetpointLimit from DUT"
       PICS: TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005
       command: "readAttribute"
       attribute: "MinCoolSetpointLimit"
@@ -399,7 +398,7 @@
               minValue: AbsMinCoolSetpointLimitStep5
               maxValue: MaxCoolSetpointLimitValue
 
-    - label: "Step 19b: Read attribute MinCoolSetpointLimit from DUT"
+    - label: "Step 19b: TH reads attribute MinCoolSetpointLimit from DUT"
       PICS: TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005
       command: "readAttribute"
       attribute: "MinCoolSetpointLimit"
@@ -409,7 +408,7 @@
               minValue: 1600
               maxValue: 3200
 
-    - label: "Step 20: Read attribute MaxCoolSetpointLimit from DUT"
+    - label: "Step 20: TH reads the MaxCoolSetpointLimit attribute from the DUT"
       PICS: TSTAT.S.A0018 && TSTAT.S.A0006 && TSTAT.S.A0017
       command: "readAttribute"
       attribute: "MaxCoolSetpointLimit"
@@ -419,7 +418,7 @@
               minValue: MinCoolSetpointLimitValue
               maxValue: AbsMaxCoolSetpointLimitStep6
 
-    - label: "Step 21: Read attribute MinSetpointDeadBand from DUT"
+    - label: "Step 21: TH reads the MinSetpointDeadBand attribute from the DUT"
       PICS: TSTAT.S.F05
       command: "readAttribute"
       attribute: "MinSetpointDeadBand"
@@ -429,7 +428,7 @@
               minValue: 0
               maxValue: 25
 
-    - label: "Step 22: Read RemoteSensing attribute from the DUT"
+    - label: "Step 22: TH reads the RemoteSensing attribute from the DUT"
       PICS: TSTAT.S.A001a
       command: "readAttribute"
       attribute: "RemoteSensing"
@@ -439,7 +438,9 @@
               minValue: 0
               maxValue: 7
 
-    - label: "Step 23: Read attribute ControlSequenceOfOperation from DUT"
+    - label:
+          "Step 23: TH reads the ControlSequenceOfOperation attribute from the
+          DUT"
       PICS: TSTAT.S.A001b
       command: "readAttribute"
       attribute: "ControlSequenceOfOperation"
@@ -449,7 +450,7 @@
               minValue: 0
               maxValue: 5
 
-    - label: "Step 24: Read attribute SystemMode from DUT"
+    - label: "Step 24: TH reads the SystemMode attribute from the DUT"
       PICS: TSTAT.S.A001c
       command: "readAttribute"
       attribute: "SystemMode"
@@ -459,7 +460,8 @@
               minValue: 0
               maxValue: 9
 
-    - label: "Step 26: Read ThermostatRunningMode attribute from the DUT"
+    - label:
+          "Step 26: TH reads the ThermostatRunningMode attribute from the DUT"
       PICS: TSTAT.S.A001e
       command: "readAttribute"
       attribute: "ThermostatRunningMode"
@@ -469,9 +471,7 @@
               minValue: 0
               maxValue: 9
 
-    - label:
-          "Step 27: Reads constraints of optional attributes from DUT:
-          StartOfWeek"
+    - label: "Step 27: TH reads the StartOfWeek attribute from the DUT"
       PICS: TSTAT.S.F03
       command: "readAttribute"
       attribute: "StartOfWeek"
@@ -482,8 +482,8 @@
               maxValue: 6
 
     - label:
-          "Step 28: Reads optional attributes from DUT:
-          NumberOfWeeklyTransitions"
+          "Step 28: TH reads the NumberOfWeeklyTransitions attribute from the
+          DUT"
       PICS: TSTAT.S.F03
       command: "readAttribute"
       attribute: "NumberOfWeeklyTransitions"
@@ -494,7 +494,7 @@
               maxValue: 255
 
     - label:
-          "Step 29: Reads optional attributes from DUT: NumberOfDailyTransitions"
+          "Step 29: TH reads the NumberOfDailyTransitions attribute from the DUT"
       PICS: TSTAT.S.F03
       command: "readAttribute"
       attribute: "NumberOfDailyTransitions"
@@ -504,7 +504,8 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 30: Read TemperatureSetpointHold attribute from the DUT"
+    - label:
+          "Step 30: TH reads the TemperatureSetpointHold attribute from the DUT"
       PICS: TSTAT.S.A0023
       command: "readAttribute"
       attribute: "TemperatureSetpointHold"
@@ -515,7 +516,8 @@
               maxValue: 1
 
     - label:
-          "Step 31: Read TemperatureSetpointHoldDuration attribute from the DUT"
+          "Step 31: TH reads the TemperatureSetpointHoldDuration attribute from
+          the DUT"
       PICS: TSTAT.S.A0024
       command: "readAttribute"
       attribute: "TemperatureSetpointHoldDuration"
@@ -526,8 +528,8 @@
               maxValue: 1440
 
     - label:
-          "Step 32: Read ThermostatProgrammingOperationMode attribute from the
-          DUT"
+          "Step 32: TH reads the ThermostatProgrammingOperationMode attribute
+          from the DUT"
       PICS: TSTAT.S.A0025
       command: "readAttribute"
       attribute: "ThermostatProgrammingOperationMode"
@@ -537,7 +539,8 @@
               minValue: 0
               maxValue: 7
 
-    - label: "Step 33: Read ThermostatRunningState attribute from the DUT"
+    - label:
+          "Step 33: TH reads the ThermostatRunningState attribute from the DUT"
       PICS: TSTAT.S.A0029
       command: "readAttribute"
       attribute: "ThermostatRunningState"
@@ -547,7 +550,7 @@
               minValue: 0
               maxValue: 127
 
-    - label: "Step 34: Read SetpointChangeSource attribute from the DUT"
+    - label: "Step 34: TH reads the SetpointChangeSource attribute from the DUT"
       PICS: TSTAT.S.A0030
       command: "readAttribute"
       attribute: "SetpointChangeSource"
@@ -557,7 +560,7 @@
               minValue: 0
               maxValue: 2
 
-    - label: "Step 35: Read SetpointChangeAmount attribute from the DUT"
+    - label: "Step 35: TH reads the SetpointChangeAmount attribute from the DUT"
       PICS: TSTAT.S.A0031
       command: "readAttribute"
       attribute: "SetpointChangeAmount"
@@ -568,7 +571,8 @@
               maxValue: 32767
 
     - label:
-          "Step 36: Read SetpointChangeSourceTimestamp attribute from the DUT"
+          "Step 36: TH reads the SetpointChangeSourceTimestamp attribute from
+          the DUT"
       PICS: TSTAT.S.A0032
       command: "readAttribute"
       attribute: "SetpointChangeSourceTimestamp"
@@ -576,7 +580,7 @@
           constraints:
               type: epoch_s
 
-    - label: "Step 37: Read OccupiedSetback attribute from the DUT"
+    - label: "Step 37: TH reads the OccupiedSetback attribute from the DUT"
       PICS: TSTAT.S.F04
       command: "readAttribute"
       attribute: "OccupiedSetback"
@@ -586,7 +590,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 38: Read OccupiedSetbackMin attribute from the DUT"
+    - label: "Step 38: TH reads the OccupiedSetbackMin attribute from the DUT"
       PICS: TSTAT.S.F04
       command: "readAttribute"
       attribute: "OccupiedSetbackMin"
@@ -596,7 +600,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 39: Read OccupiedSetbackMax attribute from the DUT"
+    - label: "Step 39: TH reads the OccupiedSetbackMax attribute from the DUT"
       PICS: TSTAT.S.F04
       command: "readAttribute"
       attribute: "OccupiedSetbackMax"
@@ -606,7 +610,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 40: Read UnoccupiedSetback attribute from the DUT"
+    - label: "Step 40: TH reads the UnoccupiedSetback attribute from the DUT"
       PICS: TSTAT.S.F02 && TSTAT.S.F04
       command: "readAttribute"
       attribute: "UnoccupiedSetback"
@@ -616,7 +620,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 41: Read UnoccupiedSetbackMin attribute from the DUT"
+    - label: "Step 41: TH reads the UnoccupiedSetbackMin attribute from the DUT"
       PICS: TSTAT.S.F02 && TSTAT.S.F04
       command: "readAttribute"
       attribute: "UnoccupiedSetbackMin"
@@ -626,7 +630,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 42: Read UnoccupiedSetbackMax attribute from the DUT"
+    - label: "Step 42: TH reads the UnoccupiedSetbackMax attribute from the DUT"
       PICS: TSTAT.S.F02 && TSTAT.S.F04
       command: "readAttribute"
       attribute: "UnoccupiedSetbackMax"
@@ -636,7 +640,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 43: Read EmergencyHeatDelta attribute from the DUT"
+    - label: "Step 43: TH reads the EmergencyHeatDelta attribute from the DUT"
       PICS: TSTAT.S.A003a
       command: "readAttribute"
       attribute: "EmergencyHeatDelta"
@@ -646,7 +650,7 @@
               minValue: 0
               maxValue: 255
 
-    - label: "Step 44: Read ACType attribute from the DUT"
+    - label: "Step 44: TH reads the ACType attribute from the DUT"
       PICS: TSTAT.S.A0040
       command: "readAttribute"
       attribute: "ACType"
@@ -656,7 +660,7 @@
               minValue: 0
               maxValue: 4
 
-    - label: "Step 45: Read ACCapacity attribute from the DUT"
+    - label: "Step 45: TH reads the ACCapacity attribute from the DUT"
       PICS: TSTAT.S.A0041
       command: "readAttribute"
       attribute: "ACCapacity"
@@ -666,7 +670,7 @@
               minValue: 0
               maxValue: 65535
 
-    - label: "Step 46: Read ACRefrigerantType attribute from the DUT"
+    - label: "Step 46: TH reads the ACRefrigerantType attribute from the DUT"
       PICS: TSTAT.S.A0042
       command: "readAttribute"
       attribute: "ACRefrigerantType"
@@ -676,7 +680,7 @@
               minValue: 0
               maxValue: 3
 
-    - label: "Step 47: Read ACCompressorType attribute from the DUT"
+    - label: "Step 47: TH reads the ACCompressorType attribute from the DUT"
       PICS: TSTAT.S.A0043
       command: "readAttribute"
       attribute: "ACCompressorType"
@@ -686,7 +690,7 @@
               minValue: 0
               maxValue: 3
 
-    - label: "Step 48: Read ACErrorCode attribute from the DUT"
+    - label: "Step 48: TH reads the ACErrorCode attribute from the DUT"
       PICS: TSTAT.S.A0044
       command: "readAttribute"
       attribute: "ACErrorCode"
@@ -694,7 +698,7 @@
           constraints:
               type: bitmap32
 
-    - label: "Step 49: Read ACLouverPosition attribute from the DUT"
+    - label: "Step 49: TH reads the ACLouverPosition attribute from the DUT"
       PICS: TSTAT.S.A0045
       command: "readAttribute"
       attribute: "ACLouverPosition"
@@ -704,7 +708,7 @@
               minValue: 1
               maxValue: 5
 
-    - label: "Step 50: Read ACCoilTemperature attribute from the DUT"
+    - label: "Step 50: TH reads the ACCoilTemperature attribute from the DUT"
       PICS: TSTAT.S.A0046
       command: "readAttribute"
       attribute: "ACCoilTemperature"
@@ -714,7 +718,7 @@
               minValue: -27315
               maxValue: 32767
 
-    - label: "Step 51: Read ACCapacityFormat attribute from the DUT"
+    - label: "Step 51: TH reads the ACCapacityFormat attribute from the DUT"
       PICS: TSTAT.S.A0047
       command: "readAttribute"
       attribute: "ACCapacityformat"
diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml
index 4ed2aee..066267b 100644
--- a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml
@@ -76,7 +76,16 @@
               type: list
               contains: [2]
 
-    - label: "Step 5: TH reads from the DUT the AcceptedCommandList attribute."
+    - label: "Step 5: TH reads from the DUT the EventList attribute."
+      PICS: PICS_EVENT_LIST_ENABLED
+      command: "readAttribute"
+      attribute: "EventList"
+      response:
+          value: []
+          constraints:
+              type: list
+
+    - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute."
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -84,19 +93,10 @@
           constraints:
               type: list
 
-    - label: "Step 6: TH reads from the DUT the GeneratedCommandList attribute."
+    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute."
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
           value: []
           constraints:
               type: list
-
-    - label: "Step 7: TH reads from the DUT the EventList attribute."
-      PICS: PICS_EVENT_LIST_ENABLED
-      command: "readAttribute"
-      attribute: "EventList"
-      response:
-          value: []
-          constraints:
-              type: list
diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_3_1.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_3_1.yaml
index 9a7da4b..be641bb 100644
--- a/src/app/tests/suites/certification/Test_TC_WNCV_3_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_WNCV_3_1.yaml
@@ -28,10 +28,10 @@
 
     Step1bWaitTime:
         type: int16u
-        defaultValue: 10000
+        defaultValue: 5000
     Step2bWaitTime:
         type: int16u
-        defaultValue: 500
+        defaultValue: 200
     Step2eWaitTime:
         type: int16u
         defaultValue: 1000
@@ -171,79 +171,17 @@
     ### Depends on the FeatureMap
     # The value of bit 0..1 must be 01b & if (LF) value of bit 2..3 must be 01b else 00b & if (TL) value of bit 4..5 must be 01b else 00b
     # Only 3 possibilities are possible here : 05h =  5, 11h = 17 or 15h = 21 then check a range for simplicity [5  - 21]
-    - label: "Step 3a1: TH reads OperationalStatus attribute's bit 0..1"
+    - label: "Step 3a: TH reads OperationalStatus attribute from DUT"
       PICS: WNCV.S.A000a
       command: "readAttribute"
       attribute: "OperationalStatus"
       response:
-          saveAs: OperationalStatusValue
           constraints:
               type: bitmap8
-              hasMasksSet: [0x1]
-              hasMasksClear: [0x2]
-
-    - label:
-          "Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do
-          the bits checks in upcoming OperationalStatus read steps."
-      PICS: WNCV.S.A000a
-      cluster: "Unit Testing"
-      command: "writeAttribute"
-      attribute: "bitmap8"
-      arguments:
-          value: OperationalStatusValue
-
-    - label:
-          "Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))"
-      PICS: WNCV.S.A000a && WNCV.S.F00
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksSet: [0x4]
-              hasMasksClear: [0x8]
-
-    - label:
-          "Step 3a4: TH check OperationalStatus value bit 2..3 (WNCV.S.F00(LF))"
-      PICS: WNCV.S.A000a && !WNCV.S.F00
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksClear: [0x4, 0x8]
-
-    - label:
-          "Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))"
-      PICS: WNCV.S.A000a && WNCV.S.F01
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksSet: [0x10]
-              hasMasksClear: [0x20]
-
-    - label:
-          "Step 3a6: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))"
-      PICS: WNCV.S.A000a && !WNCV.S.F01
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksClear: [0x10, 0x20]
+              anyOf: [5, 17, 21]
 
     ### Depending on the DUT specs we might prefer a arguments here
-    - label: "Step 3a7: DUT updates its attributes"
+    - label: "Step 3a: DUT updates its attributes"
       cluster: "DelayCommands"
       command: "WaitForMs"
       arguments:
diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_3_2.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_3_2.yaml
index 0204775..822a15d 100644
--- a/src/app/tests/suites/certification/Test_TC_WNCV_3_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_WNCV_3_2.yaml
@@ -28,10 +28,10 @@
 
     Step1bWaitTime:
         type: int16u
-        defaultValue: 10000
+        defaultValue: 5000
     Step2bWaitTime:
         type: int16u
-        defaultValue: 500
+        defaultValue: 200
     Step2eWaitTime:
         type: int16u
         defaultValue: 1000
@@ -40,7 +40,7 @@
         defaultValue: 1000
     Step5aWaitTime:
         type: int16u
-        defaultValue: 500
+        defaultValue: 200
 
 tests:
     - label: "Step 0: Wait for the commissioned device to be retrieved"
@@ -171,79 +171,17 @@
     ### Depends on the FeatureMap
     # The value of bit 0..1 must be 10b & if (LF) value of bit 2..3 must be 10b else 00b & if (TL) value of bit 4..5 must be 10b else 00b
     # Only 3 possibilities are possible here : 0Ah = 10, 22h = 34 or 2Ah = 42 then check a range for simplicity [10 - 42]
-    - label: "Step 3a1: TH reads OperationalStatus attribute's bit 0..1"
+    - label: "Step 3a: TH reads OperationalStatus attribute from DUT"
       PICS: WNCV.S.A000a
       command: "readAttribute"
       attribute: "OperationalStatus"
       response:
-          saveAs: OperationalStatusValue
           constraints:
               type: bitmap8
-              hasMasksSet: [0x2]
-              hasMasksClear: [0x1]
-
-    - label:
-          "Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do
-          the bits checks in upcoming OperationalStatus read steps."
-      PICS: WNCV.S.A000a
-      cluster: "Unit Testing"
-      command: "writeAttribute"
-      attribute: "bitmap8"
-      arguments:
-          value: OperationalStatusValue
-
-    - label:
-          "Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))"
-      PICS: WNCV.S.A000a && WNCV.S.F00
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksSet: [0x8]
-              hasMasksClear: [0x4]
-
-    - label:
-          "Step 3a4: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))"
-      PICS: WNCV.S.A000a && !WNCV.S.F00
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksClear: [0x4, 0x8]
-
-    - label:
-          "Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))"
-      PICS: WNCV.S.A000a && WNCV.S.F01
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksSet: [0x20]
-              hasMasksClear: [0x10]
-
-    - label:
-          "Step 3a6: TH chesks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))"
-      PICS: WNCV.S.A000a && !WNCV.S.F01
-      cluster: "Unit Testing"
-      command: "readAttribute"
-      attribute: "bitmap8"
-      response:
-          value: OperationalStatusValue
-          constraints:
-              type: bitmap8
-              hasMasksClear: [0x10, 0x20]
+              anyOf: [10, 34, 42]
 
     ### Depending on the DUT specs we might prefer a arguments here
-    - label: "Step 3a7: DUT updates its attributes"
+    - label: "Step 3a: DUT updates its attributes"
       cluster: "DelayCommands"
       command: "WaitForMs"
       arguments:
diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_3_4.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_3_4.yaml
index c93ce30..af2a1c0 100644
--- a/src/app/tests/suites/certification/Test_TC_WNCV_3_4.yaml
+++ b/src/app/tests/suites/certification/Test_TC_WNCV_3_4.yaml
@@ -18,6 +18,7 @@
 
 PICS:
     - WNCV.S
+    - WNCV.S.F02 | WNCV.S.F04
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_3_5.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_3_5.yaml
index b1ab57e..71f9f5c 100644
--- a/src/app/tests/suites/certification/Test_TC_WNCV_3_5.yaml
+++ b/src/app/tests/suites/certification/Test_TC_WNCV_3_5.yaml
@@ -15,8 +15,10 @@
 name:
     Window Covering [TC-WNCV-3.5] DownOrClose command Long-Run Verification [DUT
     as Server]
+
 PICS:
     - WNCV.S
+    - WNCV.S.F02 | WNCV.S.F04
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values
index d2082e9..9bba640 100644
--- a/src/app/tests/suites/certification/ci-pics-values
+++ b/src/app/tests/suites/certification/ci-pics-values
@@ -337,6 +337,7 @@
 
 #Manual controllable
 DISHM.S.M.CAN_TEST_MODE_FAILURE=1
+DISHM.S.M.CAN_MANUALLY_CONTROLLED=0
 
 #PIXIT
 PIXIT.DISHM.MODE_CHANGE_FAIL=1
@@ -750,6 +751,7 @@
 PIXIT.LWM.MODE_CHANGE_OK=1
 
 LWM.S.M.CAN_TEST_MODE_FAILURE=1
+LWM.S.M.CAN_MANUALLY_CONTROLLED=1
 
 
 # LAUNDRY DRYER MODE CLUSTER
@@ -768,6 +770,7 @@
 DRYERCTRL.S.M.ManuallyControlled=0
 
 # Time Format Localization Cluster
+LTIME.S.F00=1
 LTIME.S=1
 LTIME.S.A0000=1
 LTIME.S.A0001=1
@@ -1032,9 +1035,9 @@
 PS.S.F01=1
 PS.S.F02=0
 PS.S.F03=0
-PS.M.ManualWiredFault=1
-PS.M.ManualBatFault=1
-PS.M.ManualBatChargeFault=1
+PS.S.M.ManualWiredFault=1
+PS.S.M.ManualBatFault=1
+PS.S.M.ManualBatChargeFault=1
 
 PS.C=0
 PS.C.AM-READ=0
@@ -1218,6 +1221,19 @@
 ACT.C.C0a.Tx=0
 ACT.C.C0b.Tx=0
 
+ACT.S.C00.Rsp=1
+ACT.S.C01.Rsp=0
+ACT.S.C02.Rsp=0
+ACT.S.C03.Rsp=0
+ACT.S.C04.Rsp=0
+ACT.S.C05.Rsp=0
+ACT.S.C06.Rsp=0
+ACT.S.C07.Rsp=0
+ACT.S.C08.Rsp=0
+ACT.S.C09.Rsp=0
+ACT.S.C0a.Rsp=0
+ACT.S.C0b.Rsp=0
+
 # Boolean State Cluster
 BOOL.S=1
 BOOL.S.A0000=1
@@ -1696,6 +1712,9 @@
 CNET.S.A0005=1
 CNET.S.A0006=1
 CNET.S.A0007=1
+CNET.S.A0008=0
+CNET.S.A0009=0
+CNET.S.A000A=0
 
 # Features
 CNET.S.F00=0
@@ -2153,7 +2172,7 @@
 ACFREMON.S=1
 ACFREMON.C=0
 ACFREMON.S.F00=1
-ACFREMON.S.F01=1
+ACFREMON.S.F01=0
 ACFREMON.S.F02=1
 ACFREMON.S.A0000=1
 ACFREMON.S.A0001=1
@@ -2501,6 +2520,7 @@
 TCCM.S.C01.Tx=1
 
 TCCM.S.M.CAN_TEST_MODE_FAILURE=1
+TCCM.S.M.CAN_MANUALLY_CONTROLLED=0
 
 #PIXIT
 PIXIT.TCCM.MODE_CHANGE_FAIL=1
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
index fc151d4..2cd96b5 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -2520,32 +2520,32 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: TH1 commissions DUT using admin node ID N1\n");
+            err = TestStep1Th1CommissionsDutUsingAdminNodeIdN1_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads SubjectsPerAccessControlEntry attribute from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH1 reads DUT Endpoint 0 AccessControl cluster SubjectsPerAccessControlEntry attribute\n");
             if (ShouldSkip("ACL.S.A0002")) {
                 NextTest();
                 return;
             }
-            err = TestStep2ThReadsSubjectsPerAccessControlEntryAttributeFromDut_1();
+            err = TestStep2Th1ReadsDutEndpoint0AccessControlClusterSubjectsPerAccessControlEntryAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads TargetsPerAccessControlEntry attribute from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH1 reads DUT Endpoint 0 AccessControl cluster TargetsPerAccessControlEntry attribute\n");
             if (ShouldSkip("ACL.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep3ThReadsTargetsPerAccessControlEntryAttributeFromDut_2();
+            err = TestStep3Th1ReadsDutEndpoint0AccessControlClusterTargetsPerAccessControlEntryAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads AccessControlEntriesPerFabric attribute from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH1 reads DUT Endpoint 0 AccessControl cluster AccessControlEntriesPerFabric attribute\n");
             if (ShouldSkip("ACL.S.A0004")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ThReadsAccessControlEntriesPerFabricAttributeFromDut_3();
+            err = TestStep4Th1ReadsDutEndpoint0AccessControlClusterAccessControlEntriesPerFabricAttribute_3();
             break;
         }
 
@@ -2587,7 +2587,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1Th1CommissionsDutUsingAdminNodeIdN1_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -2595,7 +2595,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ThReadsSubjectsPerAccessControlEntryAttributeFromDut_1()
+    CHIP_ERROR TestStep2Th1ReadsDutEndpoint0AccessControlClusterSubjectsPerAccessControlEntryAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -2604,9 +2604,9 @@
 
         [cluster readAttributeSubjectsPerAccessControlEntryWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: TH reads SubjectsPerAccessControlEntry attribute from DUT: Error: %@", err);
+                NSLog(@"Step 2: TH1 reads DUT Endpoint 0 AccessControl cluster SubjectsPerAccessControlEntry attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: TH reads SubjectsPerAccessControlEntry attribute from DUT: Success");
+                NSLog(@"Step 2: TH1 reads DUT Endpoint 0 AccessControl cluster SubjectsPerAccessControlEntry attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -2621,7 +2621,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ThReadsTargetsPerAccessControlEntryAttributeFromDut_2()
+    CHIP_ERROR TestStep3Th1ReadsDutEndpoint0AccessControlClusterTargetsPerAccessControlEntryAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -2630,9 +2630,9 @@
 
         [cluster readAttributeTargetsPerAccessControlEntryWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: TH reads TargetsPerAccessControlEntry attribute from DUT: Error: %@", err);
+                NSLog(@"Step 3: TH1 reads DUT Endpoint 0 AccessControl cluster TargetsPerAccessControlEntry attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3: TH reads TargetsPerAccessControlEntry attribute from DUT: Success");
+                NSLog(@"Step 3: TH1 reads DUT Endpoint 0 AccessControl cluster TargetsPerAccessControlEntry attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -2647,7 +2647,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ThReadsAccessControlEntriesPerFabricAttributeFromDut_3()
+    CHIP_ERROR TestStep4Th1ReadsDutEndpoint0AccessControlClusterAccessControlEntriesPerFabricAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -2656,15 +2656,15 @@
 
         [cluster readAttributeAccessControlEntriesPerFabricWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: TH reads AccessControlEntriesPerFabric attribute from DUT: Error: %@", err);
+                NSLog(@"Step 4: TH1 reads DUT Endpoint 0 AccessControl cluster AccessControlEntriesPerFabric attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4: TH reads AccessControlEntriesPerFabric attribute from DUT: Success");
+                NSLog(@"Step 4: TH1 reads DUT Endpoint 0 AccessControl cluster AccessControlEntriesPerFabric attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("accessControlEntriesPerFabric", "int16u", "int16u"));
-            VerifyOrReturn(CheckConstraintMinValue<uint16_t>("accessControlEntriesPerFabric", [value unsignedShortValue], 3U));
+            VerifyOrReturn(CheckConstraintMinValue<uint16_t>("accessControlEntriesPerFabric", [value unsignedShortValue], 4U));
             VerifyOrReturn(CheckConstraintMaxValue<uint16_t>("accessControlEntriesPerFabric", [value unsignedShortValue], 65535U));
 
             NextTest();
@@ -2725,8 +2725,8 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: TH1 commissions DUT using admin node ID N1\n");
+            err = TestStep1Th1CommissionsDutUsingAdminNodeIdN1_0();
             break;
         case 1:
             ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH1 reads DUT Endpoint 0 OperationalCredentials cluster CurrentFabricIndex attribute\n");
@@ -2974,7 +2974,7 @@
     chip::Optional<chip::ByteSpan> mDBadNone;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1Th1CommissionsDutUsingAdminNodeIdN1_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -6441,35 +6441,35 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n");
-            err = TestStep3ReadTheGlobalAttributeFeatureMap_2();
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads from the DUT the FeatureMap attribute\n");
+            err = TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_3();
+            err = TestStep4ThReadsFromTheDutTheAttributeListAttribute_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_4();
+            err = TestStep4ThReadsFromTheDutTheAttributeListAttribute_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: TH reads from the DUT the EventList attribute\n");
             if (ShouldSkip("BOOL.S.E00 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
@@ -6477,7 +6477,7 @@
             NextTest();
             return;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute\n");
             if (ShouldSkip(" !BOOL.S.E00 && PICS_EVENT_LIST_ENABLED ")) {
                 NextTest();
                 return;
@@ -6485,12 +6485,12 @@
             NextTest();
             return;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_7();
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads from the DUT the AcceptedCommandList attribute\n");
+            err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_8();
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: TH reads from the DUT the GeneratedCommandList attribute\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_8();
             break;
         }
 
@@ -6547,7 +6547,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -6555,7 +6555,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6564,9 +6564,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -6583,7 +6583,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6592,9 +6592,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -6611,7 +6611,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_3()
+    CHIP_ERROR TestStep4ThReadsFromTheDutTheAttributeListAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6620,9 +6620,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -6642,7 +6642,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4()
+    CHIP_ERROR TestStep4ThReadsFromTheDutTheAttributeListAttribute_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6651,9 +6651,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -6672,7 +6672,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_7()
+    CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6681,9 +6681,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -6700,7 +6700,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_8()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6709,9 +6709,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -7028,36 +7028,52 @@
             err = TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_18();
             break;
         case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 5a: TH reads optional event(StartUp) in EventList\n");
-            if (ShouldSkip("BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED")) {
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4p: TH reads optional attribute(ProductAppearance) in AttributeList\n");
+            if (ShouldSkip("BRBINFO.S.A0014")) {
                 NextTest();
                 return;
             }
-            NextTest();
-            return;
+            err = TestStep4pThReadsOptionalAttributeProductAppearanceInAttributeList_19();
+            break;
         case 20:
-            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 5b: TH reads optional attribute(ShutDown) in EventList\n");
-            if (ShouldSkip("BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED")) {
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 5a: TH reads from the DUT the EventList attribute\n");
+            if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
         case 21:
-            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5c: TH reads optional attribute(Leave) in EventList\n");
-            if (ShouldSkip("BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED")) {
+            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5b: TH reads optional event(StartUp) in EventList\n");
+            if (ShouldSkip("BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
         case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 6: TH reads AcceptedCommandList from DUT\n");
-            err = TestStep6ThReadsAcceptedCommandListFromDut_22();
-            break;
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5c: TH reads optional attribute(ShutDown) in EventList\n");
+            if (ShouldSkip("BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED")) {
+                NextTest();
+                return;
+            }
+            NextTest();
+            return;
         case 23:
-            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 7: TH1 reads GeneratedCommandList from DUT\n");
-            err = TestStep7Th1ReadsGeneratedCommandListFromDut_23();
+            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 5d TH reads optional attribute(Leave) in EventList\n");
+            if (ShouldSkip("BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED")) {
+                NextTest();
+                return;
+            }
+            NextTest();
+            return;
+        case 24:
+            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 6: TH reads AcceptedCommandList from DUT\n");
+            err = TestStep6ThReadsAcceptedCommandListFromDut_24();
+            break;
+        case 25:
+            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 7: TH1 reads GeneratedCommandList from DUT\n");
+            err = TestStep7Th1ReadsGeneratedCommandListFromDut_25();
             break;
         }
 
@@ -7142,6 +7158,12 @@
         case 23:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 24:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 25:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -7152,7 +7174,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 24;
+    const uint16_t mTestCount = 26;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -7634,7 +7656,32 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_22()
+    CHIP_ERROR TestStep4pThReadsOptionalAttributeProductAppearanceInAttributeList_19()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterBridgedDeviceBasicInformation alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4p: TH reads optional attribute(ProductAppearance) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4p: TH reads optional attribute(ProductAppearance) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 20UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_24()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -7662,7 +7709,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7Th1ReadsGeneratedCommandListFromDut_23()
+    CHIP_ERROR TestStep7Th1ReadsGeneratedCommandListFromDut_25()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -7736,20 +7783,20 @@
             err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute.\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n");
-            err = TestStep3ReadTheGlobalAttributeFeatureMap_2();
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads from the DUT the FeatureMap attribute.\n");
+            err = TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_3();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_3();
             break;
         case 4:
             ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n");
@@ -7769,19 +7816,111 @@
             break;
         case 6:
             ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT\n");
-            if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) {
+            if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep5ThReadsEventListAttributeFromDut_6();
-            break;
+            NextTest();
+            return;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_7();
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TH Read the optional command (InstantAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C00.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6aThReadTheOptionalCommandInstantActionInAcceptedCommandList_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_8();
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6b: TH Read the optional command (InstantActionWithTransition) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C01.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6bThReadTheOptionalCommandInstantActionWithTransitionInAcceptedCommandList_8();
+            break;
+        case 9:
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6C: TH Read the optional command (StartAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C02.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6cThReadTheOptionalCommandStartActionInAcceptedCommandList_9();
+            break;
+        case 10:
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6d: TH Read the optional command (StartActionWithDuration) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C03.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6dThReadTheOptionalCommandStartActionWithDurationInAcceptedCommandList_10();
+            break;
+        case 11:
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6e: TH Read the optional command (StopAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C04.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6eThReadTheOptionalCommandStopActionInAcceptedCommandList_11();
+            break;
+        case 12:
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6f: TH Read the optional command (PauseAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C05.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6fThReadTheOptionalCommandPauseActionInAcceptedCommandList_12();
+            break;
+        case 13:
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6g: TH Read the optional command (PauseActionWithDuration) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C06.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6gThReadTheOptionalCommandPauseActionWithDurationInAcceptedCommandList_13();
+            break;
+        case 14:
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6h: TH Read the optional command (ResumeAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C07.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6hThReadTheOptionalCommandResumeActionInAcceptedCommandList_14();
+            break;
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6i: TH Read the optional command (EnableAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C08.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6iThReadTheOptionalCommandEnableActionInAcceptedCommandList_15();
+            break;
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 6j: TH Read the optional command (EnableActionWithDuration) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C09.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6jThReadTheOptionalCommandEnableActionWithDurationInAcceptedCommandList_16();
+            break;
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6k: TH Read the optional command (DisableAction) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C0a.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6kThReadTheOptionalCommandDisableActionInAcceptedCommandList_17();
+            break;
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6l: TH Read the optional command (DisableActionWithDuration) in AcceptedCommandList\n");
+            if (ShouldSkip("ACT.S.C0b.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6lThReadTheOptionalCommandDisableActionWithDurationInAcceptedCommandList_18();
+            break;
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19();
             break;
         }
 
@@ -7821,6 +7960,39 @@
         case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 9:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 10:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 11:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 12:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 13:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 14:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 15:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 16:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 17:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 18:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 19:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -7831,7 +8003,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 9;
+    const uint16_t mTestCount = 20;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -7846,7 +8018,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -7855,9 +8027,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -7874,7 +8046,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -7883,9 +8055,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -7902,7 +8074,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_3()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -7911,9 +8083,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -7990,17 +8162,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5ThReadsEventListAttributeFromDut_6()
-    {
-
-        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
-        value.message = chip::Span<const char>("Please enter 'y' for successgarbage: not in length on purpose", 28);
-        value.expectedValue.Emplace();
-        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
-        return UserPrompt("alpha", value);
-    }
-
-    CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_7()
+    CHIP_ERROR TestStep6aThReadTheOptionalCommandInstantActionInAcceptedCommandList_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -8009,22 +8171,298 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6a: TH Read the optional command (InstantAction) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6a: TH Read the optional command (InstantAction) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
-            VerifyOrReturn(CheckConstraintMaxLength("acceptedCommandList", value, 11));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL));
+
             NextTest();
         }];
 
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_8()
+    CHIP_ERROR TestStep6bThReadTheOptionalCommandInstantActionWithTransitionInAcceptedCommandList_8()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6b: TH Read the optional command (InstantActionWithTransition) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6b: TH Read the optional command (InstantActionWithTransition) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6cThReadTheOptionalCommandStartActionInAcceptedCommandList_9()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6C: TH Read the optional command (StartAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6C: TH Read the optional command (StartAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6dThReadTheOptionalCommandStartActionWithDurationInAcceptedCommandList_10()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6d: TH Read the optional command (StartActionWithDuration) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6d: TH Read the optional command (StartActionWithDuration) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6eThReadTheOptionalCommandStopActionInAcceptedCommandList_11()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6e: TH Read the optional command (StopAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6e: TH Read the optional command (StopAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 4UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6fThReadTheOptionalCommandPauseActionInAcceptedCommandList_12()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6f: TH Read the optional command (PauseAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6f: TH Read the optional command (PauseAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 5UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6gThReadTheOptionalCommandPauseActionWithDurationInAcceptedCommandList_13()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6g: TH Read the optional command (PauseActionWithDuration) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6g: TH Read the optional command (PauseActionWithDuration) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 6UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6hThReadTheOptionalCommandResumeActionInAcceptedCommandList_14()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6h: TH Read the optional command (ResumeAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6h: TH Read the optional command (ResumeAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 7UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6iThReadTheOptionalCommandEnableActionInAcceptedCommandList_15()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6i: TH Read the optional command (EnableAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6i: TH Read the optional command (EnableAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 8UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6jThReadTheOptionalCommandEnableActionWithDurationInAcceptedCommandList_16()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6j: TH Read the optional command (EnableActionWithDuration) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6j: TH Read the optional command (EnableActionWithDuration) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 9UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6kThReadTheOptionalCommandDisableActionInAcceptedCommandList_17()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6k: TH Read the optional command (DisableAction) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6k: TH Read the optional command (DisableAction) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 10UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6lThReadTheOptionalCommandDisableActionWithDurationInAcceptedCommandList_18()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 6l: TH Read the optional command (DisableActionWithDuration) in AcceptedCommandList: Error: %@", err);
+            } else {
+                NSLog(@"Step 6l: TH Read the optional command (DisableActionWithDuration) in AcceptedCommandList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 11UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -8033,9 +8471,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -45290,52 +45728,60 @@
             err = TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: TH reads EventList from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4j: TH reads optional attribute(ProductAppearance) in attributeList\n");
+            if (ShouldSkip("BINFO.S.A0014")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4jThReadsOptionalAttributeProductAppearanceInAttributeList_13();
+            break;
+        case 14:
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5a: TH reads EventList from DUT\n");
             if (ShouldSkip(" !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5b: Read BINFO.S.E00(StartUp) event in EventList\n");
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5b: TH reads BINFO.S.E00(StartUp) event in EventList\n");
             if (ShouldSkip("BINFO.S.E00 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5c: Read BINFO.S.E01(ShutDown) event in EventList\n");
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5c: TH reads BINFO.S.E01(ShutDown) event in EventList\n");
             if (ShouldSkip("BINFO.S.E01 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5d: Read BINFO.S.E02(Leave) event in EventList\n");
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5d: TH reads BINFO.S.E02(Leave) event in EventList\n");
             if (ShouldSkip("BINFO.S.E02 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5e: Read (ReachableChanged) event in EventList\n");
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 5e: TH reads (ReachableChanged) event in EventList\n");
             if (ShouldSkip("BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6: TH reads from the DUT the AcceptedCommandList attribute.\n");
-            err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_18();
-            break;
         case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n");
-            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19();
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6: TH reads from the DUT the AcceptedCommandList attribute.\n");
+            err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_19();
+            break;
+        case 20:
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_20();
             break;
         }
 
@@ -45408,6 +45854,9 @@
         case 19:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 20:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -45418,7 +45867,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 20;
+    const uint16_t mTestCount = 21;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -45772,7 +46221,32 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_18()
+    CHIP_ERROR TestStep4jThReadsOptionalAttributeProductAppearanceInAttributeList_13()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterBasicInformation alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4j: TH reads optional attribute(ProductAppearance) in attributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4j: TH reads optional attribute(ProductAppearance) in attributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 20UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -45795,7 +46269,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -45869,136 +46343,152 @@
             err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the FeatureMap attribute\n");
             if (ShouldSkip(" !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 ")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeFeatureMap_2();
+            err = TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: TH reads the global attribute: FeatureMap when CNET.S.F00 is set\n");
             if (ShouldSkip("CNET.S.F00")) {
                 NextTest();
                 return;
             }
-            err = TestStep3bReadTheGlobalAttributeFeatureMapWhenCnetsf00IsSet_3();
+            err = TestStep3bThReadsTheGlobalAttributeFeatureMapWhenCnetsf00IsSet_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3c: TH reads the global attribute: FeatureMap when CNET.S.F01 is set\n");
             if (ShouldSkip("CNET.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep3cReadTheGlobalAttributeFeatureMapWhenCnetsf01IsSet_4();
+            err = TestStep3cThReadsTheGlobalAttributeFeatureMapWhenCnetsf01IsSet_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3d: TH reads the global attribute: FeatureMap when CNET.S.F02 is set\n");
             if (ShouldSkip("CNET.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep3dReadTheGlobalAttributeFeatureMapWhenCnetsf02IsSet_5();
+            err = TestStep3dThReadsTheGlobalAttributeFeatureMapWhenCnetsf02IsSet_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads from the DUT the AttributeList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_6();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4b: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_7();
+            err = TestStep4bThReadsFromTheDutTheAttributeListAttribute_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4c: TH reads mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true\n");
             if (ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8();
+            err = TestStep4cThReadsMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList\n");
-            if (ShouldSkip("CNET.S.A0002")) {
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4d: TH reads the feature dependent attribute(ScanMaxTimeSeconds): AttributeList\n");
+            if (ShouldSkip("CNET.S.F00 || CNET.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9();
+            err = TestStep4dThReadsTheFeatureDependentAttributeScanMaxTimeSecondsAttributeList_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList\n");
-            if (ShouldSkip("CNET.S.A0003")) {
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4e: TH reads the feature dependent attribute(ConnectMaxTimeSeconds) in AttributeList\n");
+            if (ShouldSkip("CNET.S.F00 || CNET.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10();
+            err = TestStep4eThReadsTheFeatureDependentAttributeConnectMaxTimeSecondsInAttributeList_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4f: TH reads WIFI related attribute (SupportedWiFiBands) in AttributeList\n");
+            if (ShouldSkip("CNET.S.F00")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4fThReadsWifiRelatedAttributeSupportedWiFiBandsInAttributeList_11();
+            break;
+        case 12:
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4g: TH reads Thread related attribute (SupportedWiFiBands and ThreadVersion) in AttributeList\n");
+            if (ShouldSkip("CNET.S.F01")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4gThReadsThreadRelatedAttributeSupportedWiFiBandsAndThreadVersionInAttributeList_12();
+            break;
+        case 13:
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5: TH reads from the DUT the EventList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)\n");
+        case 14:
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6a: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)\n");
             if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) {
                 NextTest();
                 return;
             }
-            err = TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_12();
+            err = TestStep6aThReadsAcceptedCommandListAttributeFromDutIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_14();
             break;
-        case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)\n");
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6b: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)\n");
             if (ShouldSkip("CNET.S.F00")) {
                 NextTest();
                 return;
             }
-            err = TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_13();
+            err = TestStep6bThReadsAcceptedCommandListAttributeFromDutIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_15();
             break;
-        case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)\n");
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 6c: TH reads AcceptedCommandList attribute from DUT. If DUT supports Thread related features(CNET.S.F01(TH) is true)\n");
             if (ShouldSkip("CNET.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_14();
+            err = TestStep6cThReadsAcceptedCommandListAttributeFromDutIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_16();
             break;
-        case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)\n");
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6d: TH reads AcceptedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(TH) is true)\n");
             if (ShouldSkip("CNET.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_15();
+            err = TestStep6dThReadsAcceptedCommandListAttributeFromDutIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_17();
             break;
-        case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)\n");
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7a: TH reads the GeneratedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)\n");
             if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) {
                 NextTest();
                 return;
             }
-            err = TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16();
+            err = TestStep7aThReadsTheGeneratedCommandListAttributeFromDutIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18();
             break;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true)\n");
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7b: Read the GeneratedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(ET) must be true)\n");
             if (ShouldSkip("CNET.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17();
+            err = TestStep7bReadTheGeneratedCommandListAttributeFromDutIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19();
             break;
         }
 
@@ -46065,6 +46555,12 @@
         case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 18:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 19:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -46075,7 +46571,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 18;
+    const uint16_t mTestCount = 20;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -46090,7 +46586,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46099,9 +46595,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46118,7 +46614,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46127,9 +46623,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46145,7 +46641,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3bReadTheGlobalAttributeFeatureMapWhenCnetsf00IsSet_3()
+    CHIP_ERROR TestStep3bThReadsTheGlobalAttributeFeatureMapWhenCnetsf00IsSet_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46154,9 +46650,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set: Error: %@", err);
+                NSLog(@"Step 3b: TH reads the global attribute: FeatureMap when CNET.S.F00 is set: Error: %@", err);
             } else {
-                NSLog(@"Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set: Success");
+                NSLog(@"Step 3b: TH reads the global attribute: FeatureMap when CNET.S.F00 is set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46172,7 +46668,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3cReadTheGlobalAttributeFeatureMapWhenCnetsf01IsSet_4()
+    CHIP_ERROR TestStep3cThReadsTheGlobalAttributeFeatureMapWhenCnetsf01IsSet_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46181,9 +46677,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set: Error: %@", err);
+                NSLog(@"Step 3c: TH reads the global attribute: FeatureMap when CNET.S.F01 is set: Error: %@", err);
             } else {
-                NSLog(@"Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set: Success");
+                NSLog(@"Step 3c: TH reads the global attribute: FeatureMap when CNET.S.F01 is set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46199,7 +46695,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3dReadTheGlobalAttributeFeatureMapWhenCnetsf02IsSet_5()
+    CHIP_ERROR TestStep3dThReadsTheGlobalAttributeFeatureMapWhenCnetsf02IsSet_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46208,9 +46704,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set: Error: %@", err);
+                NSLog(@"Step 3d: TH reads the global attribute: FeatureMap when CNET.S.F02 is set: Error: %@", err);
             } else {
-                NSLog(@"Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set: Success");
+                NSLog(@"Step 3d: TH reads the global attribute: FeatureMap when CNET.S.F02 is set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46226,7 +46722,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_6()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46235,9 +46731,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46256,7 +46752,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7()
+    CHIP_ERROR TestStep4bThReadsFromTheDutTheAttributeListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46265,9 +46761,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46285,7 +46781,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8()
+    CHIP_ERROR TestStep4cThReadsMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46294,9 +46790,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true: Error: %@", err);
+                NSLog(@"Step 4c: TH reads mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true: Success");
+                NSLog(@"Step 4c: TH reads mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46315,7 +46811,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9()
+    CHIP_ERROR TestStep4dThReadsTheFeatureDependentAttributeScanMaxTimeSecondsAttributeList_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46324,9 +46820,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads the feature dependent attribute(ScanMaxTimeSeconds): AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList: Success");
+                NSLog(@"Step 4d: TH reads the feature dependent attribute(ScanMaxTimeSeconds): AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46340,7 +46836,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10()
+    CHIP_ERROR TestStep4eThReadsTheFeatureDependentAttributeConnectMaxTimeSecondsInAttributeList_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46349,9 +46845,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4e: TH reads the feature dependent attribute(ConnectMaxTimeSeconds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList: Success");
+                NSLog(@"Step 4e: TH reads the feature dependent attribute(ConnectMaxTimeSeconds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46365,7 +46861,58 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_12()
+    CHIP_ERROR TestStep4fThReadsWifiRelatedAttributeSupportedWiFiBandsInAttributeList_11()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4f: TH reads WIFI related attribute (SupportedWiFiBands) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4f: TH reads WIFI related attribute (SupportedWiFiBands) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4gThReadsThreadRelatedAttributeSupportedWiFiBandsAndThreadVersionInAttributeList_12()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4g: TH reads Thread related attribute (SupportedWiFiBands and ThreadVersion) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4g: TH reads Thread related attribute (SupportedWiFiBands and ThreadVersion) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6aThReadsAcceptedCommandListAttributeFromDutIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46374,9 +46921,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH): Error: %@", err);
+                NSLog(@"Step 6a: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH): Error: %@", err);
             } else {
-                NSLog(@"Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH): Success");
+                NSLog(@"Step 6a: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46393,7 +46940,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_13()
+    CHIP_ERROR TestStep6bThReadsAcceptedCommandListAttributeFromDutIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46402,9 +46949,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true): Error: %@", err);
+                NSLog(@"Step 6b: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true): Error: %@", err);
             } else {
-                NSLog(@"Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true): Success");
+                NSLog(@"Step 6b: TH reads AcceptedCommandList attribute from DUT. If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46418,7 +46965,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_14()
+    CHIP_ERROR TestStep6cThReadsAcceptedCommandListAttributeFromDutIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46427,9 +46974,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true): Error: %@", err);
+                NSLog(@"Step 6c: TH reads AcceptedCommandList attribute from DUT. If DUT supports Thread related features(CNET.S.F01(TH) is true): Error: %@", err);
             } else {
-                NSLog(@"Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true): Success");
+                NSLog(@"Step 6c: TH reads AcceptedCommandList attribute from DUT. If DUT supports Thread related features(CNET.S.F01(TH) is true): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46443,7 +46990,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_15()
+    CHIP_ERROR TestStep6dThReadsAcceptedCommandListAttributeFromDutIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46452,9 +46999,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true): Error: %@", err);
+                NSLog(@"Step 6d: TH reads AcceptedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(TH) is true): Error: %@", err);
             } else {
-                NSLog(@"Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true): Success");
+                NSLog(@"Step 6d: TH reads AcceptedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(TH) is true): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46470,7 +47017,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16()
+    CHIP_ERROR TestStep7aThReadsTheGeneratedCommandListAttributeFromDutIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46479,9 +47026,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true): Error: %@", err);
+                NSLog(@"Step 7a: TH reads the GeneratedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true): Error: %@", err);
             } else {
-                NSLog(@"Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true): Success");
+                NSLog(@"Step 7a: TH reads the GeneratedCommandList attribute from DUT. If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -46497,7 +47044,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17()
+    CHIP_ERROR TestStep7bReadTheGeneratedCommandListAttributeFromDutIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -46506,9 +47053,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true): Error: %@", err);
+                NSLog(@"Step 7b: Read the GeneratedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(ET) must be true): Error: %@", err);
             } else {
-                NSLog(@"Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true): Success");
+                NSLog(@"Step 7b: Read the GeneratedCommandList attribute from DUT. If DUT supports Ethernet related features(CNET.S.F02(ET) must be true): Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52469,75 +53016,79 @@
             err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute.\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n");
-            err = TestStep3ReadTheGlobalAttributeFeatureMap_2();
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads from the DUT the FeatureMap attribute.\n");
+            err = TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_3();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_4();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_4();
             break;
         case 5:
             ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Validate presence of mandatory attribute(UpTime) in AttributeList\n");
+            if (ShouldSkip("DGGEN.S.A0002")) {
+                NextTest();
+                return;
+            }
             err = TestStep4bValidatePresenceOfMandatoryAttributeUpTimeInAttributeList_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(TotalOperationalHours) in AttributeList\n");
             if (ShouldSkip("DGGEN.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6();
+            err = TestStep4cThReadsOptionalAttributeTotalOperationalHoursInAttributeList_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: Read optional attribute(BootReason) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(BootReason) in AttributeList\n");
             if (ShouldSkip("DGGEN.S.A0004")) {
                 NextTest();
                 return;
             }
-            err = TestStep4dReadOptionalAttributeBootReasonInAttributeList_7();
+            err = TestStep4dThReadsOptionalAttributeBootReasonInAttributeList_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: TH reads optional attribute(ActiveHardwareFaults) in AttributeList\n");
             if (ShouldSkip("DGGEN.S.A0005")) {
                 NextTest();
                 return;
             }
-            err = TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8();
+            err = TestStep4eThReadsOptionalAttributeActiveHardwareFaultsInAttributeList_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: TH reads optional attribute(ActiveRadioFaults) in AttributeList\n");
             if (ShouldSkip("DGGEN.S.A0006")) {
                 NextTest();
                 return;
             }
-            err = TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9();
+            err = TestStep4fThReadsOptionalAttributeActiveRadioFaultsInAttributeList_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4g: TH reads optional attribute(ActiveNetworkFaults) in AttributeList\n");
             if (ShouldSkip("DGGEN.S.A0007")) {
                 NextTest();
                 return;
             }
-            err = TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10();
+            err = TestStep4gThReadsOptionalAttributeActiveNetworkFaultsInAttributeList_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: TH reads from the DUT the EventList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
@@ -52545,7 +53096,7 @@
             NextTest();
             return;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: Read optional event(HardwareFaultChange) in EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: TH reads optional event(HardwareFaultChange) in EventList\n");
             if (ShouldSkip("DGGEN.S.E00 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
@@ -52553,7 +53104,7 @@
             NextTest();
             return;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: Read optional event(RadioFaultChange) in EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: TH reads optional event(RadioFaultChange) in EventList\n");
             if (ShouldSkip("DGGEN.S.E01 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
@@ -52561,7 +53112,7 @@
             NextTest();
             return;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5d: Read optional event(NetworkFaultChange) in EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5d: TH reads optional event(NetworkFaultChange) in EventList\n");
             if (ShouldSkip("DGGEN.S.E02 && PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
@@ -52569,12 +53120,12 @@
             NextTest();
             return;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_15();
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6: TH reads from the DUT the AcceptedCommandList attribute\n");
+            err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_15();
             break;
         case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7: TH reads GeneratedCommandList from DUT\n");
-            err = TestStep7ThReadsGeneratedCommandListFromDut_16();
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7: TH reads from the DUT the GeneratedCommandList attribute\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_16();
             break;
         }
 
@@ -52663,7 +53214,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52672,9 +53223,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52691,7 +53242,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3ThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52700,9 +53251,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3: TH reads from the DUT the FeatureMap attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52719,7 +53270,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_3()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52728,9 +53279,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52752,7 +53303,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52761,9 +53312,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52809,7 +53360,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6()
+    CHIP_ERROR TestStep4cThReadsOptionalAttributeTotalOperationalHoursInAttributeList_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52818,9 +53369,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4c: TH reads optional attribute(TotalOperationalHours) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList: Success");
+                NSLog(@"Step 4c: TH reads optional attribute(TotalOperationalHours) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52834,7 +53385,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4dReadOptionalAttributeBootReasonInAttributeList_7()
+    CHIP_ERROR TestStep4dThReadsOptionalAttributeBootReasonInAttributeList_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52843,9 +53394,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4d: Read optional attribute(BootReason) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads optional attribute(BootReason) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4d: Read optional attribute(BootReason) in AttributeList: Success");
+                NSLog(@"Step 4d: TH reads optional attribute(BootReason) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52859,7 +53410,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8()
+    CHIP_ERROR TestStep4eThReadsOptionalAttributeActiveHardwareFaultsInAttributeList_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52868,9 +53419,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4e: TH reads optional attribute(ActiveHardwareFaults) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList: Success");
+                NSLog(@"Step 4e: TH reads optional attribute(ActiveHardwareFaults) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52884,7 +53435,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9()
+    CHIP_ERROR TestStep4fThReadsOptionalAttributeActiveRadioFaultsInAttributeList_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52893,9 +53444,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4f: TH reads optional attribute(ActiveRadioFaults) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList: Success");
+                NSLog(@"Step 4f: TH reads optional attribute(ActiveRadioFaults) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52909,7 +53460,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10()
+    CHIP_ERROR TestStep4gThReadsOptionalAttributeActiveNetworkFaultsInAttributeList_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52918,9 +53469,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4g: TH reads optional attribute(ActiveNetworkFaults) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList: Success");
+                NSLog(@"Step 4g: TH reads optional attribute(ActiveNetworkFaults) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52934,7 +53485,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_15()
+    CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52943,9 +53494,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -52960,7 +53511,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_16()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -52969,9 +53520,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: TH reads GeneratedCommandList from DUT: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 7: TH reads GeneratedCommandList from DUT: Success");
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -56766,11 +57317,11 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x00 (default)\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56786,7 +57337,7 @@
             err = TestDutExecutesABlinkEffect_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56802,7 +57353,7 @@
             err = TestDutExecutesABreatheEffect_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 2c: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x02 okay and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 2c: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x02 (okay) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56818,12 +57369,12 @@
             err = TestDutExecutesAnOkayEffect_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 2d: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x0b channel change and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 2d:TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x0b (channel change) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep2dThSendsTriggerEffectCommandToDutWithTheEffectIdentifierFieldSetTo0x0bChannelChangeAndTheEffectVariantFieldSetTo0x00Default_7();
+            err = TestStep2dTHSendsTriggerEffectCommandToDutWithTheEffectIdentifierFieldSetTo0x0bChannelChangeAndTheEffectVariantFieldSetTo0x00Default_7();
             break;
         case 8:
             ChipLogProgress(chipTool, " ***** Test Step 8 : DUT executes a channel change effect\n");
@@ -56834,7 +57385,7 @@
             err = TestDutExecutesAChannelChangeEffect_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 2e: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 2e: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56850,7 +57401,7 @@
             err = TestDutExecutesABreatheEffect_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 2f: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xfe finish effect and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 2f: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xfe (finish effect) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56866,7 +57417,7 @@
             err = TestDutStopsTheBreatheEffectAfterTheCurrentEffectSequence_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 2g: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 2g: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56882,7 +57433,7 @@
             err = TestDutExecutesABreatheEffect_14();
             break;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 2h: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 2h: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56898,7 +57449,7 @@
             err = TestDutStopsTheBreatheEffectAsSoonAsPossible_16();
             break;
         case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x42 unknown\n");
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x42 (unknown).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -56914,7 +57465,7 @@
             err = TestCheckDutExecutesABlinkEffect_18();
             break;
         case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 3b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default\n");
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 3b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).\n");
             if (ShouldSkip("I.S.C40.Rsp")) {
                 NextTest();
                 return;
@@ -57020,7 +57571,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -57043,9 +57594,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x00 (default): Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x00 (default): Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57081,9 +57632,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57119,9 +57670,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2c: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x02 okay and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2c: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x02 (okay) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2c: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x02 okay and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2c: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x02 (okay) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57142,7 +57693,7 @@
         return UserPrompt("alpha", value);
     }
 
-    CHIP_ERROR TestStep2dThSendsTriggerEffectCommandToDutWithTheEffectIdentifierFieldSetTo0x0bChannelChangeAndTheEffectVariantFieldSetTo0x00Default_7()
+    CHIP_ERROR TestStep2dTHSendsTriggerEffectCommandToDutWithTheEffectIdentifierFieldSetTo0x0bChannelChangeAndTheEffectVariantFieldSetTo0x00Default_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -57157,9 +57708,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2d: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x0b channel change and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2d:TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x0b (channel change) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2d: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x0b channel change and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2d:TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x0b (channel change) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57195,9 +57746,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2e: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2e: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2e: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2e: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57233,9 +57784,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2f: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xfe finish effect and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2f: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xfe (finish effect) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2f: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xfe finish effect and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2f: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xfe (finish effect) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57271,9 +57822,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2g: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2g: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2g: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x01 breathe and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2g: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x01 (breathe) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57309,9 +57860,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 2h: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 2h: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 2h: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 2h: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57347,9 +57898,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 3a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x42 unknown: Error: %@", err);
+                                                            NSLog(@"Step 3a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x42 (unknown).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 3a: TH sends TriggerEffect command to DUT with the effect identifier field set to 0x00 blink and the effect variant field set to 0x42 unknown: Success");
+                                                            NSLog(@"Step 3a: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0x00 (blink) and the effect variant field set to 0x42 (unknown).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -57385,9 +57936,9 @@
         [cluster triggerEffectWithParams:params completion:
                                                     ^(NSError * _Nullable err) {
                                                         if (err != nil) {
-                                                            NSLog(@"Step 3b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default: Error: %@", err);
+                                                            NSLog(@"Step 3b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).: Error: %@", err);
                                                         } else {
-                                                            NSLog(@"Step 3b: TH sends TriggerEffect command to DUT with the effect identifier field set to 0xff stop effect and the effect variant field set to 0x00 default: Success");
+                                                            NSLog(@"Step 3b: TH sends TriggerEffect command to DUT, with the effect identifier field set to 0xff (stop effect) and the effect variant field set to 0x00 (default).: Success");
                                                         }
 
                                                         VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58443,149 +58994,149 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 0: Wait for the commissioned device to be retrieved\n");
-            err = TestStep0WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 1: Read the global attribute: ClusterRevision\n");
-            err = TestStep1ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute.\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 2a: Read the global attribute: FeatureMap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the FeatureMap attribute.\n");
             if (ShouldSkip(" !LVL.S.F00 && !LVL.S.F01 && !LVL.S.F02 ")) {
                 NextTest();
                 return;
             }
-            err = TestStep2aReadTheGlobalAttributeFeatureMap_2();
+            err = TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set\n");
             if (ShouldSkip("LVL.S.F00")) {
                 NextTest();
                 return;
             }
-            err = TestStep2bGivenLvlsf00ooEnsureFeaturemapHasTheCorrectBitSet_3();
+            err = TestStep3bGivenLvlsf00ooEnsureFeaturemapHasTheCorrectBitSet_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set\n");
             if (ShouldSkip("LVL.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep2cGivenLvlsf01ltEnsureFeaturemapHasTheCorrectBitSet_4();
+            err = TestStep3cGivenLvlsf01ltEnsureFeaturemapHasTheCorrectBitSet_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 2d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set\n");
             if (ShouldSkip("LVL.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep2dGivenLvlsf02fqEnsureFeaturemapHasTheCorrectBitSet_5();
+            err = TestStep3dGivenLvlsf02fqEnsureFeaturemapHasTheCorrectBitSet_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeAttributeList_6();
+            err = TestStep4ThReadsFromTheDutTheAttributeListAttribute_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeAttributeList_7();
+            err = TestStep4ThReadsFromTheDutTheAttributeListAttribute_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList\n");
             if (ShouldSkip("LVL.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8();
+            err = TestStep4aThReadsTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: TH reads the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList\n");
             if (ShouldSkip("LVL.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9();
+            err = TestStep4bThReadsTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3d: Read the optional attribute(MinLevel) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4c: TH reads the optional attribute(MinLevel) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0002")) {
                 NextTest();
                 return;
             }
-            err = TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10();
+            err = TestStep4cThReadsTheOptionalAttributeMinLevelInAttributeList_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 3e: Read the optional attribute(MaxLevel) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4d: TH reads the optional attribute(MaxLevel) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11();
+            err = TestStep4dThReadsTheOptionalAttributeMaxLevelInAttributeList_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4e: TH reads the optional attribute(OnOffTransitionTime) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0010")) {
                 NextTest();
                 return;
             }
-            err = TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12();
+            err = TestStep4eThReadsTheOptionalAttributeOnOffTransitionTimeInAttributeList_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4f: TH reads the optional attribute(OnTransitionTime) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0012")) {
                 NextTest();
                 return;
             }
-            err = TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13();
+            err = TestStep4fThReadsTheOptionalAttributeOnTransitionTimeInAttributeList_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4g: TH reads the optional attribute(OffTransitionTime) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0013")) {
                 NextTest();
                 return;
             }
-            err = TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14();
+            err = TestStep4gThReadsTheOptionalAttributeOffTransitionTimeInAttributeList_14();
             break;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4h: TH reads the optional attribute(DefaultMoveRate) in AttributeList\n");
             if (ShouldSkip("LVL.S.A0014")) {
                 NextTest();
                 return;
             }
-            err = TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15();
+            err = TestStep4hThReadsTheOptionalAttributeDefaultMoveRateInAttributeList_15();
             break;
         case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_16();
-            break;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n");
-            if (ShouldSkip("LVL.S.F02")) {
-                NextTest();
-                return;
-            }
-            err = TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17();
-            break;
-        case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4b: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep4bReadTheGlobalAttributeGeneratedCommandList_18();
-            break;
-        case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 5: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5: Read the global attribute: EventList\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6a: TH reads from the DUT the AcceptedCommandList attribute.\n");
+            err = TestStep6aThReadsFromTheDutTheAcceptedCommandListAttribute_17();
+            break;
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6a.1: TH reads the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n");
+            if (ShouldSkip("LVL.S.F02")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6a1ThReadsTheFeatureDependentLVLSF02CommandInAcceptedCommandList_18();
+            break;
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19();
+            break;
         }
 
         if (CHIP_NO_ERROR != err) {
@@ -58674,7 +59225,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep0WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -58682,7 +59233,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep1ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58691,9 +59242,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 1: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 1: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58710,7 +59261,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep2aReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58719,9 +59270,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2a: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 2a: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58738,7 +59289,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep2bGivenLvlsf00ooEnsureFeaturemapHasTheCorrectBitSet_3()
+    CHIP_ERROR TestStep3bGivenLvlsf00ooEnsureFeaturemapHasTheCorrectBitSet_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58747,9 +59298,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set: Error: %@", err);
+                NSLog(@"Step 3b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set: Error: %@", err);
             } else {
-                NSLog(@"Step 2b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set: Success");
+                NSLog(@"Step 3b: Given LVL.S.F00(OO) ensure featuremap has the correct bit set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58761,7 +59312,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep2cGivenLvlsf01ltEnsureFeaturemapHasTheCorrectBitSet_4()
+    CHIP_ERROR TestStep3cGivenLvlsf01ltEnsureFeaturemapHasTheCorrectBitSet_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58770,9 +59321,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set: Error: %@", err);
+                NSLog(@"Step 3c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set: Error: %@", err);
             } else {
-                NSLog(@"Step 2c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set: Success");
+                NSLog(@"Step 3c: Given LVL.S.F01(LT) ensure featuremap has the correct bit set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58784,7 +59335,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep2dGivenLvlsf02fqEnsureFeaturemapHasTheCorrectBitSet_5()
+    CHIP_ERROR TestStep3dGivenLvlsf02fqEnsureFeaturemapHasTheCorrectBitSet_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58793,9 +59344,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set: Error: %@", err);
+                NSLog(@"Step 3d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set: Error: %@", err);
             } else {
-                NSLog(@"Step 2d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set: Success");
+                NSLog(@"Step 3d: Given LVL.S.F02(FQ) ensure featuremap has the correct bit set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58807,7 +59358,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6()
+    CHIP_ERROR TestStep4ThReadsFromTheDutTheAttributeListAttribute_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58816,9 +59367,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58840,7 +59391,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_7()
+    CHIP_ERROR TestStep4ThReadsFromTheDutTheAttributeListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58849,9 +59400,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58872,7 +59423,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8()
+    CHIP_ERROR TestStep4aThReadsTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58881,9 +59432,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList: Success");
+                NSLog(@"Step 4a: TH reads the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58898,7 +59449,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9()
+    CHIP_ERROR TestStep4bThReadsTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58907,9 +59458,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4b: TH reads the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList: Success");
+                NSLog(@"Step 4b: TH reads the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58925,7 +59476,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10()
+    CHIP_ERROR TestStep4cThReadsTheOptionalAttributeMinLevelInAttributeList_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58934,9 +59485,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3d: Read the optional attribute(MinLevel) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4c: TH reads the optional attribute(MinLevel) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3d: Read the optional attribute(MinLevel) in AttributeList: Success");
+                NSLog(@"Step 4c: TH reads the optional attribute(MinLevel) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58950,7 +59501,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11()
+    CHIP_ERROR TestStep4dThReadsTheOptionalAttributeMaxLevelInAttributeList_11()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58959,9 +59510,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3e: Read the optional attribute(MaxLevel) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads the optional attribute(MaxLevel) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3e: Read the optional attribute(MaxLevel) in AttributeList: Success");
+                NSLog(@"Step 4d: TH reads the optional attribute(MaxLevel) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -58975,7 +59526,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12()
+    CHIP_ERROR TestStep4eThReadsTheOptionalAttributeOnOffTransitionTimeInAttributeList_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -58984,9 +59535,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4e: TH reads the optional attribute(OnOffTransitionTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList: Success");
+                NSLog(@"Step 4e: TH reads the optional attribute(OnOffTransitionTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59000,7 +59551,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13()
+    CHIP_ERROR TestStep4fThReadsTheOptionalAttributeOnTransitionTimeInAttributeList_13()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59009,9 +59560,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4f: TH reads the optional attribute(OnTransitionTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList: Success");
+                NSLog(@"Step 4f: TH reads the optional attribute(OnTransitionTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59025,7 +59576,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14()
+    CHIP_ERROR TestStep4gThReadsTheOptionalAttributeOffTransitionTimeInAttributeList_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59034,9 +59585,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4g: TH reads the optional attribute(OffTransitionTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList: Success");
+                NSLog(@"Step 4g: TH reads the optional attribute(OffTransitionTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59050,7 +59601,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15()
+    CHIP_ERROR TestStep4hThReadsTheOptionalAttributeDefaultMoveRateInAttributeList_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59059,9 +59610,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4h: TH reads the optional attribute(DefaultMoveRate) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList: Success");
+                NSLog(@"Step 4h: TH reads the optional attribute(DefaultMoveRate) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59075,7 +59626,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_16()
+    CHIP_ERROR TestStep6aThReadsFromTheDutTheAcceptedCommandListAttribute_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59084,9 +59635,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6a: TH reads from the DUT the AcceptedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6a: TH reads from the DUT the AcceptedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59107,7 +59658,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17()
+    CHIP_ERROR TestStep6a1ThReadsTheFeatureDependentLVLSF02CommandInAcceptedCommandList_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59116,9 +59667,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6a.1: TH reads the Feature-dependent(LVL.S.F02) command in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList: Success");
+                NSLog(@"Step 6a.1: TH reads the Feature-dependent(LVL.S.F02) command in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -59132,7 +59683,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadTheGlobalAttributeGeneratedCommandList_18()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -59141,9 +59692,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -68250,7 +68801,7 @@
             break;
         case 4:
             ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Manually put the device in a state from which it will FAIL to transition to PIXIT.LWM.MODE_CHANGE_FAIL\n");
-            if (ShouldSkip("LWM.S.M.CAN_TEST_MODE_FAILURE && PICS_SKIP_SAMPLE_APP")) {
+            if (ShouldSkip("LWM.S.M.CAN_TEST_MODE_FAILURE && LWM.S.M.CAN_MANUALLY_CONTROLLED && PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
@@ -68258,7 +68809,7 @@
             break;
         case 5:
             ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: TH reads from the DUT the CurrentMode attribute.\n");
-            if (ShouldSkip("LWM.S.A0001")) {
+            if (ShouldSkip("LWM.S.A0001 && LWM.S.M.CAN_MANUALLY_CONTROLLED")) {
                 NextTest();
                 return;
             }
@@ -68282,7 +68833,7 @@
             break;
         case 8:
             ChipLogProgress(chipTool, " ***** Test Step 8 : Step 9: Manually put the device in a state from which it will SUCCESSFULLY transition to PIXIT.LWM.MODE_CHANGE_OK\n");
-            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+            if (ShouldSkip("LWM.S.M.CAN_MANUALLY_CONTROLLED && PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
@@ -68290,7 +68841,7 @@
             break;
         case 9:
             ChipLogProgress(chipTool, " ***** Test Step 9 : Step 10: TH reads from the DUT the CurrentMode attribute.\n");
-            if (ShouldSkip("LWM.S.A0001")) {
+            if (ShouldSkip("LWM.S.M.CAN_MANUALLY_CONTROLLED && LWM.S.A0001")) {
                 NextTest();
                 return;
             }
@@ -89311,20 +89862,20 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Test Harness Client reads ClusterRevision attribute.\n");
+            err = TestStep2TestHarnessClientReadsClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the FeatureMap attribute.\n");
             if (ShouldSkip(" !PS.S.F00 && !PS.S.F01 && !PS.S.F02 && !PS.S.F03 ")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeFeatureMap_2();
+            err = TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
             ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: Given PS.S.F00(WIRED) ensure featuremap has the correct bit set\n");
@@ -89359,93 +89910,93 @@
             err = TestStep3dGivenPssf03replcEnsureFeaturemapHasTheCorrectBitSet_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Test Harness Client reads AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_7();
+            err = TestStep4TestHarnessClientReadsAttributeListAttribute_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Test Harness Client reads AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_8();
+            err = TestStep4TestHarnessClientReadsAttributeListAttribute_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: TH reads the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n");
             if (ShouldSkip("PS.S.F00")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9();
+            err = TestStep4aThReadsTheFeatureDependentPSSF00WiredAttributeInAttributeList_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: TH reads the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n");
             if (ShouldSkip("PS.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10();
+            err = TestStep4bThReadsTheFeatureDependentPSSF01BatAttributeInAttributeList_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4c: TH reads the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n");
             if (ShouldSkip("PS.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11();
+            err = TestStep4cThReadsTheFeatureDependentPSSF02RechgAttributeInAttributeList_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4d: TH reads the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n");
             if (ShouldSkip("PS.S.F03")) {
                 NextTest();
                 return;
             }
-            err = TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12();
+            err = TestStep4dThReadsTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_13();
-            break;
-        case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_14();
-            break;
-        case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: Test Harness Client reads EventList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED &&  !PS.S.E00 && !PS.S.E01 && !PS.S.E02 ")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList\n");
+        case 14:
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5b: TH reads PS.S.E00(WiredFaultChange) event in EventList\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E00")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7c: Read PS.S.E01(BatFaultChange) event in EventList\n");
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5c: TH reads PS.S.E01(BatFaultChange) event in EventList\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E01")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList\n");
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5d: TH reads PS.S.E02(BatChargeFaultChange) event in EventList\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E02")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6: Test Harness Client reads AcceptedCommandList attribute.\n");
+            err = TestStep6TestHarnessClientReadsAcceptedCommandListAttribute_17();
+            break;
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7: Test Harness Client reads GeneratedCommandList attribute.\n");
+            err = TestStep7TestHarnessClientReadsGeneratedCommandListAttribute_18();
+            break;
         }
 
         if (CHIP_NO_ERROR != err) {
@@ -89531,7 +90082,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -89539,7 +90090,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2TestHarnessClientReadsClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89548,9 +90099,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: Test Harness Client reads ClusterRevision attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: Test Harness Client reads ClusterRevision attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89567,7 +90118,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89576,9 +90127,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89687,7 +90238,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_7()
+    CHIP_ERROR TestStep4TestHarnessClientReadsAttributeListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89696,9 +90247,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: Test Harness Client reads AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: Test Harness Client reads AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89721,7 +90272,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_8()
+    CHIP_ERROR TestStep4TestHarnessClientReadsAttributeListAttribute_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89730,9 +90281,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4: Test Harness Client reads AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4: Test Harness Client reads AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89754,7 +90305,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9()
+    CHIP_ERROR TestStep4aThReadsTheFeatureDependentPSSF00WiredAttributeInAttributeList_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89763,9 +90314,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList: Success");
+                NSLog(@"Step 4a: TH reads the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89779,7 +90330,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10()
+    CHIP_ERROR TestStep4bThReadsTheFeatureDependentPSSF01BatAttributeInAttributeList_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89788,9 +90339,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4b: TH reads the Feature dependent(PS.S.F01-BAT) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList: Success");
+                NSLog(@"Step 4b: TH reads the Feature dependent(PS.S.F01-BAT) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89806,7 +90357,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11()
+    CHIP_ERROR TestStep4cThReadsTheFeatureDependentPSSF02RechgAttributeInAttributeList_11()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89815,9 +90366,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4c: TH reads the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList: Success");
+                NSLog(@"Step 4c: TH reads the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89832,7 +90383,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12()
+    CHIP_ERROR TestStep4dThReadsTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89841,9 +90392,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList: Success");
+                NSLog(@"Step 4d: TH reads the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89858,7 +90409,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_13()
+    CHIP_ERROR TestStep6TestHarnessClientReadsAcceptedCommandListAttribute_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89867,9 +90418,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6: Test Harness Client reads AcceptedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 5: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6: Test Harness Client reads AcceptedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -89886,7 +90437,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_14()
+    CHIP_ERROR TestStep7TestHarnessClientReadsGeneratedCommandListAttribute_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -89895,9 +90446,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: Test Harness Client reads GeneratedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: Test Harness Client reads GeneratedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -103360,20 +103911,20 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the ClusterRevision attribute.\n");
+            err = TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the FeatureMap attribute.\n");
             if (ShouldSkip("!TSTAT.S.F00 && !TSTAT.S.F01 && !TSTAT.S.F02 && !TSTAT.S.F03 && !TSTAT.S.F04 && !TSTAT.S.F05")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeFeatureMap_2();
+            err = TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2();
             break;
         case 3:
             ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: Given TSTAT.S.F00(HEAT ensure featuremap has the correct bit set\n");
@@ -103432,401 +103983,401 @@
             err = TestStep3hGivenTstatsf06ltneEnsureFeaturemapHasTheCorrectBitSet_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_10();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_11();
+            err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4b: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12();
+            err = TestStep4bThReadsTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4c: TH reads the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13();
+            err = TestStep4cThReadsTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4d: TH reads the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14();
+            err = TestStep4dThReadsTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14();
             break;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4e: TH reads the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15();
+            err = TestStep4eThReadsTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15();
             break;
         case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4f: TH reads the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16();
+            err = TestStep4fThReadsTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16();
             break;
         case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4g: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F05")) {
                 NextTest();
                 return;
             }
-            err = TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17();
+            err = TestStep4gThReadsTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17();
             break;
         case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4h: TH reads the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F03")) {
                 NextTest();
                 return;
             }
-            err = TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18();
+            err = TestStep4hThReadsTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18();
             break;
         case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4i: TH reads the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F04")) {
                 NextTest();
                 return;
             }
-            err = TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19();
+            err = TestStep4iThReadsTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19();
             break;
         case 20:
-            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4j: TH reads the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20();
+            err = TestStep4jThReadsTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20();
             break;
         case 21:
-            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4k: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4k: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0001")) {
                 NextTest();
                 return;
             }
-            err = TestStep4kReadTheOptionalAttributeInAttributeList_21();
+            err = TestStep4kThReadsTheOptionalAttributeInAttributeList_21();
             break;
         case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4l: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4l: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0009")) {
                 NextTest();
                 return;
             }
-            err = TestStep4lReadTheOptionalAttributeInAttributeList_22();
+            err = TestStep4lThReadsTheOptionalAttributeInAttributeList_22();
             break;
         case 23:
-            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4m: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4m: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0010")) {
                 NextTest();
                 return;
             }
-            err = TestStep4mReadTheOptionalAttributeInAttributeList_23();
+            err = TestStep4mThReadsTheOptionalAttributeInAttributeList_23();
             break;
         case 24:
-            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4n: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4n: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A001a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4nReadTheOptionalAttributeInAttributeList_24();
+            err = TestStep4nThReadsTheOptionalAttributeInAttributeList_24();
             break;
         case 25:
-            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4o: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4o: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A001d")) {
                 NextTest();
                 return;
             }
-            err = TestStep4oReadTheOptionalAttributeInAttributeList_25();
+            err = TestStep4oThReadsTheOptionalAttributeInAttributeList_25();
             break;
         case 26:
-            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4p: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4p: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0023")) {
                 NextTest();
                 return;
             }
-            err = TestStep4pReadTheOptionalAttributeInAttributeList_26();
+            err = TestStep4pThReadsTheOptionalAttributeInAttributeList_26();
             break;
         case 27:
-            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4q: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4q: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0024")) {
                 NextTest();
                 return;
             }
-            err = TestStep4qReadTheOptionalAttributeInAttributeList_27();
+            err = TestStep4qThReadsTheOptionalAttributeInAttributeList_27();
             break;
         case 28:
-            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4r: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4r: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0025")) {
                 NextTest();
                 return;
             }
-            err = TestStep4rReadTheOptionalAttributeInAttributeList_28();
+            err = TestStep4rThReadsTheOptionalAttributeInAttributeList_28();
             break;
         case 29:
-            ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4s: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4s: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0029")) {
                 NextTest();
                 return;
             }
-            err = TestStep4sReadTheOptionalAttributeInAttributeList_29();
+            err = TestStep4sThReadsTheOptionalAttributeInAttributeList_29();
             break;
         case 30:
-            ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4t: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4t: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0030")) {
                 NextTest();
                 return;
             }
-            err = TestStep4tReadTheOptionalAttributeInAttributeList_30();
+            err = TestStep4tThReadsTheOptionalAttributeInAttributeList_30();
             break;
         case 31:
-            ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4u: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4u: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0031")) {
                 NextTest();
                 return;
             }
-            err = TestStep4uReadTheOptionalAttributeInAttributeList_31();
+            err = TestStep4uThReadsTheOptionalAttributeInAttributeList_31();
             break;
         case 32:
-            ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0032")) {
                 NextTest();
                 return;
             }
-            err = TestStep4xReadTheOptionalAttributeInAttributeList_32();
+            err = TestStep4xThReadsTheOptionalAttributeInAttributeList_32();
             break;
         case 33:
-            ChipLogProgress(chipTool, " ***** Test Step 33 : Step 5y: Read the optional attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4y: TH reads the optional attribute: AttributeList\n");
             if (ShouldSkip("TSTAT.S.A003a")) {
                 NextTest();
                 return;
             }
-            err = TestStep5yReadTheOptionalAttributeAttributeList_33();
+            err = TestStep4yThReadsTheOptionalAttributeAttributeList_33();
             break;
         case 34:
-            ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0040")) {
                 NextTest();
                 return;
             }
-            err = TestStep4zReadTheOptionalAttributeInAttributeList_34();
+            err = TestStep4zThReadsTheOptionalAttributeInAttributeList_34();
             break;
         case 35:
-            ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4A: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4A: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0041")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheOptionalAttributeInAttributeList_35();
+            err = TestStep4aThReadsTheOptionalAttributeInAttributeList_35();
             break;
         case 36:
-            ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4B: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4B: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0042")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bReadTheOptionalAttributeInAttributeList_36();
+            err = TestStep4bThReadsTheOptionalAttributeInAttributeList_36();
             break;
         case 37:
-            ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4C: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4C: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0043")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadTheOptionalAttributeInAttributeList_37();
+            err = TestStep4cThReadsTheOptionalAttributeInAttributeList_37();
             break;
         case 38:
-            ChipLogProgress(chipTool, " ***** Test Step 38 : Step 5D: Read the optional attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 38 : Step 4D: TH reads the optional attribute: AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0044")) {
                 NextTest();
                 return;
             }
-            err = TestStep5dReadTheOptionalAttributeAttributeList_38();
+            err = TestStep4dThReadsTheOptionalAttributeAttributeList_38();
             break;
         case 39:
-            ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4E: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4E: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0045")) {
                 NextTest();
                 return;
             }
-            err = TestStep4eReadTheOptionalAttributeInAttributeList_39();
+            err = TestStep4eThReadsTheOptionalAttributeInAttributeList_39();
             break;
         case 40:
-            ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4F: Read the optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4F: TH reads the optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0046")) {
                 NextTest();
                 return;
             }
-            err = TestStep4fReadTheOptionalAttributeInAttributeList_40();
+            err = TestStep4fThReadsTheOptionalAttributeInAttributeList_40();
             break;
         case 41:
-            ChipLogProgress(chipTool, " ***** Test Step 41 : Step 5G: Read the optional attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 41 : Step 4g: TH reads the optional attribute: AttributeList\n");
             if (ShouldSkip("TSTAT.S.A0047")) {
                 NextTest();
                 return;
             }
-            err = TestStep5gReadTheOptionalAttributeAttributeList_41();
+            err = TestStep4gThReadsTheOptionalAttributeAttributeList_41();
             break;
         case 42:
-            ChipLogProgress(chipTool, " ***** Test Step 42 : Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 42 : Step 4H: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42();
+            err = TestStep4hThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42();
             break;
         case 43:
-            ChipLogProgress(chipTool, " ***** Test Step 43 : Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 43 : Step 4I: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004")) {
                 NextTest();
                 return;
             }
-            err = TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43();
+            err = TestStep4iThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43();
             break;
         case 44:
-            ChipLogProgress(chipTool, " ***** Test Step 44 : Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 44 : Step 4J: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008")) {
                 NextTest();
                 return;
             }
-            err = TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44();
+            err = TestStep4jThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44();
             break;
         case 45:
-            ChipLogProgress(chipTool, " ***** Test Step 45 : Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 45 : Step 4K: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) {
                 NextTest();
                 return;
             }
-            err = TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45();
+            err = TestStep4kThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45();
             break;
         case 46:
-            ChipLogProgress(chipTool, " ***** Test Step 46 : Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 46 : Step 4L: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) {
                 NextTest();
                 return;
             }
-            err = TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46();
+            err = TestStep4lThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46();
             break;
         case 47:
-            ChipLogProgress(chipTool, " ***** Test Step 47 : Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 47 : Step 4M: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005")) {
                 NextTest();
                 return;
             }
-            err = TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47();
+            err = TestStep4mThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47();
             break;
         case 48:
-            ChipLogProgress(chipTool, " ***** Test Step 48 : Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 48 : Step 4N: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) {
                 NextTest();
                 return;
             }
-            err = TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48();
+            err = TestStep4nThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48();
             break;
         case 49:
-            ChipLogProgress(chipTool, " ***** Test Step 49 : Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 49 : Step 4O: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) {
                 NextTest();
                 return;
             }
-            err = TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49();
+            err = TestStep4oThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49();
             break;
         case 50:
-            ChipLogProgress(chipTool, " ***** Test Step 50 : Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 50 : Step 4P: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) {
                 NextTest();
                 return;
             }
-            err = TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50();
+            err = TestStep4pThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50();
             break;
         case 51:
-            ChipLogProgress(chipTool, " ***** Test Step 51 : Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 51 : Step 4Q: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) {
                 NextTest();
                 return;
             }
-            err = TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51();
+            err = TestStep4qThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51();
             break;
         case 52:
-            ChipLogProgress(chipTool, " ***** Test Step 52 : Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 52 : Step 4R: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList\n");
             if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e")) {
                 NextTest();
                 return;
             }
-            err = TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52();
+            err = TestStep4rThReadsTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52();
             break;
         case 53:
-            ChipLogProgress(chipTool, " ***** Test Step 53 : Step 5a: Read the mandatory commands in AcceptedCommandList\n");
-            err = TestStep5aReadTheMandatoryCommandsInAcceptedCommandList_53();
-            break;
-        case 54:
-            ChipLogProgress(chipTool, " ***** Test Step 54 : Step 5b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n");
-            if (ShouldSkip("TSTAT.S.F03")) {
-                NextTest();
-                return;
-            }
-            err = TestStep5bReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_54();
-            break;
-        case 55:
-            ChipLogProgress(chipTool, " ***** Test Step 55 : Step 5c: Read the optional (GetRelayStatusLog) command in AcceptedCommandList\n");
-            if (ShouldSkip("TSTAT.S.C04.Rsp")) {
-                NextTest();
-                return;
-            }
-            err = TestStep5cReadTheOptionalGetRelayStatusLogCommandInAcceptedCommandList_55();
-            break;
-        case 56:
-            ChipLogProgress(chipTool, " ***** Test Step 56 : Step 6a: Read the global attribute: GeneratedCommandList\n");
-            if (ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp ")) {
-                NextTest();
-                return;
-            }
-            err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_56();
-            break;
-        case 57:
-            ChipLogProgress(chipTool, " ***** Test Step 57 : Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n");
-            if (ShouldSkip("TSTAT.S.F03")) {
-                NextTest();
-                return;
-            }
-            err = TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_57();
-            break;
-        case 58:
-            ChipLogProgress(chipTool, " ***** Test Step 58 : Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n");
-            if (ShouldSkip("TSTAT.S.C04.Rsp")) {
-                NextTest();
-                return;
-            }
-            err = TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_58();
-            break;
-        case 59:
-            ChipLogProgress(chipTool, " ***** Test Step 59 : Step 7: Read EventList attribute from the DUT.\n");
+            ChipLogProgress(chipTool, " ***** Test Step 53 : Step 5: TH reads EventList attribute from the DUT.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
+        case 54:
+            ChipLogProgress(chipTool, " ***** Test Step 54 : Step 6a: TH reads from the DUT the AcceptedCommandList attribute.\n");
+            err = TestStep6aThReadsFromTheDutTheAcceptedCommandListAttribute_54();
+            break;
+        case 55:
+            ChipLogProgress(chipTool, " ***** Test Step 55 : Step 6b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n");
+            if (ShouldSkip("TSTAT.S.F03")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6bThReadsFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_55();
+            break;
+        case 56:
+            ChipLogProgress(chipTool, " ***** Test Step 56 : Step 6c: TH reads the optional (GetRelayStatusLog) command in AcceptedCommandList\n");
+            if (ShouldSkip("TSTAT.S.C04.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep6cThReadsTheOptionalGetRelayStatusLogCommandInAcceptedCommandList_56();
+            break;
+        case 57:
+            ChipLogProgress(chipTool, " ***** Test Step 57 : Step 7a: TH reads from the DUT the GeneratedCommandList attribute.\n");
+            if (ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp ")) {
+                NextTest();
+                return;
+            }
+            err = TestStep7aThReadsFromTheDutTheGeneratedCommandListAttribute_57();
+            break;
+        case 58:
+            ChipLogProgress(chipTool, " ***** Test Step 58 : Step 7b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n");
+            if (ShouldSkip("TSTAT.S.F03")) {
+                NextTest();
+                return;
+            }
+            err = TestStep7bThReadsFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_58();
+            break;
+        case 59:
+            ChipLogProgress(chipTool, " ***** Test Step 59 : Step 7c: TH reads optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n");
+            if (ShouldSkip("TSTAT.S.C04.Rsp")) {
+                NextTest();
+                return;
+            }
+            err = TestStep7cThReadsOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_59();
+            break;
         }
 
         if (CHIP_NO_ERROR != err) {
@@ -104035,7 +104586,7 @@
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -104043,7 +104594,7 @@
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutTheClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104052,9 +104603,9 @@
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the ClusterRevision attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104071,7 +104622,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3aThReadsFromTheDutTheFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104080,9 +104631,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3a: TH reads from the DUT the FeatureMap attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104260,7 +104811,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_10()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104269,9 +104820,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104293,7 +104844,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_11()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_11()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104302,9 +104853,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104325,7 +104876,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12()
+    CHIP_ERROR TestStep4bThReadsTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104334,9 +104885,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4b: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList: Success");
+                NSLog(@"Step 4b: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104350,7 +104901,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13()
+    CHIP_ERROR TestStep4cThReadsTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104359,9 +104910,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4c: TH reads the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList: Success");
+                NSLog(@"Step 4c: TH reads the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104375,7 +104926,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14()
+    CHIP_ERROR TestStep4dThReadsTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104384,9 +104935,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
+                NSLog(@"Step 4d: TH reads the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104400,7 +104951,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15()
+    CHIP_ERROR TestStep4eThReadsTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104409,9 +104960,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4e: TH reads the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
+                NSLog(@"Step 4e: TH reads the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104425,7 +104976,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16()
+    CHIP_ERROR TestStep4fThReadsTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104434,9 +104985,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4f: TH reads the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
+                NSLog(@"Step 4f: TH reads the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104450,7 +105001,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17()
+    CHIP_ERROR TestStep4gThReadsTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104459,9 +105010,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4g: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList: Success");
+                NSLog(@"Step 4g: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104477,7 +105028,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18()
+    CHIP_ERROR TestStep4hThReadsTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104486,9 +105037,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4h: TH reads the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList: Success");
+                NSLog(@"Step 4h: TH reads the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104504,7 +105055,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19()
+    CHIP_ERROR TestStep4iThReadsTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104513,9 +105064,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4i: TH reads the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList: Success");
+                NSLog(@"Step 4i: TH reads the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104531,7 +105082,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20()
+    CHIP_ERROR TestStep4jThReadsTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104540,9 +105091,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4j: TH reads the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
+                NSLog(@"Step 4j: TH reads the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104558,7 +105109,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4kReadTheOptionalAttributeInAttributeList_21()
+    CHIP_ERROR TestStep4kThReadsTheOptionalAttributeInAttributeList_21()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104567,9 +105118,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4k: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4k: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4k: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4k: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104583,7 +105134,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4lReadTheOptionalAttributeInAttributeList_22()
+    CHIP_ERROR TestStep4lThReadsTheOptionalAttributeInAttributeList_22()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104592,9 +105143,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4l: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4l: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4l: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4l: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104608,7 +105159,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4mReadTheOptionalAttributeInAttributeList_23()
+    CHIP_ERROR TestStep4mThReadsTheOptionalAttributeInAttributeList_23()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104617,9 +105168,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4m: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4m: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4m: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4m: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104633,7 +105184,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4nReadTheOptionalAttributeInAttributeList_24()
+    CHIP_ERROR TestStep4nThReadsTheOptionalAttributeInAttributeList_24()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104642,9 +105193,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4n: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4n: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4n: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4n: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104658,7 +105209,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4oReadTheOptionalAttributeInAttributeList_25()
+    CHIP_ERROR TestStep4oThReadsTheOptionalAttributeInAttributeList_25()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104667,9 +105218,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4o: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4o: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4o: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4o: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104683,7 +105234,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4pReadTheOptionalAttributeInAttributeList_26()
+    CHIP_ERROR TestStep4pThReadsTheOptionalAttributeInAttributeList_26()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104692,9 +105243,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4p: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4p: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4p: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4p: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104708,7 +105259,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4qReadTheOptionalAttributeInAttributeList_27()
+    CHIP_ERROR TestStep4qThReadsTheOptionalAttributeInAttributeList_27()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104717,9 +105268,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4q: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4q: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4q: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4q: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104733,7 +105284,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4rReadTheOptionalAttributeInAttributeList_28()
+    CHIP_ERROR TestStep4rThReadsTheOptionalAttributeInAttributeList_28()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104742,9 +105293,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4r: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4r: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4r: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4r: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104758,7 +105309,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4sReadTheOptionalAttributeInAttributeList_29()
+    CHIP_ERROR TestStep4sThReadsTheOptionalAttributeInAttributeList_29()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104767,9 +105318,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4s: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4s: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4s: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4s: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104783,7 +105334,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4tReadTheOptionalAttributeInAttributeList_30()
+    CHIP_ERROR TestStep4tThReadsTheOptionalAttributeInAttributeList_30()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104792,9 +105343,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4t: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4t: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4t: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4t: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104808,7 +105359,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4uReadTheOptionalAttributeInAttributeList_31()
+    CHIP_ERROR TestStep4uThReadsTheOptionalAttributeInAttributeList_31()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104817,9 +105368,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4u: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4u: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4u: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4u: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104833,7 +105384,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4xReadTheOptionalAttributeInAttributeList_32()
+    CHIP_ERROR TestStep4xThReadsTheOptionalAttributeInAttributeList_32()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104842,9 +105393,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4x: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4x: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4x: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4x: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104858,7 +105409,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5yReadTheOptionalAttributeAttributeList_33()
+    CHIP_ERROR TestStep4yThReadsTheOptionalAttributeAttributeList_33()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104867,9 +105418,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5y: Read the optional attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4y: TH reads the optional attribute: AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 5y: Read the optional attribute: AttributeList: Success");
+                NSLog(@"Step 4y: TH reads the optional attribute: AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104883,7 +105434,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4zReadTheOptionalAttributeInAttributeList_34()
+    CHIP_ERROR TestStep4zThReadsTheOptionalAttributeInAttributeList_34()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104892,9 +105443,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4z: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4z: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4z: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4z: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104908,7 +105459,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheOptionalAttributeInAttributeList_35()
+    CHIP_ERROR TestStep4aThReadsTheOptionalAttributeInAttributeList_35()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104917,9 +105468,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4A: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4A: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4A: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4A: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104933,7 +105484,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadTheOptionalAttributeInAttributeList_36()
+    CHIP_ERROR TestStep4bThReadsTheOptionalAttributeInAttributeList_36()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104942,9 +105493,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4B: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4B: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4B: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4B: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104958,7 +105509,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadTheOptionalAttributeInAttributeList_37()
+    CHIP_ERROR TestStep4cThReadsTheOptionalAttributeInAttributeList_37()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104967,9 +105518,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4C: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4C: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4C: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4C: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -104983,7 +105534,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5dReadTheOptionalAttributeAttributeList_38()
+    CHIP_ERROR TestStep4dThReadsTheOptionalAttributeAttributeList_38()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -104992,9 +105543,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5D: Read the optional attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4D: TH reads the optional attribute: AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 5D: Read the optional attribute: AttributeList: Success");
+                NSLog(@"Step 4D: TH reads the optional attribute: AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105008,7 +105559,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4eReadTheOptionalAttributeInAttributeList_39()
+    CHIP_ERROR TestStep4eThReadsTheOptionalAttributeInAttributeList_39()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105017,9 +105568,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4E: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4E: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4E: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4E: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105033,7 +105584,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4fReadTheOptionalAttributeInAttributeList_40()
+    CHIP_ERROR TestStep4fThReadsTheOptionalAttributeInAttributeList_40()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105042,9 +105593,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4F: Read the optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4F: TH reads the optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4F: Read the optional attribute in AttributeList: Success");
+                NSLog(@"Step 4F: TH reads the optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105058,7 +105609,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5gReadTheOptionalAttributeAttributeList_41()
+    CHIP_ERROR TestStep4gThReadsTheOptionalAttributeAttributeList_41()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105067,9 +105618,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5G: Read the optional attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4g: TH reads the optional attribute: AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 5G: Read the optional attribute: AttributeList: Success");
+                NSLog(@"Step 4g: TH reads the optional attribute: AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105083,7 +105634,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42()
+    CHIP_ERROR TestStep4hThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105092,9 +105643,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4H: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4H: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105108,7 +105659,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43()
+    CHIP_ERROR TestStep4iThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105117,9 +105668,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4I: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4I: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105133,7 +105684,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44()
+    CHIP_ERROR TestStep4jThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105142,9 +105693,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4J: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4J: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105158,7 +105709,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45()
+    CHIP_ERROR TestStep4kThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105167,9 +105718,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4K: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4K: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105183,7 +105734,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46()
+    CHIP_ERROR TestStep4lThReadsTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105192,9 +105743,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4L: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4L: TH reads the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105208,7 +105759,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47()
+    CHIP_ERROR TestStep4mThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105217,9 +105768,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4M: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4M: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105233,7 +105784,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48()
+    CHIP_ERROR TestStep4nThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105242,9 +105793,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4N: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4N: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105258,7 +105809,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49()
+    CHIP_ERROR TestStep4oThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105267,9 +105818,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4O: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4O: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105283,7 +105834,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50()
+    CHIP_ERROR TestStep4pThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105292,9 +105843,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4P: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4P: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105308,7 +105859,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51()
+    CHIP_ERROR TestStep4qThReadsTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105317,9 +105868,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4Q: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4Q: TH reads the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105333,7 +105884,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52()
+    CHIP_ERROR TestStep4rThReadsTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105342,9 +105893,9 @@
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList: Error: %@", err);
+                NSLog(@"Step 4R: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList: Success");
+                NSLog(@"Step 4R: TH reads the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105358,7 +105909,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5aReadTheMandatoryCommandsInAcceptedCommandList_53()
+    CHIP_ERROR TestStep6aThReadsFromTheDutTheAcceptedCommandListAttribute_54()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105367,9 +105918,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5a: Read the mandatory commands in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6a: TH reads from the DUT the AcceptedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 5a: Read the mandatory commands in AcceptedCommandList: Success");
+                NSLog(@"Step 6a: TH reads from the DUT the AcceptedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105383,7 +105934,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5bReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_54()
+    CHIP_ERROR TestStep6bThReadsFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_55()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105392,9 +105943,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 5b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList: Success");
+                NSLog(@"Step 6b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105410,7 +105961,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5cReadTheOptionalGetRelayStatusLogCommandInAcceptedCommandList_55()
+    CHIP_ERROR TestStep6cThReadsTheOptionalGetRelayStatusLogCommandInAcceptedCommandList_56()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105419,9 +105970,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5c: Read the optional (GetRelayStatusLog) command in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6c: TH reads the optional (GetRelayStatusLog) command in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 5c: Read the optional (GetRelayStatusLog) command in AcceptedCommandList: Success");
+                NSLog(@"Step 6c: TH reads the optional (GetRelayStatusLog) command in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105435,7 +105986,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_56()
+    CHIP_ERROR TestStep7aThReadsFromTheDutTheGeneratedCommandListAttribute_57()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105444,9 +105995,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6a: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7a: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 6a: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7a: TH reads from the DUT the GeneratedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105463,7 +106014,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_57()
+    CHIP_ERROR TestStep7bThReadsFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_58()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105472,9 +106023,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList: Success");
+                NSLog(@"Step 7b: TH reads Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105488,7 +106039,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_58()
+    CHIP_ERROR TestStep7cThReadsOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_59()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105497,9 +106048,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7c: TH reads optional command (GetRelayStatusLogResponse) in GeneratedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList: Success");
+                NSLog(@"Step 7c: TH reads optional command (GetRelayStatusLogResponse) in GeneratedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105591,21 +106142,21 @@
             err = TestStep4bThReadsOptionalAttributeScheduleProgrammingVisibilityInAttributeList_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads from the DUT the AcceptedCommandList attribute.\n");
-            err = TestStep5ThReadsFromTheDutTheAcceptedCommandListAttribute_6();
-            break;
-        case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads from the DUT the GeneratedCommandList attribute.\n");
-            err = TestStep6ThReadsFromTheDutTheGeneratedCommandListAttribute_7();
-            break;
-        case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: TH reads from the DUT the EventList attribute.\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute.\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
+        case 7:
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads from the DUT the AcceptedCommandList attribute.\n");
+            err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_7();
+            break;
+        case 8:
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n");
+            err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_8();
+            break;
         }
 
         if (CHIP_NO_ERROR != err) {
@@ -105813,7 +106364,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5ThReadsFromTheDutTheAcceptedCommandListAttribute_6()
+    CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105822,9 +106373,9 @@
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5: TH reads from the DUT the AcceptedCommandList attribute.: Error: %@", err);
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 5: TH reads from the DUT the AcceptedCommandList attribute.: Success");
+                NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -105841,7 +106392,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ThReadsFromTheDutTheGeneratedCommandListAttribute_7()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -105850,9 +106401,9 @@
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 6: TH reads from the DUT the GeneratedCommandList attribute.: Success");
+                NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -115230,128 +115781,88 @@
             err = TestStep2eThWaitsFor15SecondsMovementsOnTheDut_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 3a1: TH reads OperationalStatus attribute's bit 0..1\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 3a: TH reads OperationalStatus attribute from DUT\n");
             if (ShouldSkip("WNCV.S.A000a")) {
                 NextTest();
                 return;
             }
-            err = TestStep3a1ThReadsOperationalStatusAttributesBit01_12();
+            err = TestStep3aThReadsOperationalStatusAttributeFromDut_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.\n");
-            if (ShouldSkip("WNCV.S.A000a")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a2WriteAttributeBitmap8WithOperationalStatusValueToDoTheBitsChecksInUpcomingOperationalStatusReadSteps_13();
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 3a: DUT updates its attributes\n");
+            err = TestStep3aDutUpdatesItsAttributes_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))\n");
-            if (ShouldSkip("WNCV.S.A000a && WNCV.S.F00")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a3ThChecksOperationalStatusValueBit23Wncvsf00lf_14();
-            break;
-        case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 3a4: TH check OperationalStatus value bit 2..3 (WNCV.S.F00(LF))\n");
-            if (ShouldSkip("WNCV.S.A000a && !WNCV.S.F00")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a4ThCheckOperationalStatusValueBit23Wncvsf00lf_15();
-            break;
-        case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))\n");
-            if (ShouldSkip("WNCV.S.A000a && WNCV.S.F01")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a5ThChecksOperationalStatusValueBit45Wncvsf01tl_16();
-            break;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3a6: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))\n");
-            if (ShouldSkip("WNCV.S.A000a && !WNCV.S.F01")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a6ThChecksOperationalStatusValueBit45Wncvsf01tl_17();
-            break;
-        case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 3a7: DUT updates its attributes\n");
-            err = TestStep3a7DutUpdatesItsAttributes_18();
-            break;
-        case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e")) {
                 NextTest();
                 return;
             }
-            err = TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_19();
+            err = TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_14();
             break;
-        case 20:
-            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional attribute from DUT\n");
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008")) {
                 NextTest();
                 return;
             }
-            err = TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_20();
+            err = TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_15();
             break;
-        case 21:
-            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute from DUT\n");
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f")) {
                 NextTest();
                 return;
             }
-            err = TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_21();
+            err = TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_16();
             break;
-        case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional attribute from DUT\n");
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009")) {
                 NextTest();
                 return;
             }
-            err = TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_22();
+            err = TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_17();
             break;
-        case 23:
-            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4a: TH sends a StopMotion command to DUT\n");
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4a: TH sends a StopMotion command to DUT\n");
             if (ShouldSkip("WNCV.S.C02.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aThSendsAStopMotionCommandToDut_23();
+            err = TestStep4aThSendsAStopMotionCommandToDut_18();
             break;
-        case 24:
-            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4b: TH waits for 1-5 seconds end of motion(s) on the DUT\n");
-            err = TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_24();
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4b: TH waits for 1-5 seconds end of motion(s) on the DUT\n");
+            err = TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_19();
             break;
-        case 25:
-            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4c: TH reads OperationalStatus attribute from DUT\n");
+        case 20:
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4c: TH reads OperationalStatus attribute from DUT\n");
             if (ShouldSkip("WNCV.S.A000a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cThReadsOperationalStatusAttributeFromDut_25();
+            err = TestStep4cThReadsOperationalStatusAttributeFromDut_20();
             break;
-        case 26:
-            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 5a: TH waits for 100-1000 ms\n");
-            err = TestStep5aThWaitsFor1001000Ms_26();
+        case 21:
+            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5a: TH waits for 100-1000 ms\n");
+            err = TestStep5aThWaitsFor1001000Ms_21();
             break;
-        case 27:
-            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute from DUT\n");
+        case 22:
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b")) {
                 NextTest();
                 return;
             }
-            err = TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_27();
+            err = TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_22();
             break;
-        case 28:
-            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute from DUT\n");
+        case 23:
+            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c")) {
                 NextTest();
                 return;
             }
-            err = TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_28();
+            err = TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_23();
             break;
         }
 
@@ -115436,21 +115947,6 @@
         case 23:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 24:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 25:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 26:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 27:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 28:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
         }
 
         // Go on to the next test.
@@ -115461,7 +115957,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 29;
+    const uint16_t mTestCount = 24;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -115508,7 +116004,7 @@
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = mStep1bWaitTime.HasValue() ? mStep1bWaitTime.Value() : 10000UL;
+        value.ms = mStep1bWaitTime.HasValue() ? mStep1bWaitTime.Value() : 5000UL;
         return WaitForMs("alpha", value);
     }
 
@@ -115655,7 +116151,7 @@
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = mStep2bWaitTime.HasValue() ? mStep2bWaitTime.Value() : 500UL;
+        value.ms = mStep2bWaitTime.HasValue() ? mStep2bWaitTime.Value() : 200UL;
         return WaitForMs("alpha", value);
     }
 
@@ -115722,9 +116218,8 @@
         value.ms = mStep2eWaitTime.HasValue() ? mStep2eWaitTime.Value() : 1000UL;
         return WaitForMs("alpha", value);
     }
-    NSNumber * _Nonnull OperationalStatusValue;
 
-    CHIP_ERROR TestStep3a1ThReadsOperationalStatusAttributesBit01_12()
+    CHIP_ERROR TestStep3aThReadsOperationalStatusAttributeFromDut_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -115733,162 +116228,21 @@
 
         [cluster readAttributeOperationalStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a1: TH reads OperationalStatus attribute's bit 0..1: Error: %@", err);
+                NSLog(@"Step 3a: TH reads OperationalStatus attribute from DUT: Error: %@", err);
             } else {
-                NSLog(@"Step 3a1: TH reads OperationalStatus attribute's bit 0..1: Success");
+                NSLog(@"Step 3a: TH reads OperationalStatus attribute from DUT: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("operationalStatus", "bitmap8", "bitmap8"));
-            {
-                OperationalStatusValue = value;
-            }
-
             NextTest();
         }];
 
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3a2WriteAttributeBitmap8WithOperationalStatusValueToDoTheBitsChecksInUpcomingOperationalStatusReadSteps_13()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        id bitmap8Argument;
-        bitmap8Argument =
-            [OperationalStatusValue copy];
-        [cluster writeAttributeBitmap8WithValue:bitmap8Argument completion:^(NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.: Error: %@", err);
-            } else {
-                NSLog(@"Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a3ThChecksOperationalStatusValueBit23Wncvsf00lf_14()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a4ThCheckOperationalStatusValueBit23Wncvsf00lf_15()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a4: TH check OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a4: TH check OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a5ThChecksOperationalStatusValueBit45Wncvsf01tl_16()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a6ThChecksOperationalStatusValueBit45Wncvsf01tl_17()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a6: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a6: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a7DutUpdatesItsAttributes_18()
+    CHIP_ERROR TestStep3aDutUpdatesItsAttributes_13()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
@@ -115896,7 +116250,7 @@
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_19()
+    CHIP_ERROR TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -115925,7 +116279,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_20()
+    CHIP_ERROR TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -115954,7 +116308,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_21()
+    CHIP_ERROR TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -115983,7 +116337,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_22()
+    CHIP_ERROR TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116012,7 +116366,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aThSendsAStopMotionCommandToDut_23()
+    CHIP_ERROR TestStep4aThSendsAStopMotionCommandToDut_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116035,7 +116389,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_24()
+    CHIP_ERROR TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_19()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
@@ -116043,7 +116397,7 @@
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep4cThReadsOperationalStatusAttributeFromDut_25()
+    CHIP_ERROR TestStep4cThReadsOperationalStatusAttributeFromDut_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116070,7 +116424,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5aThWaitsFor1001000Ms_26()
+    CHIP_ERROR TestStep5aThWaitsFor1001000Ms_21()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
@@ -116078,7 +116432,7 @@
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_27()
+    CHIP_ERROR TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_22()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116107,7 +116461,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_28()
+    CHIP_ERROR TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_23()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116263,128 +116617,88 @@
             err = TestStep2eThLeaveTheDeviceMovingFor2Seconds_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 3a1: TH reads OperationalStatus attribute's bit 0..1\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 3a: TH reads OperationalStatus attribute from DUT\n");
             if (ShouldSkip("WNCV.S.A000a")) {
                 NextTest();
                 return;
             }
-            err = TestStep3a1ThReadsOperationalStatusAttributesBit01_12();
+            err = TestStep3aThReadsOperationalStatusAttributeFromDut_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.\n");
-            if (ShouldSkip("WNCV.S.A000a")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a2WriteAttributeBitmap8WithOperationalStatusValueToDoTheBitsChecksInUpcomingOperationalStatusReadSteps_13();
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 3a: DUT updates its attributes\n");
+            err = TestStep3aDutUpdatesItsAttributes_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))\n");
-            if (ShouldSkip("WNCV.S.A000a && WNCV.S.F00")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a3ThChecksOperationalStatusValueBit23Wncvsf00lf_14();
-            break;
-        case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 3a4: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF))\n");
-            if (ShouldSkip("WNCV.S.A000a && !WNCV.S.F00")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a4ThChecksOperationalStatusValueBit23Wncvsf00lf_15();
-            break;
-        case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))\n");
-            if (ShouldSkip("WNCV.S.A000a && WNCV.S.F01")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a5ThChecksOperationalStatusValueBit45Wncvsf01tl_16();
-            break;
-        case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3a6: TH chesks OperationalStatus value bit 4..5 (WNCV.S.F01(TL))\n");
-            if (ShouldSkip("WNCV.S.A000a && !WNCV.S.F01")) {
-                NextTest();
-                return;
-            }
-            err = TestStep3a6ThChesksOperationalStatusValueBit45Wncvsf01tl_17();
-            break;
-        case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 3a7: DUT updates its attributes\n");
-            err = TestStep3a7DutUpdatesItsAttributes_18();
-            break;
-        case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute from DUT\n");
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e")) {
                 NextTest();
                 return;
             }
-            err = TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_19();
+            err = TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_14();
             break;
-        case 20:
-            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional attribute from DUT\n");
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008")) {
                 NextTest();
                 return;
             }
-            err = TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_20();
+            err = TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_15();
             break;
-        case 21:
-            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute from DUT\n");
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f")) {
                 NextTest();
                 return;
             }
-            err = TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_21();
+            err = TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_16();
             break;
-        case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional attribute from DUT\n");
+        case 17:
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009")) {
                 NextTest();
                 return;
             }
-            err = TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_22();
+            err = TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_17();
             break;
-        case 23:
-            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4a: TH sends a StopMotion command to DUT\n");
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4a: TH sends a StopMotion command to DUT\n");
             if (ShouldSkip("WNCV.S.C02.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aThSendsAStopMotionCommandToDut_23();
+            err = TestStep4aThSendsAStopMotionCommandToDut_18();
             break;
-        case 24:
-            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4b: TH waits for 1-5 seconds end of motion(s) on the DUT\n");
-            err = TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_24();
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4b: TH waits for 1-5 seconds end of motion(s) on the DUT\n");
+            err = TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_19();
             break;
-        case 25:
-            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4c: TH reads OperationalStatus attribute from DUT\n");
+        case 20:
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4c: TH reads OperationalStatus attribute from DUT\n");
             if (ShouldSkip("WNCV.S.A000a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cThReadsOperationalStatusAttributeFromDut_25();
+            err = TestStep4cThReadsOperationalStatusAttributeFromDut_20();
             break;
-        case 26:
-            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 5a: TH waits for 100-1000 ms\n");
-            err = TestStep5aThWaitsFor1001000Ms_26();
+        case 21:
+            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5a: TH waits for 100-1000 ms\n");
+            err = TestStep5aThWaitsFor1001000Ms_21();
             break;
-        case 27:
-            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute from DUT\n");
+        case 22:
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b")) {
                 NextTest();
                 return;
             }
-            err = TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_27();
+            err = TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_22();
             break;
-        case 28:
-            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute from DUT\n");
+        case 23:
+            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute from DUT\n");
             if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c")) {
                 NextTest();
                 return;
             }
-            err = TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_28();
+            err = TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_23();
             break;
         }
 
@@ -116469,21 +116783,6 @@
         case 23:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 24:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 25:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 26:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 27:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
-        case 28:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
         }
 
         // Go on to the next test.
@@ -116494,7 +116793,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 29;
+    const uint16_t mTestCount = 24;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -116541,7 +116840,7 @@
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = mStep1bWaitTime.HasValue() ? mStep1bWaitTime.Value() : 10000UL;
+        value.ms = mStep1bWaitTime.HasValue() ? mStep1bWaitTime.Value() : 5000UL;
         return WaitForMs("alpha", value);
     }
 
@@ -116688,7 +116987,7 @@
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = mStep2bWaitTime.HasValue() ? mStep2bWaitTime.Value() : 500UL;
+        value.ms = mStep2bWaitTime.HasValue() ? mStep2bWaitTime.Value() : 200UL;
         return WaitForMs("alpha", value);
     }
 
@@ -116755,9 +117054,8 @@
         value.ms = mStep2eWaitTime.HasValue() ? mStep2eWaitTime.Value() : 1000UL;
         return WaitForMs("alpha", value);
     }
-    NSNumber * _Nonnull OperationalStatusValue;
 
-    CHIP_ERROR TestStep3a1ThReadsOperationalStatusAttributesBit01_12()
+    CHIP_ERROR TestStep3aThReadsOperationalStatusAttributeFromDut_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116766,162 +117064,21 @@
 
         [cluster readAttributeOperationalStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a1: TH reads OperationalStatus attribute's bit 0..1: Error: %@", err);
+                NSLog(@"Step 3a: TH reads OperationalStatus attribute from DUT: Error: %@", err);
             } else {
-                NSLog(@"Step 3a1: TH reads OperationalStatus attribute's bit 0..1: Success");
+                NSLog(@"Step 3a: TH reads OperationalStatus attribute from DUT: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("operationalStatus", "bitmap8", "bitmap8"));
-            {
-                OperationalStatusValue = value;
-            }
-
             NextTest();
         }];
 
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3a2WriteAttributeBitmap8WithOperationalStatusValueToDoTheBitsChecksInUpcomingOperationalStatusReadSteps_13()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        id bitmap8Argument;
-        bitmap8Argument =
-            [OperationalStatusValue copy];
-        [cluster writeAttributeBitmap8WithValue:bitmap8Argument completion:^(NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.: Error: %@", err);
-            } else {
-                NSLog(@"Step 3a2: Write attribute BITMAP8 with OperationalStatusValue to do the bits checks in upcoming OperationalStatus read steps.: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a3ThChecksOperationalStatusValueBit23Wncvsf00lf_14()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a3: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a4ThChecksOperationalStatusValueBit23Wncvsf00lf_15()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a4: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a4: TH checks OperationalStatus value bit 2..3 (WNCV.S.F00(LF)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a5ThChecksOperationalStatusValueBit45Wncvsf01tl_16()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a5: TH checks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a6ThChesksOperationalStatusValueBit45Wncvsf01tl_17()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterUnitTesting alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 3a6: TH chesks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Error: %@", err);
-            } else {
-                NSLog(@"Step 3a6: TH chesks OperationalStatus value bit 4..5 (WNCV.S.F01(TL)): Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            {
-                id actualValue = value;
-                VerifyOrReturn(CheckValue("bitmap8", actualValue, OperationalStatusValue));
-            }
-
-            VerifyOrReturn(CheckConstraintType("bitmap8", "bitmap8", "bitmap8"));
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep3a7DutUpdatesItsAttributes_18()
+    CHIP_ERROR TestStep3aDutUpdatesItsAttributes_13()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
@@ -116929,7 +117086,7 @@
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_19()
+    CHIP_ERROR TestStep3bIfPaLfThReadsCurrentPositionLiftPercent100thsAttributeFromDut_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116958,7 +117115,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_20()
+    CHIP_ERROR TestStep3cIfPaLfThReadsCurrentPositionLiftPercentageOptionalAttributeFromDut_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -116987,7 +117144,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_21()
+    CHIP_ERROR TestStep3dIfPaTlThReadsCurrentPositionTiltPercent100thsAttributeFromDut_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -117016,7 +117173,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_22()
+    CHIP_ERROR TestStep3eIfPaLfThReadsCurrentPositionTiltPercentageOptionalAttributeFromDut_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -117045,7 +117202,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aThSendsAStopMotionCommandToDut_23()
+    CHIP_ERROR TestStep4aThSendsAStopMotionCommandToDut_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -117068,7 +117225,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_24()
+    CHIP_ERROR TestStep4bThWaitsFor15SecondsEndOfMotionsOnTheDut_19()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
@@ -117076,7 +117233,7 @@
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep4cThReadsOperationalStatusAttributeFromDut_25()
+    CHIP_ERROR TestStep4cThReadsOperationalStatusAttributeFromDut_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -117103,15 +117260,15 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5aThWaitsFor1001000Ms_26()
+    CHIP_ERROR TestStep5aThWaitsFor1001000Ms_21()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = mStep5aWaitTime.HasValue() ? mStep5aWaitTime.Value() : 500UL;
+        value.ms = mStep5aWaitTime.HasValue() ? mStep5aWaitTime.Value() : 200UL;
         return WaitForMs("alpha", value);
     }
 
-    CHIP_ERROR TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_27()
+    CHIP_ERROR TestStep5bIfPaLfThReadsTargetPositionLiftPercent100thsAttributeFromDut_22()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -117140,7 +117297,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_28()
+    CHIP_ERROR TestStep5cIfPaTlThReadsTargetPositionTiltPercent100thsAttributeFromDut_23()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -191092,12 +191249,12 @@
             err = TestStep3cGivenACFREMONSF01WarningEnsureFeaturemapHasTheCorrectBitSet_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3d: Given ACFREMON.S.F01(ReplacementProductList) ensure featuremap has the correct bit set\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3d: Given ACFREMON.S.F02(ReplacementProductList) ensure featuremap has the correct bit set\n");
             if (ShouldSkip("ACFREMON.S.F02")) {
                 NextTest();
                 return;
             }
-            err = TestStep3dGivenACFREMONSF01ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5();
+            err = TestStep3dGivenACFREMONSF02ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5();
             break;
         case 6:
             ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads from the DUT the AttributeList attribute.\n");
@@ -191361,7 +191518,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3dGivenACFREMONSF01ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5()
+    CHIP_ERROR TestStep3dGivenACFREMONSF02ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -191370,9 +191527,9 @@
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3d: Given ACFREMON.S.F01(ReplacementProductList) ensure featuremap has the correct bit set: Error: %@", err);
+                NSLog(@"Step 3d: Given ACFREMON.S.F02(ReplacementProductList) ensure featuremap has the correct bit set: Error: %@", err);
             } else {
-                NSLog(@"Step 3d: Given ACFREMON.S.F01(ReplacementProductList) ensure featuremap has the correct bit set: Success");
+                NSLog(@"Step 3d: Given ACFREMON.S.F02(ReplacementProductList) ensure featuremap has the correct bit set: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -191670,8 +191827,8 @@
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n");
+            err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0();
             break;
         case 1:
             ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the Condition attribute.\n");
@@ -191690,36 +191847,44 @@
             err = TestStep3ThReadsFromTheDutTheDegradationDirectionAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads from the DUT the ChangeIndication attribute.\n");
-            if (ShouldSkip("ACFREMON.S.A0002")) {
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads from the DUT the ChangeIndication attribute.\n");
+            if (ShouldSkip("ACFREMON.S.A0002 && !ACFREMON.S.F01")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ThReadsFromTheDutTheChangeIndicationAttribute_3();
+            err = TestStep4aThReadsFromTheDutTheChangeIndicationAttribute_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: TH reads from the DUT the InPlaceIndicator attribute\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: TH reads from the DUT the ChangeIndication attribute.\n");
+            if (ShouldSkip("ACFREMON.S.F01 && ACFREMON.S.A0002")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4bThReadsFromTheDutTheChangeIndicationAttribute_4();
+            break;
+        case 5:
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: TH reads from the DUT the InPlaceIndicator attribute\n");
             if (ShouldSkip("ACFREMON.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep5ThReadsFromTheDutTheInPlaceIndicatorAttribute_4();
+            err = TestStep5ThReadsFromTheDutTheInPlaceIndicatorAttribute_5();
             break;
-        case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: TH reads from the DUT the LastChangedTime attribute\n");
+        case 6:
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads from the DUT the LastChangedTime attribute\n");
             if (ShouldSkip("ACFREMON.S.A0004")) {
                 NextTest();
                 return;
             }
-            err = TestStep6ThReadsFromTheDutTheLastChangedTimeAttribute_5();
+            err = TestStep6ThReadsFromTheDutTheLastChangedTimeAttribute_6();
             break;
-        case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: TH reads from the DUT the ReplacementProductList attribute\n");
+        case 7:
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads from the DUT the ReplacementProductList attribute\n");
             if (ShouldSkip("ACFREMON.S.A0005")) {
                 NextTest();
                 return;
             }
-            err = TestStep7ThReadsFromTheDutTheReplacementProductListAttribute_6();
+            err = TestStep7ThReadsFromTheDutTheReplacementProductListAttribute_7();
             break;
         }
 
@@ -191753,6 +191918,9 @@
         case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 7:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -191763,14 +191931,14 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 7;
+    const uint16_t mTestCount = 8;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -191830,7 +191998,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ThReadsFromTheDutTheChangeIndicationAttribute_3()
+    CHIP_ERROR TestStep4aThReadsFromTheDutTheChangeIndicationAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -191839,24 +192007,49 @@
 
         [cluster readAttributeChangeIndicationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: TH reads from the DUT the ChangeIndication attribute.: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the ChangeIndication attribute.: Error: %@", err);
             } else {
-                NSLog(@"Step 4: TH reads from the DUT the ChangeIndication attribute.: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the ChangeIndication attribute.: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("changeIndication", "enum8", "enum8"));
-            VerifyOrReturn(CheckConstraintMinValue<uint8_t>("changeIndication", [value unsignedCharValue], 0U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint8_t>("changeIndication", [value unsignedCharValue], 2U));
-
             NextTest();
         }];
 
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5ThReadsFromTheDutTheInPlaceIndicatorAttribute_4()
+    CHIP_ERROR TestStep4bThReadsFromTheDutTheChangeIndicationAttribute_4()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterActivatedCarbonFilterMonitoring alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeChangeIndicationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4b: TH reads from the DUT the ChangeIndication attribute.: Error: %@", err);
+            } else {
+                NSLog(@"Step 4b: TH reads from the DUT the ChangeIndication attribute.: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            {
+                id actualValue = value;
+                VerifyOrReturn(CheckValue("ChangeIndication", actualValue, 1U));
+            }
+
+            VerifyOrReturn(CheckConstraintType("changeIndication", "enum8", "enum8"));
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep5ThReadsFromTheDutTheInPlaceIndicatorAttribute_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -191879,7 +192072,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ThReadsFromTheDutTheLastChangedTimeAttribute_5()
+    CHIP_ERROR TestStep6ThReadsFromTheDutTheLastChangedTimeAttribute_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -191906,7 +192099,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ThReadsFromTheDutTheReplacementProductListAttribute_6()
+    CHIP_ERROR TestStep7ThReadsFromTheDutTheReplacementProductListAttribute_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");