Share point 2010 unit and integration testing

Download Share point 2010 unit and integration testing

Post on 22-Oct-2014

4.152 views

Category:

Technology

13 download

DESCRIPTION

 

TRANSCRIPT

Best Practices Slide DeckFeature CodingPart 3Unit and Integration TestingDEV_205Eric ShuppsAbout MeEric Shupps, MVP President, BinaryWave Email: eshupps@binarywave.com Microsoft Patterns & Practices: spg.codeplex.com CKS:DEV cksdev.codeplex.com Blog: www.sharepointcowboy.com Twitter: @eshupps Facebook: www.facebook.com/sharepointcowboyAgenda Testing FundamentalsCode OptimizationUnit Testing Integration TestingTesting FundamentalsTesting Objectives Facilitate change Simplify integration Increase modularity Faster changes Repeatable processes Increased confidence Eliminate defects Validate functionality Reduce complexity Less rework Shorter cycles Faster delivery times Fewer support requestsReduceCostsEnsureQualityImproveDynamicsIncreaseEfficiencyTesting Methodologies Any methodology is better than no methodology Select a methodology that supports the team dynamic and satisfies the testing objectives Code for the customer/end user, not the methodology Focus on modularity and sustainabilityTesting LifecycleUnit Integration RegressionCode OptimizationCode Isolation and RefactoringClassMethod Method Method Method Method MethodClassMethod MethodClassMethod MethodClassMethod MethodTest Test Test Test Test TestCODE ISOLATIONRefactor the core solution components for testability.Unit TestingUnit Testing ObjectivesCodeIsolateValidateIntegrateRefactorMaintainUnit Testing Principles Separate interface from implementation Fail first in order to succeed Tests do not drive functionality - they verify functionality Features define tests and tests define methods Tests should exercise all probable execution pathsUnit Testing Methodologies Separate interface from implementation Fail first in order to succeed Tests do not drive functionality - they verify functionality Features define tests and tests define methods Tests should exercise all probable execution pathsUNIT TESTSCreate and execute unit tests for isolated code.IntegrationTestingIntegration Testing ObjectivesTest code execution against target system/dependencies Verify methods as they will be used in released codeValidate/invalidate unit test resultsExercise all points of interoperabilityIdentify vulnerabilities in execution chainIntegration Testing Principles Tests should exercise actual dependencies no mocks or stubs Tests should not be authored or driven by developer Tests should cover all application tiers (top-down, bottom-up, or both) Manual testing is acceptable (and often preferred)Integration Testing Methodologies Inverse Isolation Reusing unit tests by replacing mock or stub objects with actual implementations Black Box Open-ended, interface-driven tests that explore available functionality and are not driven by specific feature requirements White Box Predefined set of test routines that verify specific functional requirementsINTEGRATION TESTSCreate and execute integration tests for core solution components.Thank you for attending!(This slide must always be the last slide in your deck)