In simple case, just the first release of Angry Bird is OK

I am thinking if the testers can automated to find out all possible routes ( removing those shooting back) to get the marks stats (and also fix hidden bugs)

thx, though this may be a very simple question here

  • 1
    \$\begingroup\$ Bugs usually appear in cases that you won't test. There might be an infinite number of those because of the physics simulation. Conclusion: don't bother with automated testing here. \$\endgroup\$ – snake5 Jan 7 '13 at 8:15
  • \$\begingroup\$ Maybe the question can turn into my question, as this question is the result of a debate between my friends. We are discussing does Angry Bird, just as a small mobile game, need to find human testers to play and get every map's rating standard (i.e. what score to be 3 stars). I think for game, there must people doing this, but my friend said only computer will calculate for us. we just need to pick out the stats as the rating standard. \$\endgroup\$ – Olivier Chung Jan 7 '13 at 9:19
  • 1
    \$\begingroup\$ That's a different question. Answer: no, humans are not needed, but yes, that's most likely way they are set. You can even do that as a function: play the game 1000 times, get statistics, mark three stars at halfway the bell curve of scores (or something). \$\endgroup\$ – Jari Komppa Jan 7 '13 at 9:56
  • \$\begingroup\$ @JariKomppa I think doing this does not give a good stats. As you know, many games are attractive as their reasonable and challenging difficulties. So game developer should know how well the players played to get suitable scores then set a suitable difficulties. Though it is turning the question way out, but I like to discuss it, do I violate any rules for this in here? \$\endgroup\$ – Olivier Chung Jan 8 '13 at 2:42
  • \$\begingroup\$ @OlivierChung well, this is a Q/A site, not a discussion forum. Try gamedev.net or devmaster.net maybe? \$\endgroup\$ – Jari Komppa Jan 8 '13 at 5:39

Short answer: yes-ish, but the point of it all is rather debatable.

Yes, it is possible to run a simulation of all angles and shot strengths, and to let the physics run through, and to get some values out. There's two slight problems with this, however.

First: What would you consider a failure? If you are looking for crashes, that's a clear thing, but any other kind of tests would be harder to make.

How do you know if some values are wrong? Would a human watch every single iteration to make sure nothing funny happens? Or would you just set some arbitrary boundary values that are checked against ("no object may ever fly over 2 kilometers" or some such..).

If you keep the results for sanity testing, any small change in the application may change the results dramatically. If 50% of your values are suddenly different, can you say it's due to an introduced bug, or if, due to some small floating point accuracy difference, the physics simulation just happens to act slightly differently?

Let's say you're looking to stress the physics engine, and have some boundaries to check against.

Second: Is it really sane to iterate through every single possible angle and shot power? The number of iterations required is probably immense, and since the physics simulation takes some time to execute. It is still probably possible to test them all, especially if you throw the problem to some cloud processing service, but whether it is cost-effective is another matter.

More likely it's worth it to make some hand-crafted boundary case tests (the cases you'd expect to have problems; shooting straight up, straight right, max power, min power, etc), combined with random testing that can be left running overnight.

| improve this answer | |
  • \$\begingroup\$ thank you for your answer, with such long words. By the way, I have added new comments below my question. Please see. P.S. I agree to your suggestion. \$\endgroup\$ – Olivier Chung Jan 7 '13 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.