Testing and optimization

Test automation is the process of writing small snippets of code (tests) to verify the desired functionality of Open 3D Engine extensions and tools that you create.

Contributors to the O3DE Project are required to write tests for their features, following the standards set by the Open 3D Foundation Testing Special Interest Group. If you plan to contribute, make sure that you’re familiar with project test standards as well as the frameworks.

Test Runners

O3DE uses standard test runners to collect, execute, and gather results. The officially supported test runners are:

Test Tools Packages

Open 3D Engine (O3DE) offers several tools packages to make writing tests quicker, safer, and more consistent. Before you write tests, take time to familiarize yourself with the tools.


AzTest is a collection of abstractions, functions, and wrappers to make writing C++ tests easier.


EditorPythonTestTools are a collection of test tools focused around accessing Editor functionality. These tools should be used whenever you want to automate tasks which would occur in the Editor.


The LyTestTools are testing productivity tools for writing and debugging tests that across different environments. This includes (but isn’t limited to) environment manipulation, creating/collecting images and logs, and starting project launchers.

Copyright © 2022 Open 3D Engine Contributors

Documentation Distributed under CC BY 4.0.
For our trademark, privacy and antitrust policies, code of conduct, and terms of use, please click the applicable link below or see https://www.lfprojects.org.

The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Policy page.