diff --git a/robot-systest/lib/vnfd_lib.robot b/robot-systest/lib/vnfd_lib.robot
index 8251cb2..fc84436 100644
--- a/robot-systest/lib/vnfd_lib.robot
+++ b/robot-systest/lib/vnfd_lib.robot
@@ -70,6 +70,37 @@
     [Return]  ${id}
 
 
+Create VNFD Overriding Fields
+    [Documentation]   Onboards ("creates") a NF Package into OSM.
+    ...               - Parameters:
+    ...                 - vnfd_pkg: Name (and location) of the NF Package
+    ...                 - override_fields: String with options to override fields in descriptor, format: "key1.key2...=value[;key3...=value;...]"
+    ...                 - overrides (optional): String with options to override the EPA and/or interface properties of the Package.
+    ...                                        This is very useful to allow to deploy e.g. non-EPA packages in EPA VIMs (or vice-versa).
+    ...                                        Valid strings are the same as in the command. E.g.:
+    ...                                        - `--override-epa`: adds EPA attributes to all VDUs.
+    ...                                        - `--override-nonepa`: removes all EPA attributes from all VDUs.
+    ...                                        - `--override-paravirt`: converts all interfaces to `PARAVIRT`. This one can be combined with
+    ...                                           the others above (e.g. '--override-nonepa --override-paravirt').
+     ...               - Relevant environment variables:
+    ...                  - OVERRIDES: If the environment variable "OVERRIDES" exists, it prevails over the value in the argument.
+    ...                               This is often more convenient to enforce the same behaviour for every test run in a given VIM.
+
+    [Arguments]   ${vnfd_pkg}   ${override_fields}   ${overrides}=${EMPTY}
+
+    # If env variable "OVERRIDES" exists, it prevails over the value in the argument
+    ${overrides}=   Get Environment Variable    OVERRIDES   default=${overrides}
+
+    # Proceedes with the onboarding with the appropriate arguments
+    ${rc}   ${stdout}=   Run and Return RC and Output   osm vnfpkg-create ${overrides} ${vnfd_pkg} --override '${override_fields}'
+    log   ${stdout}
+    Should Be Equal As Integers   ${rc}   ${success_return_code}
+    ${lines}=  Get Line Count  ${stdout}
+    ${last}=  Evaluate  ${lines} - 1
+    ${id}=  Get Line  ${stdout}  ${last}
+    [Return]  ${id}
+
+
 Delete VNFD
     [Arguments]   ${vnfd_id}
 
