diff --git a/lib/oem/ibm/bios_attr_utils.robot b/lib/oem/ibm/bios_attr_utils.robot
new file mode 100644
index 0000000..0d67983
--- /dev/null
+++ b/lib/oem/ibm/bios_attr_utils.robot
@@ -0,0 +1,40 @@
+*** Settings ***
+Documentation    Utilities for redfish BIOS attribute operations.
+
+Resource         ../../../lib/resource.robot
+Resource         ../../../lib/bmc_redfish_resource.robot
+Resource         ../../../lib/common_utils.robot
+
+
+*** Keywords ***
+
+Set BIOS Attribute Value And Verify
+
+    [Documentation]  Set BIOS attribute handle with attribute value and verify.
+    [Arguments]      ${attr_handle}  ${attr_val}
+
+    ${type_int}=    Evaluate  isinstance($attr_val, int)
+    ${value}=  Set Variable If  '${type_int}' == '${True}'  ${attr_val}  '${attr_val}'
+
+    Redfish.Patch  ${BIOS_ATTR_SETTINGS_URI}  body={"Attributes":{"${attr_handle}": ${value}}}
+    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
+
+    ${output}=  Redfish.Get Attribute  ${BIOS_ATTR_URI}  Attributes
+    Should Be Equal  ${output['${attr_handle}']}  ${attr_val}
+
+
+Set Optional BIOS Attribute Values And Verify
+
+    [Documentation]  For the given BIOS attribute handle update with optional
+    ...              attribute values and verify.
+    [Arguments]  ${attr_handle}  @{attr_val_list}
+
+    # Description of argument(s):
+    # ${attr_handle}    BIOS Attribute handle (e.g. 'vmi_if0_ipv4_method').
+    # @{attr_val_list}  List of the attribute values for the given attribute handle.
+    #                   (e.g. ['IPv4Static', 'IPv4DHCP']).
+
+    FOR  ${attr}  IN  @{attr_val_list}
+        ${new_attr}=  Evaluate  $attr.replace('"', '')
+        Set BIOS Attribute Value And Verify  ${attr_handle}  ${new_attr}
+    END
diff --git a/redfish/systems/oem/ibm/test_bios_attributes.robot b/redfish/systems/oem/ibm/test_bios_attributes.robot
new file mode 100755
index 0000000..aea9ac6
--- /dev/null
+++ b/redfish/systems/oem/ibm/test_bios_attributes.robot
@@ -0,0 +1,166 @@
+*** Settings ***
+Documentation    This suite test various BIOS attributes operations using Redfish.
+
+Resource         ../../../../lib/resource.robot
+Resource         ../../../../lib/bmc_redfish_resource.robot
+Resource         ../../../../lib/common_utils.robot
+Resource         ../../../../lib/openbmc_ffdc.robot
+Resource         ../../../../lib/oem/ibm/bios_attr_utils.robot
+Library          ../../../../lib/pldm_utils.py
+Variables        ../../../../data/pldm_variables.py
+
+Test Teardown    FFDC On Test Case Fail 
+
+Suite Setup      Redfish BIOS Suite Setup
+Suite Teardown   Redfish BIOS Suite Cleanup
+
+*** Variables ***
+
+${bios_original_data}       ${EMPTY}
+${attr_table_data}          ${EMPTY}
+
+
+*** Test Cases ***
+
+Redfish Verify Set BIOS Attribute With Invalid Attribute Name
+
+    [Documentation]  Verify set BIOS attribute with invalid attribute name using
+    ...              Redfish.
+    [Tags]  Redfish_Verify_Set_BIOS_Attribute_With_Invalid_Attribute_Name
+
+    ${random_str}=  Generate Random String  8  [LETTERS][NUMBERS]
+    Redfish.Patch  ${BIOS_ATTR_SETTINGS_URI}  body={"Attributes":{"${random_str}": '${random_str}'}}
+    ...  valid_status_codes=[${HTTP_BAD_REQUEST}]
+
+
+Redfish Verify Set Invalid Optional Value For BIOS Enumeration Attribute Type
+
+    [Documentation]  Verify set invalid optional value for BIOS enumeration attribute type
+    ...              using Redfish.
+    [Tags]  Redfish_Verify_Set_Invalid_Optional_Value_For_BIOS_Enumeration_Attribute_Type
+
+    ${attr_val_data}=  GetBIOSEnumAttributeOptionalValues  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+    ${enum_attr}=  Evaluate  random.choice(${attr_handles})  modules=random
+
+    Redfish.Patch  ${BIOS_ATTR_SETTINGS_URI}  body={"Attributes":{"${enum_attr}": '0'}}
+    ...  valid_status_codes=[${HTTP_INTERNAL_SERVER_ERROR}]
+
+
+Redfish Verify Set Out Of Range Integer Value For BIOS Integer Attribute Type
+
+    [Documentation]  Verify set out of range integer value for BIOS integer attribute type
+    ...              using Redfish.
+    [Tags]  Redfish_Verify_Set_Out_Of_Range_Integer_Value_For_BIOS_Integer_Attribute_Type
+
+    ${attr_val_data}=  GetBIOSStrAndIntAttributeHandles  BIOSInteger  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+    ${int_attr}=  Evaluate  random.choice(${attr_handles})  modules=random
+    ${count}=  Evaluate  ${attr_val_data['${int_attr}']["UpperBound"]} + 5
+
+    Redfish.Patch  ${BIOS_ATTR_SETTINGS_URI}  body={"Attributes":{"${int_attr}": ${count}}}
+    ...  valid_status_codes=[${HTTP_INTERNAL_SERVER_ERROR}]
+
+
+Redfish Verify Set Out Of Range String Value For BIOS String Attribute Type
+
+    [Documentation]  Verify set out of range string value for BIOS string attribute type
+    ...              using Redfish.
+    [Tags]  Redfish_Verify_Set_Out_Of_Range_String_Value_For_BIOS_String_Attribute_Type
+
+    ${attr_val_data}=  GetBIOSStrAndIntAttributeHandles  BIOSString  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+    ${str_attr}=  Evaluate  random.choice(${attr_handles})  modules=random
+    ${count}=  Evaluate  ${attr_val_data['${str_attr}']["MaximumStringLength"]} + 5
+    ${random_value}=  Generate Random String  ${count}  [LETTERS][NUMBERS]
+
+    Redfish.Patch  ${BIOS_ATTR_SETTINGS_URI}  body={"Attributes":{"${str_attr}": '${random_value}'}}
+    ...  valid_status_codes=[${HTTP_INTERNAL_SERVER_ERROR}]
+
+
+Redfish Verify Set BIOS String Attribute Type
+
+    [Documentation]  Verify set BIOS string attribute type for various BIOS
+    ...              attribute handle with random values with in the range using Redfish.
+    [Tags]  Redfish_Verify_Set_BIOS_String_Attribute_Type
+
+    ${attr_val_data}=  GetBIOSStrAndIntAttributeHandles  BIOSString  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+    FOR  ${i}  IN  @{attr_handles}
+        ${random_value}=  GetRandomBIOSIntAndStrValues  ${i}  ${attr_val_data['${i}']["MaximumStringLength"]}
+        Set BIOS Attribute Value And Verify  ${i}  ${random_value}
+    END
+
+
+Redfish Verify Set BIOS Integer Attribute Type
+
+    [Documentation]  Verify set BIOS integer attribute type for various BIOS
+    ...              attribute handle with random values with in the range using Redfish.
+    [Tags]  Redfish_Verify_Set_BIOS_Integer_Attribute_Type
+
+    ${attr_val_data}=  GetBIOSStrAndIntAttributeHandles  BIOSInteger  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+    FOR  ${i}  IN  @{attr_handles}
+        ${random_value}=  GetRandomBIOSIntAndStrValues  ${i}  ${attr_val_data['${i}']["UpperBound"]}
+        Set BIOS Attribute Value And Verify  ${i}  ${random_value}
+    END
+
+
+Redfish Verify Set BIOS Enumeration Attribute Type
+
+    [Documentation]  Validate get and update BIOS attribute optional values
+    ...              and set back to original BIOS attribute values using Redfish.
+    [Tags]  Redfish_Verify_BIOS_Enumeration_Attribute_Type
+
+
+    # Fetch BIOS attribute optional values from pldmtool getbiostable.
+    ${attr_val_data}=  GetBIOSEnumAttributeOptionalValues  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${attr_val_data}
+
+    # Example:
+    # {'vmi_if0_ipv4_method': ['IPv4Static', 'IPv4DHCP']}
+
+    # Update multiple attribute values for corresponding attribute handle.
+    FOR  ${i}  IN  @{attr_handles}
+        @{attr_val_list}=  Set Variable  ${attr_val_data}[${i}]
+        Set Optional BIOS Attribute Values And Verify  ${i}  @{attr_val_list}
+    END
+
+
+Redfish Verify Restore BIOS Attribute Values
+
+    [Documentation]  Restore all BIOS attribute values with its default values and verify
+    ...              using Redfish.
+    [Tags]  Redfish_Verify_Restore_BIOS_Attribute_Values
+
+    ${bios_default_data}=  GetBIOSAttrDefaultValues  ${attr_table_data}
+    @{attr_handles}=  Get Dictionary Keys  ${bios_default_data}
+
+    FOR  ${i}  IN  @{attr_handles}
+        Set BIOS Attribute Value And Verify  ${i}  ${bios_default_data['${i}']}
+    END
+
+
+*** Keywords ***
+
+Redfish BIOS Suite Setup
+
+    [Documentation]  Perform Redfish BIOS suite setup.
+
+    Redfish.Login
+    ${pldm_output}=  Pldmtool  bios GetBIOSTable --type AttributeTable
+    Set Global Variable  ${attr_table_data}  ${pldm_output}
+
+    ${data}=  GetBIOSAttrOriginalValues  ${pldm_output}
+    Set Global Variable  ${bios_original_data}  ${data}
+
+
+Redfish BIOS Suite Cleanup
+
+    [Documentation]  Perform Redfish BIOS suite cleanup.
+
+    @{attr_handles}=  Get Dictionary Keys  ${bios_original_data}
+    FOR  ${i}  IN  @{attr_handles}
+        Set BIOS Attribute Value And Verify  ${i}  ${bios_original_data['${i}']}
+    END
+    Redfish.Logout
