Download - SharePoint 2010 Unit and Integration Testing
-
Feature Coding
Part 3
Unit and Integration Testing
DEV_205Eric Shupps
-
Sponsored by:
Visit us on the web at www.binarywave.com
Real-time application monitoring, event management, and operational health metrics for Microsoft SharePoint
Reduce troubleshooting time by up to 30%Increase efficiency and improve user satisfactionAvoid downtime and costly outagesMeet or exceed service level agreementsMaximize investment in current infrastructure
-
About Me
Eric Shupps, MVP President, BinaryWave Email: [email protected]
Microsoft Patterns & Practices: spg.codeplex.com CKS:DEV cksdev.codeplex.com Blog: www.sharepointcowboy.com Twitter: @eshupps Facebook: www.facebook.com/sharepointcowboy
-
Agenda
Testing FundamentalsCode OptimizationUnit Testing Integration Testing
-
Testing Fundamentals
-
Testing 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
requests
ReduceCosts
EnsureQuality
ImproveDynamics
IncreaseEfficiency
-
Testing 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 sustainability
-
Testing Lifecycle
Unit Integration Regression
-
Code Optimization
-
Code Isolation and RefactoringClass
Method Method Method Method Method Method
Class
Method Method
Class
Method Method
Class
Method Method
Test Test Test Test Test Test
-
CODE ISOLATIONRefactor the core solution components for testability.
-
Unit Testing
-
Unit Testing Objectives
CodeIsolate
Validate
Integrate
Refactor
Maintain
-
Unit 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 paths
-
Unit 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 paths
-
UNIT TESTSCreate and execute unit tests for isolated code.
-
IntegrationTesting
-
Integration Testing Objectives
Test code execution against
target system/dependenci
es
Verify methods as they will be used in
released code
Validate/invalidate unit test results
Exercise all points of interoperability
Identify vulnerabilities in execution chain
-
Integration 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 requirements
-
INTEGRATION TESTSCreate and execute integration tests for core solution components.
-
Thank you for attending!
(This slide must always be the last
slide in your deck)