diff --git a/tests/functional/K8S_SystemTest.robot b/tests/functional/K8S_SystemTest.robot
index ba14607..47d2b2b 100644
--- a/tests/functional/K8S_SystemTest.robot
+++ b/tests/functional/K8S_SystemTest.robot
@@ -98,7 +98,7 @@
     [Documentation]    Get the number of configured ETCD nodes
     ${rc}    ${size}=    Run and Return Rc and Output
     ...    kubectl -n ${namespace} get ${ETCD_resources} ${ETCD_name} -o jsonpath='{.status.replicas}'
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Could not get ETCD replica count
     [Return]    ${size}
 
 Scale ETCD
@@ -106,16 +106,16 @@
     [Documentation]    Scale down the number of ETCD pod
     ${rc}=    Run and Return Rc
     ...    kubectl -n ${namespace} patch ${ETCD_resources} ${ETCD_name} -p '{"spec":{"replicas": ${size}}}'
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Could not scale ETCD
 
 Validate ETCD Size
     [Arguments]    ${namespace}    ${ETCD_cluster_size}
     [Documentation]    Scale down the number of ETCD pod
     ${rc}    ${size}=    Run and Return Rc and Output
     ...    kubectl -n ${namespace} get ${ETCD_resources} ${ETCD_name} -o jsonpath='{.status.replicas}'
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Could not get ETCD replica count
     Should Be Equal As Integers    ${size}    ${ETCD_cluster_size}    Unexpected number of replicas
     ${rc}    ${size}=    Run and Return Rc and Output
     ...    kubectl -n ${namespace} get ${ETCD_resources} ${ETCD_name} -o jsonpath='{.status.readyReplicas}'
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Could not get ETC ready replica count
     Should Be Equal As Integers    ${size}    ${ETCD_cluster_size}    Unexpected number of ready replicas
diff --git a/tests/functional/Voltha_ErrorScenarios.robot b/tests/functional/Voltha_ErrorScenarios.robot
index e617403..c0e6301 100755
--- a/tests/functional/Voltha_ErrorScenarios.robot
+++ b/tests/functional/Voltha_ErrorScenarios.robot
@@ -113,7 +113,7 @@
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableInvalidDevice
     ${rc}  ${output}=    Run and Return Rc and Output    voltctl -c ${VOLTCTL_CONFIG} device list -o json
-    Should Be Equal As Integers    ${rc}    0
+    Should Be Equal As Integers    ${rc}    0   Could not get device list
     ${jsondata}=    To Json    ${output}
     Log    ${jsondata}
     ${length}=    Get Length    ${jsondata}
@@ -127,7 +127,7 @@
     ${fakeDeviceId}    Replace String Using Regexp          ${device_id}    \\d\\d     xx    count=1
     Log     ${fakeDeviceId}
     #Ensure that the new id created is not in the device id list
-    List Should Not Contain Value    ${ids}    ${fakeDeviceId}
+    List Should Not Contain Value    ${ids}    ${fakeDeviceId}      Device list should not contain ${fakeDeviceID}, but it does
     #Disable fake device id
     ${rc}  ${output}=    Run and Return Rc and Output    voltctl -c ${VOLTCTL_CONFIG} device disable ${fakeDeviceId}
     Should Contain    ${output}     Error while disabling '${fakeDeviceId}'
@@ -263,10 +263,10 @@
         #Check whether logical devices are also created
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} logicaldevice list
-        Should Be Equal As Integers    ${rc}    0
+        Should Be Equal As Integers    ${rc}    0   Could not get logical device list
         Log    ${output}
         ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
-        Should Not Be Empty    ${logical_id}
+        Should Not Be Empty    ${logical_id}    Could not get logical device ID in VOLTHA for OLT serial number ${olt_serial_number}
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} logicaldevice disable ${logical_id}
         Should Not Be Equal As Integers    ${rc}    0
@@ -297,7 +297,7 @@
         ${olt_serial_number}=    Get From Dictionary    ${list_olts}[${I}]    sn
         #${olt_device_id}=    Get OLTDeviceID From OLT List    ${olt_serial_number}
         ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
-        Should Be Empty    ${logical_id}
+        Should Be Empty    ${logical_id}    Logical device ID is not empty
         Run Keyword If    ${has_dataplane}    Sleep    180s
         ...    ELSE   Sleep    10s
         ${olt_device_id}=    Run Keyword If    "${list_olts}[${I}][type]" == "${None}"
@@ -310,10 +310,10 @@
         Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    ENABLED    ACTIVE    REACHABLE
         ...    ${olt_serial_number}
         ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
-        Should Not Be Empty    ${logical_id}
+        Should Not Be Empty    ${logical_id}    Could not get logical device ID in VOLTHA for OLT serial number ${olt_serial_number}
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} logicaldevice list
-        Should Be Equal As Integers    ${rc}    0
+        Should Be Equal As Integers    ${rc}    0   Could not get logical device list
         Log    ${output}
         Should Contain     ${output}    ${olt_device_id}
         Set Suite Variable    ${logical_id}
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index ddc687e..260fc94 100755
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -301,7 +301,7 @@
         ${olt_device_id}=    Get OLTDeviceID From OLT List    ${olt_serial_number}
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} device disable ${olt_device_id}
-        Should Be Equal As Integers    ${rc}    0
+        Should Be Equal As Integers    ${rc}    0   Could not disable device ${olt_device_id}
         Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    DISABLED    UNKNOWN    REACHABLE
         ...    ${olt_serial_number}
     END
@@ -430,7 +430,7 @@
         ...    REACHABLE    ${src['olt']}
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} device disable ${onu_device_id}
-        Should Be Equal As Integers    ${rc}    0
+        Should Be Equal As Integers    ${rc}    0   Could not disable device ${olt_device_id}
         Wait Until Keyword Succeeds    ${timeout}    5s
         ...    Validate Device    DISABLED    UNKNOWN
         ...    REACHABLE    ${src['onu']}    onu=false
@@ -445,7 +445,7 @@
         ${olt_device_id}=    Get OLTDeviceID From OLT List    ${olt_serial_number}
         ${rc}    ${output}=    Run and Return Rc and Output
         ...    voltctl -c ${VOLTCTL_CONFIG} device disable ${olt_device_id}
-        Should Be Equal As Integers    ${rc}    0
+        Should Be Equal As Integers    ${rc}    0   Could not disable device ${olt_device_id}
         Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    DISABLED    UNKNOWN    REACHABLE
         ...    ${olt_serial_number}
     END
