TDD sharevison team

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

    TDD sharevison team - Presentation Transcript

    1.  It’s not about testing, but about design and development(specification).  Short development iteration.  Is a design process.  Based on requirement and pre-written test.  Tests are your first user.  The goal is to produce working clean code, that fullfill the requirement.  If TDD hurt you, that mean you do it wrong.
    2.  Write Test Code  Code that fulfills requirements  Write Functional Code  Working code that fulfills requirements  Refactor  Clean working code that fulfills requirements
    3.  Unneccessary Code, features or functionality.  Unchangeable code.  Unscallable code.
    4.  Carefully plan  Make the change  Start the application and check the change  Poking aroud
    5.  Write test  Make the change  Run all tests
    6. The pain is here! This is too late… 100% 10 9 80% 8 % defects created 7 Thousand $s 60% 6 5 40% 4 3 20% 2 1 0% 0 Requirements Coding Integration Testing Support % of Defects Introduced Cost to Fix a Defect
    7.  Make you think about requirement behaviour.  Provide documentation.  Improve quality.  Reduce speculative code.  Less time debuggin. • Confidence in change, Fearlessly change your code  Discover usablity issue early  Regression testing = Stable software = Quality software
    8.  I don’t have time to unit test.  The client pays me to develop code, not write unit test.  I am supporting a legacy application without unit tests.  QA and User Acceptance Testing is far more effective in finding bugs.  I don’t know how to unit test, or I don’t know how to write good unit tests.
    9.  It forces you to really understand the code.  It forces you to really understand the tests  It forces you to create code that is truly reusable and modular and testable  These forces drive you to keep your code and your tests simple and easy to understand.
    10.  Enabling TDD  TDD Cycle  Choosing the First Test?  Green Bar Patterns  State-based vs. Interaction-based Unit Testing
    11.  NUnit  Resharper  MbUnit  TDD.NET  JUnit  RefactorPro!  JSSpec  xUnit.net  Visual Studio  Moq  Rhino Mocks  Mosquito
    12. New requireme nt Write Run tests new test Refactor Run tests Write Run tests new code
    13.  The simplest.  The essence. •If you need to write code that is untested, choose a simpler test. •If the essence approach takes to much time to implement, choose a simpler test.
    14. Do not write the code in your head before you write the test
    15.  Small and focused  Intention revealing  Repeatable  Independent  Have no side-effects
    16. •Domain-specific •Suitable for customer comprehension •Understandable in absence of code •Think about behavior •Think about the context of the behavior •Focus on the words, not the implementation
    17.  Fake It(TilYou Make It)  Start with hardcoded results and wait until later tests to force them to become real.  Triangulate To Abstraction  Make the code abstract only when you have two or more examples.  Obvious Implementation  aka Don't Be Stupid  If you really, really, honestly know the right way to implement it, then write it that way.

    + khousuylongkhousuylong, 3 months ago

    custom

    113 views, 0 favs, 0 embeds more stats

    This TDD slide, has been presented during Barcamp P more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 113
      • 113 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    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