Thursday, November 1, 2012

Automatic Testing

While developing Euro Truck Simulator 2 and specifically the physics simulation in the game, we have been putting a lot of effort into improving our vehicle physics model. Our goal is to make it as close to reality as possible. We have come a long way, but we would like to go even further of course.

Complexity of the physical model is growing - small change of one parameter in the system can often have hard to predict consequences. There are more and more combinations of parameters or configurations which need to be properly tested. Just to mention a few, there are at the moment three different axle configurations, engines with different hp, surfaces with different friction coefficients, we test both acceleration and braking at varying slopes, with or without the trailer which may be of different weight...

If you count all the combinations which should be tested, you arrive to hundreds of thousands, and it has become impossible to test everything traditionally at the hands (and steering wheels) of human testers. Such testing would be too time consuming and hard to organize systematically. Since we want to deliver maximum possible quality, we had to come up with automatic testing.

Vehicle is given prepared instructions and it is placed on a testing map with specific terrain profile. All possible combinations are tested automatically overnight and the results are processed afterwords using Perl scripts. This way we can often catch problems hiding among the many combinations. Although human testers are indispensable, we can conclude that the energy invested into building this test procedure has already paid off.