Technical and Testing
Challenges: Using the
"Protect The Square"
Game
Technical and Testing Challenges: Using the
"Protect The Square" Game
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?
Where is it?
You can find 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
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.
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.
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
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
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.
Do the previous exercises
before reading the
following "Technical
Challenges"
otherwise they might influence you
and you might not come up with as
many ideas.
If you want to manipulate
the system technically, do
that before reading the
following technical
challenges.
Remember reading the
technical challenges on
the next page can spoil
your enjoyment of the
game.
Did I say next page? I
meant the page following
this one. Be sure you want
to read the challenges
before turning this page.
OK. Last Warning.
Starter Technical Challenges & cheating
—Can you give yourself a high score?
—Can you give yourself infinite lives?
—Can you make the score display so that it shows
the display in the HTML rather than on the
canvas?
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?
Technical Manipulation
—Can you create a 'bullet time' mechanism where
you can fire 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"?
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?
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?
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?
Learn to "Be Evil"
—www.eviltester.com
—@eviltester
—www.youtube.com/user/EviltesterVideos
Learn About Alan Richardson
—www.compendiumdev.co.uk
—uk.linkedin.com/in/eviltester
Follow
—Linkedin - @eviltester
—Twitter - @eviltester
—Instagram - @eviltester
—Facebook - @eviltester
—Youtube - EvilTesterVideos
—Pinterest - @eviltester
—Github - @eviltester
—Slideshare - @eviltester
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.
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

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

  • 1.
    Technical and Testing Challenges:Using the "Protect The Square" Game
  • 2.
    Technical and TestingChallenges: Using the "Protect The Square" Game
  • 3.
    Some games arenot 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? Youcan find 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 happensin 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 StartingActivities —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 PlanningActivities —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 previousexercises before reading the following "Technical Challenges" otherwise they might influence you and you might not come up with as many ideas.
  • 11.
    If you wantto manipulate the system technically, do that before reading the following technical challenges.
  • 12.
    Remember reading the technicalchallenges on the next page can spoil your enjoyment of the game.
  • 13.
    Did I saynext page? I meant the page following this one. Be sure you want to read the challenges before turning this page.
  • 14.
  • 15.
    Starter Technical Challenges& cheating —Can you give yourself a high score? —Can you give yourself infinite 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 youcreate a 'bullet time' mechanism where you can fire 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 addsome 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 thelimits —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?
  • 21.
    Learn to "BeEvil" —www.eviltester.com —@eviltester —www.youtube.com/user/EviltesterVideos
  • 22.
    Learn About AlanRichardson —www.compendiumdev.co.uk —uk.linkedin.com/in/eviltester
  • 23.
    Follow —Linkedin - @eviltester —Twitter- @eviltester —Instagram - @eviltester —Facebook - @eviltester —Youtube - EvilTesterVideos —Pinterest - @eviltester —Github - @eviltester —Slideshare - @eviltester
  • 24.
    BIO Alan is atest 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 theauthor 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