diff --git a/extended/test_slp.robot b/extended/test_slp.robot
new file mode 100644
index 0000000..d6ccd3d
--- /dev/null
+++ b/extended/test_slp.robot
@@ -0,0 +1,81 @@
+*** Settings ***
+Documentation   Find services and service agents on the system.
+Library         OperatingSystem
+Library         Collections
+Library         String
+
+Resource        ../lib/utils.robot
+
+# Get the SLP services available, make it suite global.
+Suite Setup     Get Service Types Output
+
+*** Variables ***
+${service_types}    findsrvtypes
+${service_agents}   findsrvs
+${service_path}     /etc/slp/services
+# SLP_SERVICES  Services listed by slptool, by default Empty.
+${SLP_SERVICES}       ${EMPTY}
+
+*** Test Cases ***
+
+Verify SLP Service Types
+    [Documentation]  Find services supported by system.
+    [Tags]  Verify_SLP_Service_Types
+    Verify Service Types
+
+Verify Service Agents For Service Types
+    [Documentation]  Find And verify service agents.
+    [Tags]  Verify_Service_Agents_For_Service_Types
+    @{parameters}=  Split String  ${SLP_SERVICES}  ${\n}
+    :FOR  ${parameter}  IN  @{parameters}
+    \  ${output}=  Run SLP command  ${service_agents}  ${parameter}
+    \  Verify Service Agents  ${output}  ${parameter}
+
+*** Keywords ***
+
+Get Service Types Output
+    [Documentation]  Get SLP services.
+    ${output}=  Run  which slptool
+    Should Not Be Empty  ${output}
+    ...  msg=slptool not installed.
+    ${SLP_SERVICES}=  Run SLP command  ${service_types}
+    Set Suite Variable  ${SLP_SERVICES}
+
+Run SLP Command
+    [Documentation]  Run SLPTool command and return output.
+    [Arguments]      ${cmd}  ${param}=${EMPTY}
+    # cmd    The SLP command to be run.
+    # param  The SLP command parameters.
+
+    ${rc}  ${output}=  Run And Return Rc And Output
+    ...   slptool -u ${OPENBMC_HOST} ${cmd} ${param}
+    Should Be Equal As Integers  ${rc}  0
+    [Return]  ${output}
+
+Verify Service Types
+    [Documentation]  Verifies the output of service types.
+
+    ${remove_prefix}=  Remove String  ${SLP_SERVICES}  service:
+    @{services}=  Split String  ${remove_prefix}  ${\n}
+    ${service_count}=  Get Length  ${services}
+    Open Connection And Log In
+    ${stdout}  ${stderr}=  Execute Command  ls ${service_path}
+    ...  return_stderr=True
+    Should Be Empty  ${stderr}
+    ${file_count}=  Get Line Count  ${stdout}
+    Should Be Equal  ${service_count}  ${file_count}
+    ...  msg=Number of services on system & command are not equal.
+    :FOR  ${service}  IN  @{services}
+    \  Should Contain  ${stdout}  ${service}
+    ...  msg=Services on system & command are not same.
+
+Verify Service Agents
+    [Documentation]  Verifies the output of srvs.
+    [Arguments]      ${output}  ${service_agent}
+    # Example of output
+    # <service:service_name:tcp//xxx.xxx.xxx.xxx,2200>
+
+    Run Keywords  Should Contain  ${output}  ${service_agent}  AND
+    ...  Should Contain  ${output}  ${OPENBMC_HOST},
+    ...  msg=Expected process info missing.
+
