Your SlideShare is downloading. ×
Unit testing and test driven development using vs
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Unit testing and test driven development using vs

2,177
views

Published on

Published in: Technology, Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,177
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Unit Testing and Test Driven Development Using VS 2010
    Abhimanyu Singhal
    Lead Consultant
    iMentor Knowledge Services
  • 2. Introduce Unit Testing Features
    How to create Team Test unit tests.
    Generating the unit test method stubs for an assembly
    Using a test driven development (TDD)
    Objectives
  • 3. Thinking about tests pushes developer to understand better the gathered requirements
    Reduces the over engineered code (dead code)
    Unit Tests help to check that any new modification wont break the existing features.
    TDD increases software flexibility
    TDD code is more decoupled
    Why is TDD Good
  • 4. A Visual Studio integrated unit-testing framework
    Code generation of test method stubs.
    Running tests within the IDE.
    Incorporation of test data loaded from a database.
    Code coverage analysis once the tests have run.
    Visual Studio Team Test
  • 5. Designates a Method as a Test Method
    Found in Microsoft.VisualStudio.QualityTools.UnitTesting.Framework Namespace
    TestMethod has to be an instance method with no paramters
    Method name is irrelevant because reflection searches for TestMethod Attribute
    TestMethodAttribute Class
  • 6. Class containing the test method is designated TestClass Attribute
    • Found in Microsoft.VisualStudio.QualityTools.UnitTesting.Framework Namespace
    • 7. Team Test Uses Reflection to find Class with TestClass Attribute and Method with TestMethod Attribute and runs it
    TestClassAttribute Class
  • 8. From Visual Studio
    As Part of Build Process
    From Command Line
    Running and Executing Tests
  • 9. Takes a Parameter which is Exception Type to watch for
    If Exception does not occur test fails
    The Second parameter (string) is optional is the error message displayed when exception is not thrown
    ExpectedException Attribute
  • 10. Use Test Properties Window
    Add TestData Attribute
    Source Type
    Connection String
    TableName
    DataAccessMethod
    Loading Test Data From Database
  • 11. Provides associated data through
    DataRow Property
    TestDirectory, TestName
    Mesuring Test Time using
    BeingTimer()
    EndTimer()
    The TestContext
  • 12. Determines how much code is tested
    Shows Percentage of Code Executed
    Highlights code to show which lines are executed
    Code Coverage
  • 13. TestInitialize Attribute
    TestCleanup Attribute
    Code to be run before and after each test method
    Other Attributes for Lifetime Methods
    AssemblyInitializeAttribute/AssemblyCleanupAttribute
    ClassInitializeAttribute/ClassCleanupAttribute.
    Initializing and Cleaning Up Tests
  • 14. The Testing Framework
  • 15. Keep Testing Code in Separate Assemblies
    Check for cleanup during test setup and execute the cleanup prior to the setup as necessary
    Avoid creating dependencies between tests, each test should be autonomous.
    Create one test class corresponding to each class within the production code.
    Avoid creating other machine dependent tests
    Create mock objects to test interfaces
    Guidance – Unit Testing
  • 16. To update the attendance for the session and obtain learning credits log on to https://ch1workspaces/sites/SW23/MS_Course_nominations/default.aspx
    Question and Answers Session
  • 17. Thank You
    abhimanyu@imentor.co.in
    @abhi_singhal
    http://www.imentor.co.in/blog
  • 18. iMentor Knowledge Services

×