PHX - Session #2 Test Driven Development: Improving .NET Application Performance & Scalability

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

    1 Event

    PHX - Session #2 Test Driven Development: Improving .NET Application Performance & Scalability - Presentation Transcript

    1. Test Driven Development Improving .NET Application Performance & Scalability Brendon Birdoes (brendon.birdoes@neudesic.com)
    2. Agenda Challenges we deal with today • Be Agile - Test Driven Development • Code coverage • Database can be Unit Tested! • Benefits of TDD • Summary • Q&A •
    3. Challenges we deal with today Does our code do what we intended? • Documentation – is it updated? • Debug – again? • Change Request – What did I break? •
    4. Get Agile – Test Driven Development Practices Tools Tools For Agility, Kent Beck
    5. Unit Test Defined • Code programmers write to exercise each method in the design that run quickly and help localize errors – Isolates and tests a single operation – Run in any environment – Less time debugging – Side affect is documentation!
    6. Unit Tests Defined • Tests are NOT unit tests when they… – Talk to a database – Communicate across the network – Touch the file system – Require human intervention (such as modifying a *.config file, starting a console app, etc.) to run
    7. What is Test Driven Development? • Despite the name, TDD focuses on “Design” first, “Test” second • Basic tenants are: – Write a failing automated test before you write any code • Focus on interface and use case or problem • Tests get written • Just enough code to pass the test – Remove duplication (refactor)
    8. Test Driven Development The motto \"Red, Green, Refactor.\"
    9. Developer Unit Test
    10. Code Coverage Defined • Also known as “test coverage” • It measures how thoroughly the automated tests exercise the production code, its source code statements, branches, and expressions
    11. What degree of code coverage should you aim for? • Answer: It depends • Average code coverage is around 85% • Biggest blocker to attain 100% - existing code, auto generated code • Aim for 100% while learning – you’ll understand why 85% is nicer
    12. Code Coverage
    13. Database can be Unit Tested! User Interface Application Code Unit Tests Data Access Layer Stored Procedures
    14. Database Unit Test
    15. TDD in Action: Active Bug Bug: Expired Credit Cards are being Credited
    16. Quality Indicators 91 80 76 71 60 56 51 40 32.5 20 19 18 12 9 8 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5
    17. Traditional testing
    18. Test Driven Development
    19. TDD - Application Lifecycle UAT Testing & Bug Fixing Development Testing & UAT Development Bug Fixing  Development and testing/bug fixing take about the same amount of time  Development takes more time than testing, and testing time is reduced  Overall lifecycle is shortened
    20. Unit testing is a learned skill that can only be honed with experience. Mock Objects Interfaces Better Factored Code
    21. Starting Test Driven Development Creating a cultural change is hard… ….. and it can be done.
    22. Summary • Development becomes more challenging. • TDD is a great tool to overcome these challenges • Database can be Unit Tested! • Development is Faster using TDD. • VSTS is a great tool for UT and TDD.

    + Steve LangeSteve Lange, 6 months ago

    custom

    326 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 326
      • 323 on SlideShare
      • 3 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds
    • 3 views on http://blogs.msdn.com

    more

    All embeds
    • 3 views on http://blogs.msdn.com

    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