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
Tweet

More Decks by Scott Robinson

Other Decks in Programming

Transcript

  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] }