Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Test Invaders

Test Invaders

An interactive crash course focusing on fast feedback, test-driven development, incremental delivery, and automated deployment.

In this hands-on activity, Continuous Delivery will be demonstrated via a classic favourite, “Space Invaders”.

There is something for everybody!

Scott Robinson

May 30, 2012

More Decks by Scott Robinson

Other Decks in Programming


  1. Humanity’s Last and Best Hopes @quadhome @gardym Mike, say something

    funny about yourself. Scott, admit your greatest fear is talking in front of a group of strangers.
  2. When the fate of the world is on the line...

    (Really) Fast Feedback Test Driven DevelopmentDESIGN Continuously Continuous Delivery 1-Click® Deployment Why are we here? To have fun and learn... FF: the speed of a team of a development team is dependent on how fast we can react TDD: Because evolving code with tests guides our design. CD: When changes are made, we can immediately put them out with confidence. Deployment: Don’t want to schedule a release to save the world... but, actually...
  3. εϖʔεΠϯϕʔμ Designed engineer and built by Tomohiro Nishikado in 1978

    Who, according to Wikipedia, had a dream about Japanese school children attacked by invading aliens whilst waiting for Santa Claus. HISTORY: STRANGER THAN FICTION
  4. An approximation of game programming while(true) { update_everything(time, input); collide_everything();

    draw_everything(); } Event loop. Move everything, see what got hit, and then draw the results... like a Space Invader...
  5. The Theatre of War (0,0) (width, height) (x, y) (width,

    height) An invader and its bounding box Collisions occur when bounding boxes overlap Invader { active: [true, false] box: { x, y, width, height } update(time, input) collide(what hit) team: [Team.Earth, Team.Invader] }