Share point 2010 unit and integration testing

Post on 22-Oct-2014

4.223 views 15 download

Tags:

description

 

Transcript of Share point 2010 unit and integration testing

Feature Coding

Part 3

Unit and Integration Testing

DEV_205

Eric Shupps

About Me

Eric 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/sharepointcowboy

Agenda

Testing Fundamentals

Code Optimization

Unit 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 ISOLATION

Refactor 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 TESTS

Create 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 TESTS

Create and execute integration tests for core solution components.

Thank you for attending!

(This slide must always be the last

slide in your deck)