We're trying to break our stats app now so it won't break on you later

May 1, 2012   by Mike Fratto

We know that switching to new software can be unsettling, especially for something as important as entering and maintaining your stats. That is why we are taking every precaution to make PrestoSports Stats Entry accurate.

For starters, we made all the keystrokes the same as Stat Crew Legacy. You also can easily share a packed file or XML with your opponent who is still using Stat Crew.

The basic goal is to try and do everything in our power to break the app now, so that in the fall, we know it won't break. As we have gone through beta testing, the best testers have been able to "Hulk smash" the app. Now over the summer, we're looking to do even more of that.

Crowdsourcing our testing

For our latest endeavor on that front, we're crowdsourcing our testing. We've hired a legion of data entry specialists to enter in entire seasons worth of stats. They are keying in real seasons, so the data is true. And we've received additional test games specifically for unique plays to make sure we can handle those as well. Once the testers are done with a particular season, we will compare the XMLs from our re-keyed seasons reports to the existing XMLs. 

As an added bonus, many of the data entry specialists have no backround in sports. We want to make our app easy to learn for both hardened Stat Crew veterans and the freshman student worker who just walked through your door, and we think we have a good crop of testers who represent the latter.

We're hoping to have hundreds of seasons done over the summer so that any hidden bugs can be fixed by the time the 2012-13 season rolls around.

Running automated tests

We've also set up automated testing, which is a great way to catch regression bugs. A regression bug is when a developer fixes or improves one thing in the app, but breaks something else that already works.

The way we prevent this is by teaching the computer to recreate common scenarios in statting a game, and then check that everything worked. So, for example, we tell the computer to start a new game, give someone a shot on goal and then check that they got credit for the shot. 

This is useful because of the way we are building the software. Every time someone saves a change to the code, our systems automatically build a new version of the software. Our systems then run the automated tests of the new version to see if that change broke something else. If something broke, the developers get an email.

As we develop more and more sports and have more and more actions to test, that will be invaluable.

Follow Us

Archives

Search