1Baskin I. TapkanAdvanced Technology Software GroupImation Corp.                                             @baskintbaski...
2              Developer - Consultant - ArchitectBS & MS degrees in Electrical Engineering, IEEE member, MS-Certified     ...
3March 17, 2011 – Developer Track
4Board Sports               March 17, 2011 – Developer Track
5            Should have bought a snow blower March 17, 2011 – Developer Track
61.   Reasons behind testing and why you should care2.   Development and testing with VS-20103.   Something-Driven styles ...
7Bugs are expensive – over $59 billion/yearOn average, 100 errors per 1,000 lines of codeCancelled and over-ran projects c...
8Code Re-useConversion from 64-bit to 16-bitsigned int caused overflow,exception handling was disabledfor some other reaso...
9                Crossed international dateline                the first time on the way to                Japan, computer...
10Failed to wake up users during Daylight Savings Time change                 March 17, 2011 – Developer Track
11          Writing tests first help write better code      Process of writing a test first helps to see when a           ...
12Repeated cycles of activity           Each cycle adds new features                                        and team gets ...
13RequirementsFeature codingPair programmingStand-upsUnit testingDeploymentIntegration testingReleases           March 17,...
14  Incremental development                                            Iterative development   builds a system feature,   ...
15                                                 Release                            TestDevelopment              March 1...
16Pushing quality upstream                                                    Release                               Test  ...
17                Coding Horror : referenceMarch 17, 2011 – Developer Track
18    The catch is that few developers enjoy testing their code.  Many see writing automated tests is seen as not “real” w...
19Evolution of TDD          Test method names should be sentences Writing tests that matter                 “Given, When, ...
20                             Start feature with an acceptance test                               Develop from the inputs...
21Unit / Integration / Acceptance TestsDatabase Unit TestCoded UI TestsWeb Performance and Load Tests             March 17...
22       TailSpin project labhttp://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virt...
23SP1 is available  Help viewer updates  Silverlight 4 support  Unit testing for .NET 3.5  IIS Express support  SQL Server...
24      SQL Server 2008http://blogs.msdn.com/b/atverma/archive/2010/07/28/how-to-unit-test-sql-server-2008-database-using-...
25A unit test is a piece  of code that invokes another piece of code,                                 Is Automated and rep...
26Real Life Example         March 17, 2011 – Developer Track
27                             Development &     Architecture                                     Lab Management          ...
28   Maintain a Single Source Repository                                                    Automate the Build       Make ...
29March 17, 2011 – Developer Track
30March 17, 2011 – Developer Track
31March 17, 2011 – Developer Track
32March 17, 2011 – Developer Track
33March 17, 2011 – Developer Track
34 Goal is to ship to “less” buggy, rigid software. TDD and BDD will help.      Just keep an open mind!            VS-2010...
35March 17, 2011 – Developer Track
36Speaker Rate:http://speakerrate.com/talks/5834-tooling-testing-and-continuous-integration-using-vs-2010-and-teamcity    ...
Upcoming SlideShare
Loading in …5
×

Tech fuse11 toolingtestingci-vs2010teamcity

330 views

Published on