diff --git a/robot-systest/resources/basic_16-advanced_onboarding_and_scaling_data.py b/robot-systest/resources/basic_16-advanced_onboarding_and_scaling_data.py
new file mode 100644
index 0000000..03dbe46
--- /dev/null
+++ b/robot-systest/resources/basic_16-advanced_onboarding_and_scaling_data.py
@@ -0,0 +1,33 @@
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+from pathlib import Path
+
+# Get ${HOME} from local machine
+home = str(Path.home())
+# NS and VNF descriptor package folder
+vnfd_pkg = 'hackfest_basic_metrics_vnf'
+nsd_pkg = 'hackfest_basic_metrics_ns'
+# NS and VNF descriptor id
+vnfd_name = 'hackfest_basic_metrics-vnf'
+nsd_name = 'hackfest_basic-ns-metrics'
+# NS instance name
+ns_name = 'basic_16'
+# SSH keys to be used
+publickey = home + '/.ssh/id_rsa.pub'
+privatekey = home + '/.ssh/id_rsa'
+# Initial, delta, min and max number of VDU instances
+init_instances = 3
+min_instances = 3
+max_instances = 5
+delta_instances = 2
+
diff --git a/robot-systest/testsuite/basic_16-advanced_onboarding_and_scaling.robot b/robot-systest/testsuite/basic_16-advanced_onboarding_and_scaling.robot
new file mode 100644
index 0000000..78a1aa3
--- /dev/null
+++ b/robot-systest/testsuite/basic_16-advanced_onboarding_and_scaling.robot
@@ -0,0 +1,137 @@
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+*** Settings ***
+Documentation     [BASIC-16] Advanced onboarding with override and complex scaling (3 initial instances, scaled by two).
+
+Library   OperatingSystem
+Library   String
+Library   Collections
+
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot
+
+Variables   %{ROBOT_DEVOPS_FOLDER}/resources/basic_16-advanced_onboarding_and_scaling_data.py
+
+Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
+
+
+*** Variables ***
+${ns_config}   {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] }
+${scaling_group}   vdu_autoscale
+${vnf_member_index}  1
+
+
+*** Test Cases ***
+Create Scaling VNF Descriptor
+    [Tags]   advanced_scaling   sanity   regression
+
+    Create VNFD Overriding Fields  '%{PACKAGES_FOLDER}/${vnfd_pkg}'   df.0.instantiation-level.0.vdu-level.0.number-of-instances=${init_instances};df.0.vdu-profile.0.min-number-of-instances=${min_instances};df.0.vdu-profile.0.max-number-of-instances=${max_instances};df.0.scaling-aspect.0.aspect-delta-details.deltas.0.vdu-delta.0.number-of-instances=${delta_instances}
+
+
+Create Scaling NS Descriptor
+    [Tags]   advanced_scaling   sanity   regression
+
+    Create NSD  '%{PACKAGES_FOLDER}/${nsd_pkg}'
+
+
+Instantiate Scaling Network Service
+    [Tags]   advanced_scaling   sanity   regression
+
+    ${id}=  Create Network Service  ${nsd_name}  %{VIM_TARGET}  ${ns_name}  ${ns_config}  ${publickey}
+    Set Suite Variable  ${ns_id}  ${id}
+
+
+Get Vnf Id
+    [Tags]   advanced_scaling   sanity   regression
+
+    Variable Should Exist  ${ns_id}  msg=Network service instance is not available
+    @{vnfr_list}=  Get Ns Vnfr Ids  ${ns_id}
+    Log List  ${vnfr_list}
+    Set Suite Variable  ${vnf_id}  ${vnfr_list}[0]
+
+
+Check Vdus Before Scale Out
+    [Documentation]     Check the number of VDUs instances before the manual scaling.
+    [Tags]   advanced_scaling   sanity   regression
+
+    @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
+    Log List  ${vdur_list}
+    ${vdurs}=  Get Length  ${vdur_list}
+    Set Suite Variable  ${initial_vdur_count}  ${vdurs}
+    Run Keyword Unless  ${init_instances} == ${initial_vdur_count}   Fail  msg=Instantiated VDUs (${initial_vdur_count}) don't match specified number in descriptor (${init_instances})
+
+
+Perform Manual Vdu Scale Out
+    [Tags]   advanced_scaling   sanity   regression
+
+    Variable Should Exist  ${ns_id}  msg=Network service instance is not available
+    ${ns_op_id}=  Execute Manual VNF Scale  ${ns_name}  ${vnf_member_index}  ${scaling_group}  SCALE_OUT
+
+
+Check Vdus After Scale Out
+    [Documentation]     Check whether there is one more VDU after scaling or not.
+    [Tags]   advanced_scaling   sanity   regression
+
+    Variable Should Exist  ${ns_id}  msg=Network service instance is not available
+    @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
+    Log List  ${vdur_list}
+    ${vdurs}=  Get Length  ${vdur_list}
+    Run Keyword Unless  ${vdurs} == ${initial_vdur_count} + ${delta_instances}  Fail  msg=VDU instances in the VNF (${vdurs}) don't match after Scale Out (${initial_vdur_count} + ${delta_instances})
+
+
+Perform Manual Vdu Scale In
+    [Tags]   advanced_scaling   sanity   regression
+
+    Variable Should Exist  ${ns_id}  msg=Network service instance is not available
+    ${ns_op_id}=  Execute Manual VNF Scale  ${ns_name}  ${vnf_member_index}  ${scaling_group}  SCALE_IN
+
+
+Check Vdus After Scaling In
+    [Documentation]     Check whether there is one less VDU after scaling or not.
+    [Tags]   advanced_scaling   sanity   regression
+
+    Variable Should Exist  ${ns_id}  msg=Network service instance is not available
+    @{vdur_list}=  Get Vnf Vdur Names  ${vnf_id}
+    Log List  ${vdur_list}
+    ${vdurs}=  Get Length  ${vdur_list}
+    Run Keyword Unless  ${vdurs} == ${initial_vdur_count}  Fail  msg=There is the same number of VDU records in the VNF after Scale In
+
+
+Delete NS Instance
+    [Tags]   advanced_scaling   sanity   regression  cleanup
+
+    Delete NS  ${ns_name}
+
+
+Delete NS Descriptor
+    [Tags]   advanced_scaling   sanity   regression  cleanup
+
+    Delete NSD  ${nsd_name}
+
+
+Delete VNF Descriptor
+    [Tags]   advanced_scaling   sanity   regression  cleanup
+
+    Delete VNFD  ${vnfd_name}
+
+
+*** Keywords ***
+Suite Cleanup
+    [Documentation]  Test Suite Cleanup: Deleting descriptors and NS instance
+
+    Run Keyword If Any Tests Failed  Delete NS  ${ns_name}
+    Run Keyword If Any Tests Failed  Delete NSD  ${nsd_name}
+    Run Keyword If Any Tests Failed  Delete VNFD  ${vnfd_name}
+
