diff --git a/data/pldm_variables.py b/data/pldm_variables.py
index 515806f..7c2536e 100755
--- a/data/pldm_variables.py
+++ b/data/pldm_variables.py
@@ -128,3 +128,11 @@
     'PLDM_STATE_EFFECTER_PDR': '11',
     'PLDM_PDR_FRU_RECORD_SET': '20',
     'PLDM_PDR_ENTITY_ASSOCIATION': '15'}
+
+RESPONSE_LIST_GETBIOSTABLE_STRTABLE = [
+    'Allowed', 'Disabled', 'Enabled', 'IPv4DHCP', 'IPv4Static', 'Not Allowed',
+    'Perm', 'Temp', 'pvm-fw-boot-side', 'pvm-inband-code-update', 'pvm-os-boot-side',
+    'pvm-pcie-error-inject', 'pvm-surveillance', 'pvm-system-name', 'vmi-hostname',
+    'vmi-if-count', 'vmi-if0-ipv4-ipaddr', 'vmi-if0-ipv4-method',
+    'vmi-if0-ipv4-prefix-length', 'vmi-if1-ipv4-ipaddr', 'vmi-if1-ipv4-method',
+    'vmi-if1-ipv4-prefix-length', 'vmi-ipv4-gateway']
diff --git a/lib/pldm_utils.py b/lib/pldm_utils.py
index dd0a91f..99fa3ff 100644
--- a/lib/pldm_utils.py
+++ b/lib/pldm_utils.py
@@ -93,6 +93,34 @@
             dict_data1, dict_data2 = vf.split_dict_on_key('containerentitycontainerid', result)
             return dict_data1
 
+        # Collect bios strings from bios string table in to list.
+        # Example output for pldmtool GetBIOSTable --type stringTable
+        # PLDM StringTable:
+        # BIOSStringHandle : BIOSString
+        # 0 : Allowed
+        # 1 : Disabled
+        # 2 : Enabled
+        elif 'pldm_stringtable' in result:
+            result.pop('pldm_stringtable')
+            result.pop('biosstringhandle')
+            bios_string_list = []
+            for data in result:
+                bios_string_list.append(result[data])
+            # Example for bios_string_list:
+            # bios_string_list = ['Allowed', 'Disabled', 'Enabled']
+            return bios_string_list
+
+        # Check if parameter pldm_attributetable/pldm_attributevaluetable present for
+        # pldmtool GetBIOSTable --type AttributeTable/AttributeValueTable.
+        # Note: Ouput for AttributeTable/AttributeValueTable is huge and verification of
+        #       table content is not available.
+        elif 'pldm_attributetable' in result:
+            result['pldm_attributetable'] = True
+            return result
+        elif 'pldm_attributevaluetable' in result:
+            result['pldm_attributevaluetable'] = True
+            return result
+
         return result
 
     return stdout
diff --git a/pldm/test_pldm_bios.robot b/pldm/test_pldm_bios.robot
index ef02930..51de0f1 100644
--- a/pldm/test_pldm_bios.robot
+++ b/pldm/test_pldm_bios.robot
@@ -61,7 +61,7 @@
     [Documentation]  Verify GetBIOSTable for table type string table.
     [Tags]  Verify_GetBIOSTable_For_StringTable
 
-    # pldm_output:
+    # Example pldm_output:
     # [biosstringhandle]:                             BIOSString
     # [0]:                                            Allowed
     # [1]:                                            Disabled
@@ -77,10 +77,47 @@
     # [11]:                                           pvm-system-name
     # [12]:                                           vmi-if-count
 
-    ${pldm_output}=  Pldmtool  bios GetBIOSTable -t 0
+    ${pldm_output}=  Pldmtool  bios GetBIOSTable --type StringTable
+    Valid List  pldm_output  required_values=${RESPONSE_LIST_GETBIOSTABLE_STRTABLE}
+
+
+Verify GetBIOSTable For AttributeTable
+    [Documentation]  Verify if attribute table content exist for
+    ...            GetBIOSTable with table type attribute table.
+    [Tags]  Verify_GetBIOSTable_For_AttributeTable
+
+    # Example pldm_output:
+    # [pldm_attributetable]:                          True
+    # [attributehandle]:                               0
+    # [ AttributeNameHandle]:                          20(vmi-if1-ipv4-method)
+    # [     attributetype]:                            BIOSStringReadOnly
+    # [     StringType]:                               0x01
+    # [     minimumstringlength]:                      1
+    # [     maximumstringlength]:                      100
+    # [     defaultstringlength]:                      15
+    # [     defaultstring]:                            witherspoon-128
+
+    ${pldm_output}=  Pldmtool  bios GetBIOSTable --type AttributeTable
     Rprint Vars  pldm_output
-    # TODO: Implement verification for GetBIOSTable response message.
-    # Valid Dict  pldm_output  valid_values=${RESPONSE_DICT_GETBIOSTABLE_STRTABLE}
+    Valid Value  pldm_output['pldm_attributetable']  [True]
+
+
+Verify GetBIOSTable For AttributeValueTable
+    [Documentation]  Verify if attribute value table content exist for
+    ...              GetBIOSTable with table type attribute value table.
+    [Tags]  Verify_GetBIOSTable_For_AttributeValueTable
+
+    # Example pldm_output:
+    # [pldm_attributevaluetable]:                     True
+    # [attributehandle]:                              0
+    # [     attributetype]:                           BIOSStringReadOnly
+    # [     currentstringlength]:                     15
+    # [     currentstring]:                           witherspoon-128
+
+    ${pldm_output}=  Pldmtool  bios GetBIOSTable --type AttributeValueTable
+    Log To Console  ${pldm_output}
+    Rprint Vars  pldm_output
+    Valid Value  pldm_output['pldm_attributevaluetable']  [True]
 
 *** Keywords ***
 
