End-to-end Testing with Release Channels
Oculus Developer Blog
Posted by Chris Yabsley
November 14, 2016

One of the challenges of shipping high-quality VR software is end-to-end testing. Sharing builds with teams and testers can become complicated quickly. It's hard to ensure all of your testers are running the latest version of your code, and some features, like entitlement checks, are difficult to verify with ad hoc builds. Things can get really confusing when you have multiple groups consuming different versions of in-development work. Your QA team probably wants access to the latest build, but your publisher might only want to see builds that have already been battle-tested. Our new Release Channels feature is designed to help you test and release your software more effectively.

Release Channels allow you to target individual builds to specific groups of users. By default, we provide four channels that match common software development stages (“Alpha,” “Beta,” “RC,” and finally “Store,” which is the live app served to real users), but you can also make your own channels to fit your needs. Each release channel has a set of subscribed users (assigned by their Oculus ID using the Developer Dashboard). When you upload a build to a channel, subscribed users will see that app appear at the bottom of their Oculus Store (under “My Preview Apps”). From there they can download, install, and run it exactly the way real users will when the app goes live on the Store. When you update the build in that channel, those users will receive the update via normal store update UI. And since your app was served via the normal Oculus Store infrastructure, entitlement checks and other platform-dependent code will function correctly.

Check out the Build Dashboard to access the channels for your app, manage user subscriptions to channels, upload builds, or make new channels. When you're ready to make a Store submission (or update an app that's already live), make sure you put a build in the Store channel.

Example of Release Channels created in the Build Dashboard.

To learn more about setting up release channels for your app, see Using Release Channels to Control Distribution.

In the next few months, we'll be adding even more to Release Channels, including:

  • Keys for channels, which means you'll be able to more easily target builds to users using Oculus Keys.

  • Public betas so you can open up access to whomever is interested in testing the latest and greatest versions of your app.

  • Command line tools that allow you to migrate builds between Release Channels, opening the door to continuous releasing and automated test build pushes.

If you have any feedback on what more we can do to improve Release Channels, please let us know by submitting a feature request in the Dashboard using the “Give Feedback” button at the bottom left of the page.