Links
👋

Introduction

Like what your seeing?

Consider supporting us as a GitHub Sponsor and get instant access to all our Unity assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!

Introduction

Do not overlook the critical importance of having a formalized testing process in place. Software testing is a complex topic and it is separate to the design and development skill and thus shouldn't be created or performed by the same staff.
If you designed it or developed it then you cannot adequately test it.
These sections will introduce you to software and game testing concepts and practices to help you deliver a quality product. This is not a topic anyone can afford to cut corners on and is a part of your project that will have time and money costs if you plan on doing it properly.

Sourcing

Testing is a big topic that even established professional studios find they need to outsource part of in order to deliver on correctly and professionally. Check out our guide on Sourcing Testing for more information. In particular proper testing requires "scale" meaning a small studio or individual simply cannot solve for this requirement without additional support.

When to Test

Their are many types of tests that will be ran throughout the development process. When we think of testing as a "Phase" what we are really talking about is the final set of formal testing that when passed marks the end of production and the point your game is "gold" meaning ready for release from a development point of view.

Dev Testing

Software engineers and programmers will test constantly while they work and have quite a few tools available to them to help do this in an efficient and timely manner. We don't have full articles on this topic just yet but you can catch up on the fundamentals in our Debugging article.
These should be written as the final steps in preproduction but will be modified and maintained over the production cycle. These are the tests that let you know when your project is fit for release. In an ideal world your programmers would use these "formal tests" to know what they need to build and why.

Alpha / Beta Testing

A highly abused set of terms especially in the game industry. From a software engineering point of view these are old terms from an old approach to software testing that simply meant the first phases of testing being done typically before the software was "complete" e.g. "Alpha" and the second phase of testing being done after the software was considered all developed e.g. feature complete "Beta".
Alpha is the first Greek letter e.g. 1st phase and Beta is the second hence 2nd phase. In modern software engineering formal tests are defined before development starts and executed as able throughout the development process where development is not considered complete until all formal tests are "accepted" meaning passed or the failures accepted.
For gamers Alpha and Beta have different meanings ... put bluntly
Alpha referring to early play testing usually limited in scope and with known issues or missing bits.
Beta referring to the last phase of play testing just before the game goes live, they expect the game is done and nearly bug free by now.
So for modern game development Alpha and Beta are not really practical parts of legitimate testing but they are a good marketing tool. Alpha and Beta test marketing gimmicks can be used to load or stress test for games that require such. For small studios Alpha and Beta may end up being "real tests", In these cases Alpha / Beta are "informal" tests to augment a limited formal testing capacity.
Its worth noting that open Alpha and Beta tests are usually of very little value in terms of testing the software as you will get a lot of "noise" in your reports but not a lot of useful data. With good tracking and feedback tools it can be made more useful so your milage may very.

Public Testing

Related to Alpha and Beta Testing this is more a matter of marketing or community engagement than it is any formal function of most game testing plans. Public Testing can be useful for stress or load testing or with some small studios as an "informal" testing process to shore up limited formal testing capacity. Steam and other platforms make this easy with a "beta" or "build" opt-in feature for end users.