Back to testing

AirlineSim used to have a comprehensive set of automated tests. This means, most functions of the game had at least one corresponding test which ensured the respective function behaved as it's supposed to. The big advantage of this approach is that you can easily test hundreds of different situations with a simple click of a button. If you apply a change to something at one end of the system which breaks some functionality at another end it's likely to show up in one of the automated tests.

But due to some major changes to the system as a whole, namely the integration with our single-sign-on and account management system, and pretty tight time constraints we dropped automated testing a few months ago. Yes, I know...if you are into any kind of serious development you're feeling an inner scream and the urge to fall into spontaneous shock. I admit that this choice is never a good one, no matter how tiny the time budget might be. And in fact developing AirlineSim without this safety net was a major pain.

So obviously this had to be changed. Yesterday I checked out our existing test suite from version control and started fixing all the bugs that developed over time due to changes in interfaces and dropped functions. After a few hours of work all tests were running without errors. It's still missing a whole lot of tests for new functions that have been added to AirlineSim during the past few months, but it's definately better than nothing.

Today I extended the suite by some tests for our travel generation system, visible to the player as the ORS. Originally I wanted to create a stable sample to do essential performance tuning. But the tests brought about exactly the result automated tests should deliver: Unknown bugs! In this specific case I realized that the "no flight switching at airports smaller than medium size" rule essentially didn't come into action. Quite a few users reported figures that pointed towards such a problem but due to the complexity of the systems involved it was never actually proven to exist.

One small test, many big consequences. As everybody who has some experience in playing AirlineSim will have figured already, the corresponding bugfix will have major influence on the game: All passengers who switched flights at small airports won't do so after the next patch, large airlines based on this false behaviour will face huge problems as their complete business model will collapse. We will discuss internally how to deal with this situation officially. Meanwhile you're more than welcome to discuss the topic on the forums or the chat and to let us know about your ideas.