Download presentation
Presentation is loading. Please wait.
Published byKatlyn Weldin Modified over 9 years ago
1
ALM with SharePoint 2010 and Visual Studio 2010 Paul Yuknewicz Lead Program Manager, Visual Studio paulyuk@microsoft.com
2
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
3
Idea is here Solution is here Why ALM?
4
Proactive Project Management −Understand Project Health −Detailed reports let you understand what is “Really” going on with the project −Optimized for Iterative Development −Ensure productivity and react to potential risks before they happen −Manage Projects Your Way −Use Microsoft Project or Excel based agile planning documents to keep control of your projects
5
Write Better Code - Dependency Diagrams - Understand code dependencies visually and understand where to make changes −Code Analysis and Code Metrics −Help you find and fix potential problems before you make them −Gated Check-In −Stop build breaks before they happen
6
Testing Done Right −Test and Lab Manager −Manual Testing for the 21st century −Plan, Manage and Execute tests from one place −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 −Virtual Test Environments −Reduce the overhead of maintaining physical test environments −Share Virtual environments between team members
7
Spend Less Time Debugging −Coded UI Tests −Automated regression tests let you find bugs earlier −Test Impact Analysis and Code Coverage −Run the Right Tests and only the Right Tests −And know you have really tested you code −IntelliTrace™ −Make “No-Repro” History with Actionable Bugs
8
Application Lifecycle Developer Machine Development Testing F5 Deploy Team Foundation Server Check In Staging Automated testing Warm-blooded user testing TFS Build Server SharePoint Projects SP2010 DLL’s Build Run Tests ? Run Tests ? Fix Bugs (repeat as necessary) NightlyBuild -OR- -OR-ContinuousIntegration Deploy using PowerShell Open/Close Bugs WSP
9
Application Lifecycle Developer Machine Development Testing F5 Deploy Team Foundation Server Check In Staging TFS Build Server SharePoint Projects SP2010 DLL’s Build Run Tests ? Run Tests ? NightlyBuild -OR- -OR-ContinuousIntegration Deploy using PowerShell WSP
10
Application Lifecycle Team Foundation Server Staging Warm-blooded user testing Open Bugs WSP
11
Application Lifecycle Developer Machine Development Testing F5 Deploy Team Foundation Server Staging TFS Build Server SharePoint Projects SP2010 DLL’s Build Run Tests ? Run Tests ? Fix Bugs (repeat as necessary) NightlyBuild -OR- -OR-ContinuousIntegration Deploy using PowerShell WSP
12
Application Lifecycle Team Foundation Server Staging Warm-blooded user testing Close Bugs WSP
13
Application Lifecycle Developer Machine Development Testing F5 Deploy Team Foundation Server Check In Staging Automated testing Warm-blooded user testing TFS Build Server SharePoint Projects SP2010 DLL’s Build Run Tests ? Run Tests ? Fix Bugs (repeat as necessary) NightlyBuild -OR- -OR-ContinuousIntegration Deploy using PowerShell Open/Close Bugs WSP
14
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-of- SharePoint-Services-that-Rocks/ http://research.microsoft.com/en- us/projects/pex/pexsharepointbehaviors.pdf –TypeMock – Commercial product
15
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
16
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
17
BindingRedirect
18
Version attribute is used! –ActivationDependencies can specify version UpgradeActions element –VersionRange with Begin & End versions Declarative feature upgrade elements –ApplyElementManifests –AddContentTypeField –Mapfile
19
Programmatic feature upgrade elements –Provide assembly & class in UpgradeActions element –CustomUpgradeActions element provides Name and Parameters –Fires FeatureUpgrading event receiver
20
Upgrading Features Each Feature
21
Declarative Feature Upgrade
22
Programmatic Feature Upgrade
23
FeatureUpgrading Event
24
Feature Upgrade Object Model QueryFeatures method (4 overloads) –(Guid featureId) –(Guid featureId, bool needsUpgrade) –(Guid featureId, Version featureVersion) –(SPFeatureScope scope, bool needsUpgrade) –Available from SPWebService(Farm), SPWebApplication, SPContentDatabase and SPSite
25
How to Upgrade (Farm Solutions) Deploy the new solution Upgrade all features in Farm –psconfig -cmd upgrade -inplace b2b To be more granular use the object model –Feature.Upgrade() –Use PowerShell or custom code to invoke
26
How to Upgrade (Sandbox Solutions) Sandboxed Solutions –Upload new WSP to Solution Gallery –Select “Upgrade” in UI
27
Resources Dev center: http://msdn.com/sharepoint Team Build How-To: http://msdn.microsoft.com/en- us/library/ff622991.aspx
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.