Team Foundation Server

advertisement
ALM with SharePoint 2010
and Visual Studio 2010
Paul Yuknewicz
Lead Program Manager, Visual Studio
paulyuk@microsoft.com
Session Objectives and
Takeaways
•
Session Objective(s):
– Discuss why ALM is important
– Review ALM themes in Visual Studio 2010
– Show how ALM can be used with SharePoint solutions
•
Key Takeaway – SharePoint developers & testers
can use the ALM features in VS2010
Why ALM?
Idea is
here
Solution
is here
Proactive Project Management
− Optimized for Iterative Development
− Ensure productivity and react to potential risks
before they happen
− Understand Project Health
− Detailed reports let you understand what is
“Really” going on with the project
− Manage Projects Your Way
− Use Microsoft Project or Excel based agile
planning documents to keep control of your
projects
Write Better Code
- Dependency Diagrams
- Understand code dependencies visually and
understand where to make changes
− Gated Check-In
− Stop build breaks before they happen
− Code Analysis and Code Metrics
− Help you find and fix potential problems before
you make them
Testing Done Right
− Test and Lab Manager
− Manual Testing for the 21st century
− Plan, Manage and Execute tests from one place
− Virtual Test Environments
− Reduce the overhead of maintaining
physical test environments
− Share Virtual environments between team
members
− Web and Load Testing
− Know your code is ready for the big time
− Measure performance under real time load conditions and
ensure that your applications are ready for release
Spend Less Time Debugging
− IntelliTrace™
− Make “No-Repro” History with Actionable Bugs
− Test Impact Analysis and Code Coverage
− Run the Right Tests and only the Right Tests
− And know you have really tested you code
− Coded UI Tests
− Automated regression tests let you find
bugs earlier
Application Lifecycle
Fix Bugs
(repeat as necessary)
Developer Machine
Team Foundation Server
Development
F5 Deploy
Check In
Nightly
Build
-ORContinuous
Integration
Testing
Staging
TFS Build Server
Open/Close Bugs
SharePoint
Projects
Warm-blooded
user testing
Build
WSP
Automated
testing
Deploy using PowerShell
SP2010 DLL’s
Run Tests ?
Application Lifecycle
Team Foundation Server
Developer Machine
F5 Deploy
Check In
Development
Nightly
Build
-ORContinuous
Integration
Testing
Staging
TFS Build Server
SharePoint
Projects
Build
WSP
SP2010 DLL’s
Deploy using PowerShell
Run Tests ?
Application Lifecycle
Team Foundation Server
Staging
Open Bugs
Warm-blooded
user testing
WSP
Application Lifecycle
Fix Bugs
(repeat as necessary)
Team Foundation Server
F5 Deploy
Developer Machine
Development
Nightly
Build
-ORContinuous
Integration
Testing
Staging
TFS Build Server
SharePoint
Projects
Build
WSP
SP2010 DLL’s
Deploy using PowerShell
Run Tests ?
Application Lifecycle
Team Foundation Server
Staging
Close Bugs
Warm-blooded
user testing
WSP
Application Lifecycle
Fix Bugs
(repeat as necessary)
Developer Machine
Team Foundation Server
F5 Deploy
Check In
Development
Nightly
Build
-ORContinuous
Integration
Testing
Staging
TFS Build Server
Open/Close Bugs
SharePoint
Projects
Warm-blooded
user testing
Build
WSP
Automated
testing
SP2010 DLL’s
Deploy using PowerShell
Run Tests ?
SharePoint ALM Specifics
•
Team Build
– Using TFS TeamBuild for SharePoint projects
http://msdn.microsoft.com/en-us/ff622991.aspx
•
Unit Testing
– Pex/Moles – Microsoft Research project
http://research.microsoft.com/en-us/projects/pex/
http://channel9.msdn.com/posts/matthijs/Pex-Unit-Testing-ofSharePoint-Services-that-Rocks/
http://research.microsoft.com/enus/projects/pex/pexsharepointbehaviors.pdf
– TypeMock – Commercial product
SharePoint ALM Specifics
•
Integration Testing
– Currently MSTest is .NET 4.0 only
– Nunit or Xunit can be used
– Coded-UI test work well also
•
IntelliTrace
– Not supported for 64-bit during F5 – FIXED in SP1!
– Capture IntelliTrace log in MS Test Manager
– Replay captured .iTrace logs in VS
SharePoint Platform Improvements
•
BindingRedirect in manifest.xml
– Redirect existing code to new assemblies
•
Support for versioned feature upgrades
– Declarative & Programmatic actions on upgrade
•
Feature Upgrade Query Object Model
– Determine what features are installed and their versions
Resources
Dev center:
http://msdn.com/sharepoint
Team Build How-To:
http://msdn.microsoft.com/enus/library/ff622991.aspx
Download