Testing as Communication, Real-World Techniques

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Testing as Communication, Real-World Techniques - Presentation Transcript

    1. Testing as Communication Real-World Techniques Jon “Lark” Larkowski @L4rk Sunday, March 1, 2009 1
    2. Walk of the Talk • Subset of Obie’s The Hashrocket Way talk • Our tools & techniques • How they support communication • And save time & money • At the end: where we’re headed… Sunday, March 1, 2009 2
    3. We value agility & transparency… Therefore, we value testing & communication… And, this all saves you cash money, ideally… The Way Sunday, March 1, 2009 3
    4. Test • All the f-ing time. (Hi, Bryan!) • If we test all the time… • And testing is communication… • Then we… Sunday, March 1, 2009 4
    5. Communicate • All the f-ing time. • (Only if we keep the overhead low.) • There’s three lines of communication... 1. C2D: client to developer 2. D2D: developer to developer 3. DnD: [not covered in this talk] Sunday, March 1, 2009 5
    6. Fiscal Responsibility • Testing is communication • Both are “baked in” to our agile process • That is, with low overhead • This saves you dough • Walk through our process, first tool is... Sunday, March 1, 2009 6
    7. Pivotal Tracker • We live in it. • Who’s using it? • We don’t code unless it’s for a story. • Let’s look at some screenshots... Sunday, March 1, 2009 7
    8. Sunday, March 1, 2009 8
    9. Sunday, March 1, 2009 9
    10. Pivotal Tracker • Communication aspects... • C2D: transparency, scheduling • D2D: estimation, who's doing what right now Sunday, March 1, 2009 10
    11. Pivotal Tracker • Fiscal aspects… • Real-time web collaboration lowers overhead, both to clients at-distance, and developer across room • Reporting & projection tools allow for reasonable estimates, off real-world data • So that’s Tracker, but at its core it’s all about… Sunday, March 1, 2009 11
    12. Stories • All our work is driven by stories. • Stories are like tiny use cases. • Really, stories are tests. • Because they contain acceptance criteria. Sunday, March 1, 2009 12
    13. Stories • Communication aspects... • C2D: stories are tokens of a conversation • D2D: make sure to write stories at a level developer can actually implement Sunday, March 1, 2009 13
    14. Stories • Techniques we use… • Direct capture to Tracker • Standard forms: In order to / As a / I want to Given / When / Then • Written together with client, with close developer aide Sunday, March 1, 2009 14
    15. Stories • Fiscal aspects… • Well, they’re a part of agile in general • Delivery working software early & often • Constant cost of change • Tight response to change • Ability to recoup investment at any time • So, that’s stories. Now, when we actually start coding stories, we… Sunday, March 1, 2009 15
    16. Pair all the f-ing time. Sunday, March 1, 2009 16
    17. Pair Programming • Communication aspects… • Who’s pairing? (Some, most, all.) • Hopefully, you know the benefits already. • D2D: keep focused, honest, high quality • D2C: redundancy, bus sensitivity Sunday, March 1, 2009 17
    18. Pair Programming • Techniques we use… • Two developers, one screen. • Ping Pong, both metaphorical and literal… • Daily stand-ups Sunday, March 1, 2009 18
    19. We take ping pong very seriously. Sunday, March 1, 2009 19
    20. Get up, stand up... Sunday, March 1, 2009 20
    21. Pair Programming • Fiscal aspects… • Oh, boy. • I could tell you, “Studies show…” • Or I could just tell you, “Do it.” • “No, no. Seriously. Do it.” Sunday, March 1, 2009 21
    22. Sunday, March 1, 2009 22
    23. Testing • Communication aspects… • C2D: express stories as acceptance criteria, then tests (MVC tests) • D2C: RSpec specdoc format, cucumber • D2D: more durable system specification • Examples… Sunday, March 1, 2009 23
    24. Sunday, March 1, 2009 24
    25. Sunday, March 1, 2009 25
    26. Testing Techniques we use… • • RSpec Selenium • • MVC, yes... V RSpactor • • Factory Girl/Object Daddy Continuous Integration • • Cucumber Clicking on stuff Sunday, March 1, 2009 26
    27. Testing • Fiscal aspects… • Who’s heard, “We don’t have time to test!” • Quit that job, immediately. • Unless it’s Obie who says it. • You don’t have time not to test. Sunday, March 1, 2009 27
    28. Testing • Fiscal aspects continued… • Respond to change quickly, be more daring in your refactorings • Less regression, no rework fixing old bugs • Supports collective ownership, guards against misuse • Serves as built-in documentation (low overhead) • Supports continuous integration and deliverability… Sunday, March 1, 2009 28
    29. Continuous Delivery • All the f-ing time. • We deliver finished stories multiple times a day. • Communication aspects… • C2D: very tight feedback loop with client • D2D: smoke test together to demo features Sunday, March 1, 2009 29
    30. Continuous Delivery • Techniques we use… • The usual, capistrano • Supported by continuous integration • Deploy to Engine Yard staging slice • Also, Amazon EC2 instances Sunday, March 1, 2009 30
    31. Continuous Delivery • Fiscal aspects… • Respond to market, recoup investment at any time, when it makes business sense, or you run out of money, or find better things to do with it • Once we’ve delivered… Sunday, March 1, 2009 31
    32. Client Acceptance • The Final Test • Communication aspects… • C2D: you’re doing it wrong • C2D: you’re doing it right Sunday, March 1, 2009 32
    33. ur doin it rong Sunday, March 1, 2009 33
    34. Client Acceptance • Techniques we use… • Developer-assisted acceptance • Ideally, on-site • Video chats • Daily stand-up Sunday, March 1, 2009 34
    35. Client Acceptance • Fiscal aspects… • Verify you got what you paid for • Sooner rather than later • Change direction anytime • So, that’s what we’re up to now… Sunday, March 1, 2009 35
    36. Where We’re Headed • Jakob Nielsen says, waterfall method user specs are always wrong • And I tend to agree with him • The Vision: machine-executable stories & acceptance criteria • …but first—let’s talk about circuits. • Yup, circuits… Sunday, March 1, 2009 36
    37. Impedance Matching for Max Power Transfer (And, maximum awesome.) • Client vs. Developer vs. Code vs. Testing • All have a little different perspective • Goal: max power transfer • Turn cash into code • Any EE’s in audience? Cut me some slack. • Allow me to blow your mind... Sunday, March 1, 2009 37
    38. Impedance Matching… sorta (Also, the worst circuit diagram, evar.) Geek Automated 2 Integration Tests English (Cucumber) Client Speaks English MVC Tests You Speak Geek Regular Code + - Sunday, March 1, 2009 38
    39. OMGWTFBBQ!? Sunday, March 1, 2009 39
    40. In conclusion... Sunday, March 1, 2009 40
    41. Testing Talks, Money Walks Jon “Lark” Larkowski Stay metal. (Thank you.) (Also, speed metal rules.) Sunday, March 1, 2009 41
    42. Sunday, March 1, 2009 42

    + ActsAsConActsAsCon, 6 months ago

    custom

    318 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 318
      • 318 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories