diff --git a/Makefile b/Makefile
index 2e23ddf..1f52d9c 100755
--- a/Makefile
+++ b/Makefile
@@ -317,14 +317,14 @@
 	robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
 
 # ONOS Apps to test for Software Upgrade need to be passed in the 'onos_apps_under_test' variable in format:
-# <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>
+# <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>*
 onos-app-upgrade-test: ROBOT_MISC_ARGS +=  -e notready -i functional
 onos-app-upgrade-test: ROBOT_FILE := ONOS_AppsUpgrade.robot
 onos-app-upgrade-test: ROBOT_CONFIG_FILE := $(ROBOT_ONOS_APP_UPGRADE_FILE)
 onos-app-upgrade-test: software-upgrade-test
 
 # Voltha Components to test for Software Upgrade need to be passed in the 'voltha_comps_under_test' variable in format:
-# <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>
+# <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>*
 voltha-comp-upgrade-test: ROBOT_MISC_ARGS +=  -e notready -i functional
 voltha-comp-upgrade-test: ROBOT_FILE := Voltha_ComponentsUpgrade.robot
 voltha-comp-upgrade-test: ROBOT_CONFIG_FILE := $(ROBOT_ONOS_APP_UPGRADE_FILE)
diff --git a/libraries/k8s.robot b/libraries/k8s.robot
index a8312e6..1bb8217 100755
--- a/libraries/k8s.robot
+++ b/libraries/k8s.robot
@@ -496,3 +496,16 @@
     ${output}=    Run
     ...    kubectl -n ${namespace} get pods -l ${key}=${value} -o=jsonpath="{.items[].status.containerStatuses[].image}"
     Should Be Equal    '${output}'    'docker.io/${image}'
+
+Get Pod Image And App Version And Helm Chart By Label
+    [Arguments]    ${namespace}    ${key}    ${value}
+    [Documentation]    Retrieves Pod Image and, App and Helm Chart Version details
+    ${image}=    Run
+    ...    kubectl -n ${namespace} get pods -l ${key}=${value} -o=jsonpath="{.items[*].spec.containers[*].image}"
+    ${cmd}=    Catenate    SEPARATOR=
+    ...    kubectl -n ${namespace} get pods -l ${key}=${value} -o=
+    ...    jsonpath="{.items[*].metadata.labels.\\app\\.kubernetes\\.io\\/version}"
+    ${app_version}=    Run    ${cmd}
+    ${helm_chart}=    Run
+    ...    kubectl -n ${namespace} get pods -l ${key}=${value} -o=jsonpath="{.items[*].metadata.labels.\\helm\\.sh\\/chart}"
+    [Return]    ${image}    ${app_version}    ${helm_chart}
diff --git a/libraries/onos.robot b/libraries/onos.robot
index b242e19..ffc30da 100755
--- a/libraries/onos.robot
+++ b/libraries/onos.robot
@@ -731,3 +731,11 @@
     ${rc}    ${output}    Run And Return Rc And Output    ${cmd}
     Should Be Equal As Integers    ${rc}    0
     Log    ${output}
+
+Get ONOS App Details
+    [Arguments]    ${url}    ${app_name}
+    [Documentation]    Retrieves ONOS App Details
+    ${rc}    ${output}    Run And Return Rc And Output
+    ...    curl --fail -sSL ${url}/onos/v1/applications/${app_name}
+    Should Be Equal As Integers    ${rc}    0
+    [Return]    ${output}
diff --git a/tests/software-upgrades/ONOS_AppsUpgrade.robot b/tests/software-upgrades/ONOS_AppsUpgrade.robot
index e9a51e1..64135e8 100644
--- a/tests/software-upgrades/ONOS_AppsUpgrade.robot
+++ b/tests/software-upgrades/ONOS_AppsUpgrade.robot
@@ -57,9 +57,9 @@
 ${container_log_dir}    ${None}
 
 # ONOS Apps to Test for Software Upgrade need to be passed in the following variable in format:
