Functional testing in the Update Staging Lab
Published Sep 21 2020 08:06 PM 4,756 Views

Software vendors: You can now perform custom functional tests—using the test framework of your choice - via the self-serve Update Staging Lab portal. When we initially launched the service, we offered out-of-box tests, a pre-defined set of tests driven through standardized scripting. This, however, could not achieve full test coverage for many ISVs. Hence, in response to your feedback, we are providing a welcome addition to the experience the ability for you to upload automated functional tests.

To use this feature, the basic steps are:

  1. Upload your files (binaries, dependencies and scripts) as a single .zip package.
  2. Choose if you want to reboot the test virtual machines (VMs) at various points of execution.
  3. Manage available options for your scripts.
  4. Choose when to apply the Windows update on the VM during execution.

I'll now go into more detail about each step of the process.

Upload a functional test package

To get started, navigate to the Upload page, select Upload new application under Application catalog on the left-side navigation menu of the Update Staging Lab portal in Azure. From there:

Tab 1 - Enter basic information. Provide the name and version of your application. In the Type of test option, select “Functional tests”. Note that the Out-of-Box (OOB) option is required by default.


Tab 2 - Upload the components of your package. Upload a zip file with your entire test (binaries, dependencies, scripts etc). See for details. (Note: Both the Out-of-Box test scripts and the Functional test contents should be placed into the same zip file). Currently, the file size is limited to 2GB.

Tab 3 - Configure the Out-of-Box and Functional test tasks. Here, choose the path(s) to the PowerShell scripts that will install, launch, close, and uninstall your application (for Out-of-Box) as well as the path(s) to all your custom scripts to perform your functional test. (Note: A script to uninstall your application is optional). Currently, you can upload between 1 and 8 scripts for your functional tests. (Comment on this post if you need more scripts!)


(Optional) Configure a restart after installation. Some applications require a restart after installation. Select Reboot After Execution for the specific Script in the Tasks tab if you'd like a restart to be conducted after the execution of that script you.

Tab 4 - Choose when the Windows update gets installed: The application of the Windows Update patch is done before any script of your choice. It is recommended that you install a Windows update after app installation to closely mimic your real-world application use scenarios.


Tab 5 - Review and create the package. Once you have completed the steps listed above, select Create to finish the uploading process.

See the verification status of your package

Once your package has been created, we run an initial test to install, launch, close, and uninstall your application. This allows us to verify that your package can install on our service error-free.

The verification process could take up to 24 hours. Once verification is complete, you can see the status in the Manage packages menu, which would be one of two entries:

  1. Verification succeeds. The package will be automatically tested against pre-release Windows updates for the OS builds you selected.
  2. Verification fails. You will need to investigate the reasons for the failure, fix the issue, and re-upload your package.

You will also be notified of either outcome via the notification icon in the Azure portal.

Thanks to our existing Update Staging Lab users for their patience as we built this functionality into the service. We will continue to enhance and evolve the service, so please feel free to reach out to with feedback! We’ll also keep you updated on more functionality as it becomes available in the coming months.


Version history
Last update:
‎Sep 21 2020 08:06 PM
Updated by: