Automating game play testing (photon)

Options
Hi Everyone, First post here. I'm a professional tester looking at automating some aspects of multiplayer game play testing for a unity/photon architecture. Webclient is the primary client.

I'm assuming the best way to do this is creating clients that will call player functions initiated from a script (move, jump, pick, etc, etc) and the client will be calling these functions and using photon to send udp, with some kind of callbacks for status and the like. But I'm open minded about exactly what form will be used in the end.

I'd really like to hear how you do things and any comments you might have about automated testing in this and similar environments.

Thank you!
- xtrans

Comments

  • Hi xtrans,
    welcome to Photon! :) First, are you going to use Photon Cloud or a self-hosted Photon with customized applications / operations?

    We are using unit tests on several different levels - for "Photon core" functionality (like serialization etc.); for server-side application functionality (like the NUnit test projects in /src-server/Lite or LoadBalancing that are part of the Photon Server SDK - I recommend that you have a look at them), client-lib tests, etc.

    If you have a good separation between your game logic and your GUI, you should be able to write automated tests for the game logic part quite easily - create a thread for each "client", call your operations and check if the other "clients" receive the expected data.

    If you are using a self-hosted Photon, you might also want to build some of your tests in a way that you can re-use them easily for some load testing (i.e., simulate the typical game behavior for a few hundred clients to determine how many clients your server can handle).

    For UI testing, I can not give much advice because I'm not an expert for GUI development at all - let alone GUI testing - but maybe someone else here can you give some hints.
  • xtrans
    Options
    Hi Nicole, thanks for the warm welcome!

    I believe it is self hosted. I will take a look at those unit test examples. They will be useful overview for me but unit testing will be taken care of by the development function in this case.

    Mostly I plan to drive clients and server using an independent test platform to script client gameplay.

    If I have to, I will drive some of that with UDP - but mostly I'm aiming for a result which can be conventionally scripted at a much higher level (move, jump, respond to events) and can therefore be maintained independently of lower level changes.

    Btw, have you made any use of the photon Stardust test client from the SDK?
  • sweta
    Options
    I am looking for more understanding on automation scripts for photo engine game.
    Can u please help me with automation framework and give some details about automation behavious?
    I want to know how automating SilverLight, wpf applications are different from automating Photon Game application.