-# <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>
+# <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>*
 # Example: org.opencord.aaa,2.3.0.SNAPSHOT,
-# https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/2.3.0-SNAPSHOT/aaa-app-2.3.0-20201210.223737-1.oar
+# https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/2.3.0-SNAPSHOT/aaa-app-2.3.0-20201210.223737-1.oar*
 ${onos_apps_under_test}    ${EMPTY}
 
 *** Test Cases ***
@@ -67,7 +67,7 @@
     [Documentation]    Validates the ONOS App Minor Version Upgrade doesn't affect the system functionality
     ...    Performs the sanity and verifies all the ONUs are authenticated/DHCP/pingable
     ...    Requirement: Apps to test needs to be passed in robot command variable 'onos_apps_under_test' in the format:
-    ...    <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>
+    ...    <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>*
     ...    Check [VOL-3844] for more details
     [Tags]    functional    ONOSAppMinorVerUpgrade
     [Setup]    Run Keywords    Start Logging    ONOSAppMinorVerUpgrade
@@ -85,11 +85,15 @@
         ${url}=    Set Variable    ${list_onos_apps_under_test}[${I}][url]
         ${oar_file}=    Set Variable    ${CURDIR}/../../tests/data/onos-files/${app}-${version}.oar
         Download App OAR File    ${url}    ${oar_file}
+        ${app_details}    Get ONOS App Details    ${onos_url}    ${app}
+        Log    ${app}: before upgrade: ${app_details}
         Delete ONOS App    ${onos_url}    ${app}
         Verify ONOS Apps Active Except App Under Test    ${onos_url}    ${app}
         Install And Activate ONOS App    ${onos_url}    ${oar_file}
         Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    2s
         ...    Verify ONOS App Active    ${onos_url}    ${app}    ${version}
+        ${app_details_1}    Get ONOS App Details    ${onos_url}    ${app}
+        Log    ${app}: after upgrade: ${app_details_1}
         Verify ONOS Pod Restart    False
         Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test    True
     END
@@ -123,11 +127,11 @@
 Create ONOS Apps Under Test List
     [Documentation]    Creates a list of ONOS Apps to Test from the input variable string
     ...    The input string is expected to be in format:
-    ...    <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>
+    ...    <app-name>,<version>,<oar-url>*<app-name>,<version>,<oar-url>*
     ${list_onos_apps_under_test}    Create List
     @{apps_under_test_arr}=    Split String    ${onos_apps_under_test}    *
     ${num_apps_under_test}=    Get Length    ${apps_under_test_arr}
-    FOR    ${I}    IN RANGE    0    ${num_apps_under_test}
+    FOR    ${I}    IN RANGE    0    ${num_apps_under_test}-1
         @{app_under_test_arr}=    Split String    ${apps_under_test_arr[${I}]}    ,
         ${app}=    Set Variable    ${app_under_test_arr[0]}
         ${version}=    Set Variable    ${app_under_test_arr[1]}
@@ -135,4 +139,5 @@
         ${app_under_test}    Create Dictionary    app    ${app}    version    ${version}    url    ${url}
         Append To List    ${list_onos_apps_under_test}    ${app_under_test}
     END
+    Log    ${list_onos_apps_under_test}
     Set Suite Variable    ${list_onos_apps_under_test}
diff --git a/tests/software-upgrades/Voltha_ComponentsUpgrade.robot b/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
index 53d303f..369f9b0 100755
--- a/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
+++ b/tests/software-upgrades/Voltha_ComponentsUpgrade.robot
@@ -58,8 +58,8 @@
 ${suppressaddsubscriber}    True
 
 # Voltha Components to Test for Software Upgrade need to be passed in the following variable in format:
