Presentation is loading. Please wait.

Presentation is loading. Please wait.

Test-Driven Development with Lego Mindstorms Ru Maaret

Similar presentations


Presentation on theme: "Test-Driven Development with Lego Mindstorms Ru Maaret"— Presentation transcript:

1 Test-Driven Development with Lego Mindstorms Ru Cindrea @ru_altom Maaret Pyhäjärvi @maaretp

2 Iteration: Design test – implement - Test Structure of the Workshop What is Test-Driven Development Iteration: Design test – implement - Test Retrospective Mindstorms & ”IDE” Lessons and Experiences on TDD

3 Product Vision Build the software for a robot that moves to pick up target objects

4 Meet Gripp3r - Adapted Programmable central unit – without the controller that we’re building Two motors for wheels One motor for claw IR sensor Color sensor Touch sensor Commander IDE

5 Backlog of Identified Needs Move around Take object This is what we think we can do with it

6

7 Info: motors, sensors & ports SENSORPORT Touch1 Nothing2 Color3 Infrared4 Motors ClawA Left wheelsB Right wheelsC

8

9 Constraint: Cannot use this. We’ve tried it out and feel it’s too inaccurate to control

10 Constraint: Don’t use these.

11 SESSION: 1ST TEST Constraint: No joystick due to inaccuracy

12 Backlog of Identified Needs Move around Take object This is what we think we can do with it

13 Lab Session Setup Integration Area -Time-limited access Integration Area -Time-limited access Development Area -Define one (failing) test that defines a feature - Implement to pass - Go to Integration Area to test -Refactor for space in Commander IDE Development Area -Define one (failing) test that defines a feature - Implement to pass - Go to Integration Area to test -Refactor for space in Commander IDE

14 Rules around the Integration Area Setup time + 30 seconds to test Entry criteria: you need your test on paper defined. You can only test the test you have defined. You’re testing the implementation and the test could also fail

15 Planning iteration #1 Feature: move around Small steps, one test to drive your idea of what would be the smallest value to show

16 Retrospective Time!

17 SESSION: REAL ITERATIONS WITH CYCLES OF TDD Start again with focus on smallest possible additions. Quality of your tests should be your main discussion point in teams.

18 Lab Session Setup Integration Area -Time-limited access - Queue, run previous + new tests for 30 sec and let the next group in Integration Area -Time-limited access - Queue, run previous + new tests for 30 sec and let the next group in You can visit the integration area many times in an iteration. Entry criteria: you need your test on paper defined. Quality of your tests should be your main responsibility. You can only test the tests you have defined.

19 Backlog of Identified Needs Move around Take object This is what we think we can do with it

20 Retrospective Time!

21 SESSION: NEED TO REFACTOR Constraints on Joystick removed

22 Backlog of Identified Needs Move around Take object This is what we think we can do with it After refactoring, see that your tests still run or update them

23 Retrospective Time!

24 SESSION: SPIKE TO LEARN ABOUT THE SENSORS Remember: You will not see the robot when in live environment, only in test environment New info: White objects are dangerous to humans

25 Spike – Learn by Exploring Spike solution is a very simple program to explore potential solutions. Their goal is to reduce risk of a technical problem or increase reliability of a user story’s estimate.

26 SESSION: BUILD MVP

27 Backlog of Identified Needs Move around Take object Don’t bring back white objects This is what we think we can do with it

28 Final Demo Time!

29 GROUP WORK: LESSONS AND EXPERIENCES ON TDD This exercise vs. real life TDD SIMILARITIES What can we take from this? DIFFERENCES What can we bring home from other experiences the group has?

30 Specification Feedback Regression Granularity


Download ppt "Test-Driven Development with Lego Mindstorms Ru Maaret"

Similar presentations


Ads by Google