Search Unity

Games are incredibly challenging to test. Game developers build games from components, yet the player interacts with a visual and dynamic world that is much more interesting and complex than a sum of components.  

Due to the complexity of modern games, even the most sophisticated QA teams have very limited options to scale the QA testing process.

We’re building Automated QA to give QA teams the power to test on-demand and at scale with recorded playback – and soon with many more types of game playing agents.

Announcing: Unity Automated QA [Experimental]

The Automated QA package enables users to record and playback touch or drag interactions with the UI of a Unity Project and optionally use recordings to drive Unity Tests –  in the editor, on an iOS or Android device.

Requirements and Limitations

  • We support automation of click or touch on UI elements implemented with Unity UI
  • Unity 2019+ required

Recorded Playback makes it easy to automate smoke testing

Authoring a smoke test is as easy as pressing the record button and performing the playthrough you would like to automate. When used to drive a test, the playback will only succeed if each object involved in the recorded playback was visible on-screen and clickable (or draggable).

Key Features of Recorded Playback

  • Object based recording: recorded playbacks are stored as timestamped sequences of objects identified by name and tags
  • Record taps or drag events
  • Automatic Unity Test Framework test generation

Composite Recordings keep tests organized and maintainable

Sophisticated QA teams validate hundreds to thousands of different paths through a game before each release. We built the Composite Recording feature to enable QA testers to automate the gameplay common to many tests (think navigating through the main menu) without sacrificing the confidence that can only be achieved by testing the game as the player will experience it (e.g. by loading levels from the main menu).

Key Benefits of Composite Agents

  • Create agents by mixing and matching other agents (like Recorded Playbacks)
  • Less duplication of playthrough logic means easier maintainability. Menu system changes? No problem, just update the agent responsible for menu navigation and all downstream composite agents will be updated

Coming Soon: Composite Agents

We are adding support for the creation of game playing agents composed of recordings, C# scripts, and ML-Agents. Sign up for early access.

Run tests on real devices: local or in the cloud

Once you’ve authored an automated test, the Automated QA package makes it easy to test on a real device. Run tests on devices you already own, just by plugging them into your machine and pressing “Run” from the Unity Test Runner.

Coming Soon: Run tests on real devices in the cloud from the Unity Editor or CI

We’ll handle the infrastructure so that cloud on-device testing is even easier than local on-device testing. And we’ll make the resulting pass/fail status, logs, and screenshots available directly from both the Unity Editor and via API. Sign up for early access.

Try it today in minutes!

Installation

  1. With your project open in the Unity Editor, open the Package Manager (Window > Package Manager).
  2. Press the plus button (+) in the top left of Package Manager and then select “Add package from git URL…”.
  3. Enter com.unity.automated-testing in the text box and then press “Add”.

Open the Recorded Playback window (Window > Automated QA > Recorded Playback) and start recording! See the package documentation for more instructions.

Please email us at AutomatedQA@unity3d.com with any questions!

Contributors: Dylan Scandinaro, Jason Greco, Justin Rempel, Lauryn Porte, Matt Sorg, Shuo Diao, Rambod Kermanizadeh, Souranil Sen, Tim Sibiski, Tom Thompson, Willis Kennedy

8 replies on “On-Demand QA Testing with Unity Automated QA”

Any way to play a recording in a test other than the RecordedTest attribute? I would like to play the recording in the middle of an UnityTest, after other steps, and wait for it to end before validations.

At the moment, we just support input to in-scene Unity UI elements. In early may, we’ll add support for creating agents from C# scripts, which may enable this use case.

I’ve been secretly wishing for something like this for a long time to create character movement correctness tests (difficult to test this kind of stuff otherwise), however after a quick test, it looks like this doesn’t record keyboard/mouse/gamepad inputs. Any chance we could see this feature eventually? Or maybe it’s already there and I missed it

We currently support only automation of mouse or touch input on Unity UI elements. We expect to release a new feature enabling agent creation by combining C# scripts and recordings in early May, which should help with this use case.

发表评论