Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Technical and Testing Challenges: Using the "Protect The Square" Game

1.
Technical and Testing
Challenges: Using the
"Protect The Square"
Game

2.
Technical and Testing Challenges: Using the
"Protect The Square" Game

3.
Some games are not
meant to be played, they
are meant to be played
with.
This is that kind of game.
What can you make it do?

4.
Where is it?
You can ﬁnd the game here:
—https://www.compendiumdev.co.uk/games/
buggygames/protectthesquare/
protectthesquare.html
Or as part of the downloadable "Evil Tester's
Compendium of Testing Apps"
—https://github.com/eviltester/TestingApp

5.
Can you cheat? Exploit
bugs? Re-enable hidden
features? Extend the
game?
All suggestions in this document
can be performed within the
browser. No other tools necessary.

6.
Remember
Anything that happens in your
browser is yours to control,
if you learn the skills to interrogate, observe, and
manipulate the system you are working with.

7.
Non Technical Starting Activities
—Figure out how to play.
—clue, use the mouse
—Any obvious bugs?
—clue the known bugs do not require any
technical knowledge

8.
Non Technical Planning Activities
—Build a list of improvements
—Are there any feature requests that you would
make for the developer? It is a useful exercise
with any system to think through 'missing'
requirements. And can you make a case for
their inclusion i.e. 'why' should someone care

9.
Reconnoitre
—Read the source - anything in there that provides
cause for concern or piques your interest?
—Using the source, what ideas do you have for
manipulating the game.

10.
Do the previous exercises
before reading the
following "Technical
Challenges"
otherwise they might inﬂuence you
and you might not come up with as
many ideas.

11.
If you want to manipulate
the system technically, do
that before reading the
following technical
challenges.

12.
Remember reading the
technical challenges on
the next page can spoil
your enjoyment of the
game.

13.
Did I say next page? I
meant the page following
this one. Be sure you want
to read the challenges
before turning this page.

15.
Starter Technical Challenges & cheating
—Can you give yourself a high score?
—Can you give yourself inﬁnite lives?
—Can you make the score display so that it shows
the display in the HTML rather than on the
canvas?

16.
Technical Challenges & cheating
—The developer has left some experimental levels
in the game, can you enable them?
—The developer has some alternative score
reporting mechanisms in the game, can you
enable them?

17.
Technical Manipulation
—Can you create a 'bullet time' mechanism where
you can ﬁre a lot of shots without the enemy
moving or reacting?
—Can you create your own levels?
—Can you package your levels into a bookmarklet
to make them easier to re-use or distribute?
—The developer left in a mechanism where the
enemies can teleport, can you add that into the
enemy "AI"?

18.
Automating
—Can you add some bot behaviour for your 'player'
so that they move around the screen to avoid
enemies?
—Can you make the player automatically shoot the
enemies?
—Can you do it strategically so that it shoots the
nearest enemy?

19.
Push to the limits
—How much can you do, from the console to tweak
the behaviour of the game and the game rules?
—Can you add new behaviour rules for the
enemies?
—Can you change the spawning ground for the
enemies to be the middle of the screen rather
than the top?

20.
Make Something New - Can you add new features?
—The developer did not implement keyboard control
for the player - can you add that?
—Can you add a smart bomb that destroys all the
enemies on screen?
—Can you add a proximity bomb that destroys
enemies within a certain pixel radius?
—Can you add a teleport button to move the player
randomly out of trouble?
—What other features could you add?

24.
BIO
Alan is a test consultant who enjoys testing at a
technical level using techniques from psychotherapy
and computer science. In his spare time Alan is
currently programming a multi-user text adventure
game and some buggy JavaScript games in the style
of the Cascade Cassette 50.

25.
BIO
Alan is the author of the books "Dear Evil Tester",
"Java For Testers" and "Automating and Testing a
REST API". Alan's main website is
compendiumdev.co.uk and he blogs at
blog.eviltester.com