-# <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>
-# Example: adapter-open-olt,adapter-open-olt,voltha/voltha-openolt-adapter:3.1.3
+# <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>*
+# Example: adapter-open-olt,adapter-open-olt,voltha/voltha-openolt-adapter:3.1.3*
 ${voltha_comps_under_test}    ${EMPTY}
 
 *** Test Cases ***
@@ -67,7 +67,7 @@
     [Documentation]    Validates the Voltha Components Minor Version Upgrade doesn't affect the system functionality
     ...    Performs the sanity and verifies all the ONUs are authenticated/DHCP/pingable
     ...    Requirement: Components to test needs to be passed in robot command variable 'voltha_comps_under_test' in the format:
-    ...    <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>
+    ...    <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>*
     ...    Check [VOL-3843] for more details
     [Tags]    functional   VolthaCompMinorVerUpgrade
     [Setup]    Start Logging    VolthaCompMinorVerUpgrade
@@ -87,6 +87,9 @@
         ${label}=    Set Variable    ${list_voltha_comps_under_test}[${I}][label]
         ${container}=    Set Variable    ${list_voltha_comps_under_test}[${I}][container]
         ${image}=    Set Variable    ${list_voltha_comps_under_test}[${I}][image]
+        ${pod_image}    ${app_ver}    ${helm_chart}    Get Pod Image And App Version And Helm Chart By Label
+        ...    ${NAMESPACE}    app    ${label}
+        Log    ${label}: image, app ver & helm chart before upgrade: ${pod_image}, ${app_ver} & ${helm_chart}
         ${deployment}=    Wait Until Keyword Succeeds    ${timeout}    15s
         ...    Get K8s Deployment by Pod Label    ${NAMESPACE}    app    ${label}
         Wait Until Keyword Succeeds    ${timeout}    15s    Deploy Pod New Image    ${NAMESPACE}    ${deployment}
@@ -95,6 +98,9 @@
         ...    app    ${label}    Running
         Wait Until Keyword Succeeds    ${timeout}    3s    Pods Are Ready By Label    ${NAMESPACE}    app    ${label}
         Wait Until Keyword Succeeds    ${timeout}    3s    Verify Pod Image    ${NAMESPACE}    app    ${label}    ${image}
+        ${pod_image_1}    ${app_ver_1}    ${helm_chart_1}    Get Pod Image And App Version And Helm Chart By Label
+        ...    ${NAMESPACE}    app    ${label}
+        Log    ${label}: image, app ver & helm chart after upgrade: ${pod_image_1}, ${app_ver_1} & ${helm_chart_1}
         Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test     ${suppressaddsubscriber}
     END
     ${podStatusOutput}=    Run    kubectl get pods -n ${NAMESPACE}
@@ -120,11 +126,11 @@
 Create Voltha Comp Under Test List
     [Documentation]    Creates a list of Voltha Components to Test from the input variable string
     ...    The input string is expected to be in format:
-    ...    <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>
+    ...    <comp-label>,<comp-container>,<comp-image>*<comp-label>,<comp-container>,<comp-image>*
     ${list_voltha_comps_under_test}    Create List
     @{comps_under_test_arr}=    Split String    ${voltha_comps_under_test}    *
     ${num_comps_under_test}=    Get Length    ${comps_under_test_arr}
-    FOR    ${I}    IN RANGE    0    ${num_comps_under_test}
+    FOR    ${I}    IN RANGE    0    ${num_comps_under_test}-1
         @{comp_under_test_arr}=    Split String    ${comps_under_test_arr[${I}]}    ,
         ${label}=    Set Variable    ${comp_under_test_arr[0]}
         ${container}=    Set Variable    ${comp_under_test_arr[1]}
@@ -132,4 +138,5 @@
         ${comp_under_test}    Create Dictionary    label    ${label}    container    ${container}    image    ${image}
         Append To List    ${list_voltha_comps_under_test}    ${comp_under_test}
     END
+    Log    ${list_voltha_comps_under_test}
     Set Suite Variable    ${list_voltha_comps_under_test}