TechFuse 2011 Presentation

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
330
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tech fuse11 toolingtestingci-vs2010teamcity

  1. 1. 1Baskin I. TapkanAdvanced Technology Software GroupImation Corp. @baskintbaskint@gmail.com http://tapkan.blogspot.com/ March 17, 2011 – Developer Track
  2. 2. 2 Developer - Consultant - ArchitectBS & MS degrees in Electrical Engineering, IEEE member, MS-Certified March 17, 2011 – Developer Track
  3. 3. 3March 17, 2011 – Developer Track
  4. 4. 4Board Sports March 17, 2011 – Developer Track
  5. 5. 5 Should have bought a snow blower March 17, 2011 – Developer Track
  6. 6. 61. Reasons behind testing and why you should care2. Development and testing with VS-20103. Something-Driven styles and contrasts4. Types of testing5. Coded UI testing – demo6. Database Unit testing - demo7. Continuous Integration Practices8. Unit test & TeamCity - demo9. Conclusion & References March 17, 2011 – Developer Track
  7. 7. 7Bugs are expensive – over $59 billion/yearOn average, 100 errors per 1,000 lines of codeCancelled and over-ran projects combined costaround $88 billion in 2009A few examples… March 17, 2011 – Developer Track
  8. 8. 8Code Re-useConversion from 64-bit to 16-bitsigned int caused overflow,exception handling was disabledfor some other reason –COST > $370 million (‘96 dollars) March 17, 2011 – Developer Track
  9. 9. 9 Crossed international dateline the first time on the way to Japan, computers crashed losing all navigation and communication systems. Luckily with clear weather, it followed tankers back to HawaiiMarch 17, 2011 – Developer Track
  10. 10. 10Failed to wake up users during Daylight Savings Time change March 17, 2011 – Developer Track
  11. 11. 11 Writing tests first help write better code Process of writing a test first helps to see when a design is too rigid or unfocused Testing is no longer just about keeping defects from the users; instead it is about helping the team understand thefeatures users need and deliver them reliably and predictably March 17, 2011 – Developer Track
  12. 12. 12Repeated cycles of activity Each cycle adds new features and team gets feedback Each cycle deploys work to some kind of environment Every deploy, team has an opportunity to check the assumptions against reality Without deployment, the feedback is not complete March 17, 2011 – Developer Track
  13. 13. 13RequirementsFeature codingPair programmingStand-upsUnit testingDeploymentIntegration testingReleases March 17, 2011 – Developer Track
  14. 14. 14 Incremental development Iterative development builds a system feature, progressively refines theinstead of building layers and implementation of features components and integrating in response to feedback them at the end. until they are good enough.Each feature is implemented In other words, reacting to as an end-to-end “slice”. the “anticipating to the System is always integrated unanticipated” and ready for deployment March 17, 2011 – Developer Track
  15. 15. 15 Release TestDevelopment March 17, 2011 – Developer Track
  16. 16. 16Pushing quality upstream Release Test Development March 17, 2011 – Developer Track
  17. 17. 17 Coding Horror : referenceMarch 17, 2011 – Developer Track
  18. 18. 18 The catch is that few developers enjoy testing their code. Many see writing automated tests is seen as not “real” work compared to adding features. They find it boring.It takes a different mind set and takes time to learn and master. TDD makes coding a design activity. Use tests to clarify ideas about what the code should do.Having tests during development process can build up a safety net of automated regression tests. These tests give confidence to make changes. All of a sudden, you are doing “Red – Green – Refactor” “… you have nothing to lose but your bugs”  March 17, 2011 – Developer Track
  19. 19. 19Evolution of TDD Test method names should be sentences Writing tests that matter “Given, When, Then” Concept of executable specifications March 17, 2011 – Developer Track
  20. 20. 20 Start feature with an acceptance test Develop from the inputs & outputsMSDN Article: http://msdn.microsoft.com/en-us/magazine/gg490346.aspx March 17, 2011 – Developer Track
  21. 21. 21Unit / Integration / Acceptance TestsDatabase Unit TestCoded UI TestsWeb Performance and Load Tests March 17, 2011 – Developer Track
  22. 22. 22 TailSpin project labhttp://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx March 17, 2011 – Developer Track
  23. 23. 23SP1 is available Help viewer updates Silverlight 4 support Unit testing for .NET 3.5 IIS Express support SQL Server CE Support Razor support “Pimp my IDE” check out http://studiostyl.esFeature Pack 2 Code visualization and modeling Improved Coded UI Testing March 17, 2011 – Developer Track
  24. 24. 24 SQL Server 2008http://blogs.msdn.com/b/atverma/archive/2010/07/28/how-to-unit-test-sql-server-2008-database-using-visual-studio-2010.aspx March 17, 2011 – Developer Track
  25. 25. 25A unit test is a piece of code that invokes another piece of code, Is Automated and repeatable resides in another assembly Is Easy to implement Should remain for future use Is run by anyone Should run with a push of a button Runs quicklySUT : System Under Test(CUT : Code under Test) : Class under Test) March 17, 2011 – Developer Track
  26. 26. 26Real Life Example March 17, 2011 – Developer Track
  27. 27. 27 Development & Architecture Lab Management Test TFS Database•Architecture Explorer •Historical debugging •Multi-tier •Test planning •Work item hierarchy•Layer Diagram •Test impact analysis environment creation •Test case & link types•Use case designer •Improved code and management management •Improved Agile•Activity designer analysis •Automated •Test prioritization template •Improved profiling deployment •Run management & •MOSS & WSS•Component diagram (incl. multi-tier) •Easily manage reporting dashboards•Logical class designer •Database extensibility machine pools •Project quality •Simplified reporting•Sequence diagram •Network fencing reports •Improved support for•Modeling project •Checkpoints •Manual test parallel development system execution •Rollback•UML Model Explorer •Diagnostic recording •Build queuing and•Architecture (environment, video, pooling validation during etc.) •Gated check-in build •UI Automation •Simplified setup recording •Scale out of web and •Coded UI tests data tiers •Admin console •Project move/archive/restore March 17, 2011 – Developer Track
  28. 28. 28 Maintain a Single Source Repository Automate the Build Make Your Build Self-Testing Keep the Build Fast Everyone can see whats happening Automate Deploymenthttp://martinfowler.com/articles/continuousIntegration.html March 17, 2011 – Developer Track
  29. 29. 29March 17, 2011 – Developer Track
  30. 30. 30March 17, 2011 – Developer Track
  31. 31. 31March 17, 2011 – Developer Track
  32. 32. 32March 17, 2011 – Developer Track
  33. 33. 33March 17, 2011 – Developer Track
  34. 34. 34 Goal is to ship to “less” buggy, rigid software. TDD and BDD will help. Just keep an open mind! VS-2010 has many other features on various testing mechanisms. Take the time to learn and master them. Don’t hesitate looking at other platforms for ideas. Continuous Integration is more than “nice tohave” any more. If you are serious about what you are doing, you should have it. March 17, 2011 – Developer Track
  35. 35. 35March 17, 2011 – Developer Track
  36. 36. 36Speaker Rate:http://speakerrate.com/talks/5834-tooling-testing-and-continuous-integration-using-vs-2010-and-teamcity March 17, 2011 – Developer Track

×