340 likes | 542 Views
Kevin C. Kelly Microsoft kkelly@microsoft.com http://blogs.msdn.com/kkellyatms/. The Software Lifecycle What We’ve Heard. “I want to integrate testing more deeply into my developer’s daily process”
E N D
Kevin C. Kelly Microsoft kkelly@microsoft.com http://blogs.msdn.com/kkellyatms/
The Software LifecycleWhat We’ve Heard • “I want to integrate testing more deeply into my developer’s daily process” • “The time we invest finding, evaluating and deciding on each individual tool of the lifecycle is too high” • “Different teams and projects use different processes” • “Whatever you provide, we’ll have to customize it to match our own process”
Developer InfrastructureArchitect Project Manager End User Tester SolutionArchitect Development Teams
IT Operations doesn’tunderstand applicationstructure Reduce complexitythrough operationsknowledge Increase communication and collaborationvia product integration Infrastructure Architect Developers don’tunderstand operationspolicy Solution Architect Communication Barriers • Pockets of information within disciplines • Unclear delineation of responsibilities • Conflicting best practices and architectures • Conflicting strategic goals and objectives
Team System Vision Dramatically increase predictability of success Deliver a robust, powerful tools platform Increase productivity and team communication
TeamCommunication QualityEarly & Often Design forOperations Platform For Innovation Developer Tester SolutionArchitect ProjectManager InfrastructureArchitect Expanding Visual Studio
Enterprise SCC, reporting, work item tracking, project management Team Communication Static Analysis, performance profiling, unit testing, load testing Quality Early and Often Designing for Operations SOA Designer, Logical datacenter designer, class designer, validations Platform for Innovation Web service based, open protocols, client APIs, extending today’s VSIP
Change Requests Customer Requests Requirements ? Bugs Issues List Lists!
Work Items Everywhere Assign work items toresources usingMicrosoft Project Author work items inMicrosoft Excel Work items show up inVisual Studio View project status inMicrosoft Excel orMicrosoft Project
Change ManagementCheck In “Shelve”work in progress Build rules enforcedduring check-inprocess
Project Portal SharePoint-basedProject Portal
Project Creation Project Creation Wizard
Team Foundation • Work Item management • Project management • Microsoft Project and Excel integration • Change management • Branching, changesets, shelving • Build Server • Reporting and analytics • Project portal • Project creation and navigation • Project Creation Wizard • Process editor for customized guidance
Enterprise SCC, reporting, issue tracking, project management Team Communication Static Analysis, performance profiling, unit testing, load testing Quality Early and Often Designing for Operations SOA Designer, Logical datacenter designer, class designer, validations Platform for Innovation Web service based, open protocols, client APIs, extending today’s VSIP
Static Code Analysis Static Code Analyzer
Code Coverage Code Coverage
Unit Testing Integrated Unit Testing
Team Developer • The Tools Microsoft Uses • Features • Static code analysis • Support for managed and native code • PREfast used in Trustworthy Computing Code Reviews • FxCop used to develop .NET framework • Code profiling • Based on two internal profilers: • Instrumented – IceCAP, used by Windows Base and SQL Server • Sampling – LOP, used throughout MX, including Xbox • Sequence view examines running threads • GC view of object allocation and lifetime • Caller-callee, callstack, and function views • Code coverage • Basic Block Coverage • Based on the BBCover technology that Windows & Visual Studio use • Integrated Unit Testing
Load Testing Creation Load Testing Web recorder
Load Testing Load Testing Perf Counter integrationand monitoring
Test Case Management Test Case Management
Team Test • Testing is 1st class in Visual Studio • Tests are Source Code • Test Authoring & Execution Environment • Test View • Test Explorer (Test Case Management UI) • Load testing • Web services load testing via protocol-based script • Load patterns: constant, step, custom • Perf counter collection and threshold monitoring • Unit Testing • Similar to NUnit
Enterprise SCC, reporting, issue tracking, project management Team Communication Static Analysis, performance profiling, unit testing, load testing Quality Early and Often Designing for Operations SOA Designer, Logical datacenter designer, class designer, validations Platform for Innovation Web service based, open protocols, client APIs, extending today’s VSIP
Key scenarios Design connected systems “Design for Operations” Code visualization Documentation and conceptual drawings UML and more UML tools for software documentation DSLs tools for precise software development DSL tools Distributed Systems Designers Service Oriented Application Designer Deployment Designer Logical Infrastructure Designer Class Designer Team Architect
Enterprise SCC, reporting, issue tracking, project management Team Communication Static Analysis, performance profiling, unit testing, load testing Quality Early and Often Designing for Operations SOA Designer, Logical datacenter designer, class designer, validations Platform for Innovation Web service based, open protocols, client APIs, extending today’s VSIP
Your .net App Visual Studio VSIP w/ Team System Team Foundation Client Proxies Team Foundation OM Team Foundation Artifacts Your Artifacts Your Service Team Foundation Services Warehouse Adapter Warehouse Adapter TF Data Your Data TF Facts YourFacts Reporting Warehouse Team Foundation Extensibility Client App Tier Team Foundation Shared Services Data Tier
Your Artifacts Build Work Item Change Set / Source File Your Service Big Build Service Version Control Service Work Item Tracking Svc Warehouse Adapter Warehouse Adapter Warehouse Adapter Warehouse Adapter TF Data Your Data TF Facts Your Facts Reporting Warehouse Team Foundation Extensibility Your .net App Visual Studio Your VSIP Package Your PCW plug in Your TE Node Eventing Service Proxy Team Foundation OM Linking Service Proxy Work Item OM Version Control OM Security Service Proxy Policy Framework Client Classification Svc Proxy App Tier Linking Service Eventing Service Security Service Classification Service Data Tier
Team Foundation Customization • Complimentary server technology using Visual Studio as client • Legacy systems • Team engineering process • Team Project Site • Extend static analysis and profiling tools • Domain Specific Language (DSL) modeling tools
Code Coverage Code Profiler Change Management Work Item Tracking Reporting Project Site Integration Services Project Management Static Code Analyzer Class Designer Unit Testing Dynamic Code Analyzer Visio and UML Modeling Deployment Designer Big Build Application Designer Test Case Management Logical Infra. Designer Load Testing Visual Studio Professional Edition Team Foundation Client (includes CAL) Manual Testing Process and Architecture Guidance Visual Studio Industry Partners Team System Version v1 Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation
CTP CTP CTP • In production at MS • ISV partners in active development • Corporate prototyping beginning February2005 April2005 March2005 May2005 June2005 Team System Planning Schedule TechEd Beta 2 • Last major pre-release • ISV partners demo’ing beta solutions • Some corporate projects in production
Enterprise SCC, reporting, issue tracking, project management Brian WhiteVM 352 & 355 Static Analysis, performance profiling, unit testing, load testing Jason Anderson VM 353 & 354
For More Information… • Visual Studio Team System Site • http://msdn.microsoft.com/vstudio/teamsystem • Team System Newsgroups http://communities.microsoft.com/newsgroups • Team System Blogs • http://weblogs