End-to-End Test Automation for a smart city planning platform

Unity App Testing – 3D model planning tool

Key achievements

  • Proof of concept that AltTester® framework can work with the client’s application
  • Improved app testability
  • Faster feedback loop

Types of testing

  • Test Automation
  • UI Driven Testing

Tools & technologies

  • AltTester® Unity SDK
  • AltTester® Desktop
  • Unity
  • C#

Industry

  • Real Estate
  • Architecture
  • Constructions: Planning & Site Development

The client

VU.CITY is a smart city planning platform used primarily for architecture, planning, site development, but also environmental and public engagement. VU.CITY is transforming cities through greater understanding, collaboration and trust, to help communities make better decisions.

The needs and challenges

The client had a few unit tests, but needed to improve the test coverage for the app to get faster feedback and shorten the release cycle. We started with a two week pilot project where we tackled some of the more complex, hard to test cases of the app as our requirements.

Our solution

Custom input system

One of the first challenges we had to deal with was incompatibility between the application’s input system and the input system of AltTester®. To solve it, we redirected the app’s custom input system to the custom input system of the AltTester® framework. Then, we started implementing the tests agreed with Vu.City’s team.

Another difficult challenge was to find a way to test the code decoupled by Zenject, an injection framework built specifically to target Unity 3D. We fixed this by adding a MonoBehaviour class into the code, in which we injected the Controllers/Managers in order to access the needed properties and methods.

Proof of concept – AltTester® framework works with Vu.City

After fixing all the incompatibility issues we worked on a 2-weeks PoC to prove that we can programmatically control the app using the AltTester® framework. We wrote automated tests for specific features and at the end we organized a demo session where we explained our strategy, our challenges and testability improvements that could be added to the app, and then ran the tests live on their app.

Creative testing approaches

The client requested us to test the creation of a building view. This means that by clicking on a wall, the camera will be placed on the building containing the wall. This way, one can check the view that people living there would have. We had 2 approaches:

  • Approach 1: Tilt the map so that building walls are more visible then roofs and click on the building
  • Approach 2: Move mouse over the map and when the icon indicates a building than click at that given position

We implemented the first one as it was faster and easier, but it turned out that it could lead to flaky tests in some cases. This led us to implementing the second approach as well, during a follow-up phase.

The result

In the end, the client now had a better understanding of how the AltTester® framework works and is using our tools to write automated tests to check if something that was working before in the app is now broken. We worked closely with the client to improve the testability of the app to achieve end-to-end test automation.

We worked with this client on the Starter pack of our Unity test automation jumpstart packages and then we continued our collaboration with ongoing test automation services. Check our kickstart packages and choose the one that fits your company’s needs!

Struggling with game test automation?

We can find a solution suitable for you!

or call +40 371 426 297