Using Visual Studio 2010 to Improve Software Quality by znr91839

VIEWS: 19 PAGES: 86

									Using Visual Studio 2010 to Improve
Software Quality


                         Chris Menegay
           cmenegay@notionsolutions.com
• Visual Studio licensing changes
• Overview of Visual Studio 2010
• Improving Developer/Tester interaction
   Founded October 2004
     Tagline – Efficiently Build Better Software
   Hired by Microsoft to write and deliver Team
    System Training for beta customers
     December 2004
   Began consulting on Team System
     March 2005
   Over 350 unique customers engaged
   11 full time VSTS consultants in 7 cities
   Support the greater VSTS Community
     4 Team System MVPs
     Host, www.TeamSystemRocks.com
     Present at VSLive, TechEd, STARWest, STAREast,
      Better Software Conference among others
     Deep ties with VSTS product group
     At the bleeding edge of MS ALM
   Weekly Team System Webcasts
     Streamlining Testing with Visual Studio 2010 ALM
        Tools
       Overview of Visual Studio 2010 ALM Tools
       Improving Development Practices with Visual Studio
        2010
       Managing Software Requirements with Team
        Foundation Server 2010
       Using Team Foundation Server 2010 for non-
        Windows development
   Training Classes – January 2010 – Dallas, TX:
     Overview – 4 days
     Testing – 4 days
     Developer – 4 days
     Database Developer – 4 days
   Notion Timesheet - Classic timesheet
    features fully integrated with Team System.
   Notion Work Organizer - Manage work items
    and documents from a single interface.
   Notion Work Planner - Plan iterations and
    releases
   Notion Work Item Control Library
   Solves customer challenges and fills gaps of
    VSTS
   Built with bench resources so that Notion
    consultants get deep hands-on use of VSTS
    on a real project
   Uses VSTS 2010 bells and whistles, VS2010,
    Team Lab, Team Build, DB Pro, etc.
• Visual Studio licensing changes
• Overview of Visual Studio 2010
• Improving Developer/Tester interaction
                             Visual Studio Team System 2008
                             Team Suite with MSDN Premium


                             Visual Studio Team System 2008
                             Team Editions with MSDN Premium



                             Visual Studio 2008 Professional
                             with MSDN Premium



                             Visual Studio 2008 Professional
                             with MSDN Professional
1
3   Microsoft Confidential
Application Lifecycle Management Solutions
• Visual Studio 2010 Ultimate with MSDN
• Visual Studio 2010 Premium with MSDN
• Visual Studio 2010 Professional with MSDN
Standalone Solutions
• Test Elements (for manual testers)
• Team Foundation Server
• Team Lab Management Server
• Load Test Server
                            Test and Lab Manager
     IntelliTrace™        Test Case Management
    UML Modeling              Manual Testing
 Architecture Explorer    Test Record & Playback
 Logical Class Designer       Layer Diagram
     Load Testing              Web Testing

  UI Test Automation       Test Impact Analysis
 Performance Profiling     Static Code Analysis
    Code Coverage              Code Metrics
Database Change Mgmt      Database Deployment
 Database Unit Testing     Test Data Generation

    Silverlight Tools     Multi-core Development
SharePoint Development      Cloud Development
  Web Development         Windows Development
 Generate from Usage       Office Development
   New WPF Editor            Customizable IDE
                 Test and Lab Manager

Test Case Management              Manual Testing               Team Explorer
Test Record & Playback          Lab Mgmt Config.                Team Agents




          Virtual Env. Setup/Tear Down       Environment from Template
                               Checkpoint Environment




    Version Control                Gated Check-in               Reporting
   Build Automation             Branch Visualization      Test Case Management
                                Agile Planning Tools           Team Portal
    Visual StudioTeam System 2008
    Team Suite andTeam Editions     Visual Studio 2010 Ultimate
     withMSDNPremium                with MSDN




Visual Studio Professional 2008     Visual Studio 2010 Premium
withMSDNPremium                     with MSDN




Visual Studio Professional 2008     Visual Studio 2010 Professional
withMSDNProfessional                with MSDN
• Visual Studio licensing changes
• Overview of Visual Studio 2010
• Improving Developer/Tester interaction
• Setup and Administration
• Work Management
• Version Control
• Build
• Architect Tools
• Development Tools
• Test Planning
• Test Case Management
• Test Automation
• Lab Management
• Separate setup and configuration
• Administration console
• Flexible configuration
• Team Project Collections
• Multiple Data Tier Instances
• Application Tier load balancing
• Extensive scalability
                   Single Server
                        TFS



                                                HR
                               TFS AT
                                            Applications
Simple

          Dedicated
                              App Tier                Data Tier
         Admin Tools




                                   TFS AT                      HR
                                                           Applications


                                                    Clustered SQL
Scale (a little), SQL Consolidation                     Server
                               Consolidated
                              Admin Snap-in
      Network Load
       Balancing


                                                  HR         Team Project
                     TFS AT                                   Collection
                                              Applications

                                                             Team Project
VIP   N                                         Finance
                                                              Collection
                                              Applications
      L              TFS AT
      B
                                               Company
                     TFS AT                    Web site

                                    Another SQL
                                      Server


  Reliability, Isolation, and Scale
                                         HR                TFS Build
                TFS AT                                       Farm
                                     Applications

N                                      Finance
                                     Applications             TFS
L               TFS AT
                                                            Proxies
B
                                      Company
                TFS AT                Web site
                                                           Test Rig



                                                             Virtual
    SharePoin              Data                  Project
                                                            Machine
     t Farm              Warehouse               Server
                                                            Manager
• Hierarchical Work Management
• Excel Reports
• Ad-hoc Reports
• Improved Dashboards
• Improved Integration with Project and Excel
• Test Traceability
• Agile Workbooks
• Reporting Services 2008
• Project Server integration
• Track history across branches
• Branch visualization
• Changeset merge history visualization
• Slot mode
• Improved performance and scalability
• TFS Basic for SourceSafe users
• Gated Check-In
• Build workflow via Windows Workflow
• Build controllers and agents
• Distributed builds
• Build tagging
         Pooled Build               Pooled Build             Pooled Build
         Build Server               Build Server             Build Server
           Servers                    Servers                  Servers




                  Tag: SupportLib
                                         Tag: BizFramework




Individually servers
Pooled buildidentified build servers
                                                      Check-In
                      Build Fails
                                                       Denied




  Developer            Build is
                     New Code is                       Build is
                                                      Build Fails
Makes Changes         Executed
                     Checked In                       Executed


                The code that caused the build to fail is still checked-in.


                                                     New Code is
                    Build Succeeds
                                                     Checked In
                    • UML design
 Architect Tools
                    • Understanding existing assets



                    • Debugging and profiling tools
Development Tools
                    • Quality control tools



                    • Database change management
 Database Tools
                    • Database testing and quality control
   UML Use Case diagrams
   UML Activity diagrams
   UML Component diagrams
   Layer diagrams


                        UML Sequence diagrams
                        Directed Graph diagrams
                        UML Class diagrams
   IntelliTrace
   Code Profiler
   Code Metrics
   Code Analysis
   Unit Testing
   Test Impact Analysis
Identify tests that need to be run as the result of a code change
   Version control              Schema comparison
   Change Management            Data comparison
   Managed sandbox              Data generation
   Automated deployment         Unit Testing
   T-SQL Editor                 Code Analysis
   Third-party support for      Schema View
    Oracle and DB2
• Visual Studio licensing changes
• Overview of Visual Studio 2010
• Improving Developer/Tester interaction
 Development work happens
  on one side of the wall.
 Testing happens on the other.
 Builds and test results are
  passed back and forth, but not
  in a collaborative fashion.
   Works on my machine!
   What build is being tested?
   How do I repro this?
   I already fixed this bug!
   The testers are clueless twits
    that don’t even know what
    good software is!
   This is still broken? They said
    they fixed it!
   Do we have a new build?
   What’s supposedly fixed in this
    new build?
   Is the new build deployed to
    our QA environment?
   The developers are clueless
    twits that don’t even know
    what good software is!
                           Test Planning




                            Test Writing
Requirement
 Requirement
   Requirement

                          Test Automation




                          Test Execution




           Test Process   Report Results
              Build
            Application




                            Deploy
Run Tests                 Application
•Create and manage virtual
or physical environments

•Take snapshots or revert
to existing snapshots for
virtual environments

•Interact with the virtual
machines through
environment viewer

•Define test settings for the
environments
                      Build
                    Application




    Take
                                           Restore
Environment
                                         Environment
 Snapshot




              Run
                                    Deploy
         Manual
                                  Application
          Tests
              Build
            Application




  Run
                            Deploy
Automated                 Application
  Tests




                Take
            Environment
             Snapshot
   Virtual machine
   Virtual machine snapshot
   Host
   Host group
   Library share
   Environment
• Build
• Deploy
• Snapshot
        DEV
  DEV
             DEV                      VM
                                                  VM
        C#
                                   App     DB
                                   Tier    Tier


                             EXE


 TFS
Version
Control             Build
                   Process
• Manual Test
• Snapshot
• Rich Bug
        Server/Client VM 1
              VM Lab




QA QA         Server/Client VM 2
VM Lab
Test Case (for
 repro steps)

      Screenshot

               Video
              Capture

                 System Info


                 Debug Log

               Test
           Environment

          Log

   Action
  Recording
• Get Bug
• Review Repro Data
• Restore Snapshot
VM Lab
Test Case (for
 repro steps)

      Screenshot

               Video
              Capture

                 System Info


                 Debug Log

               Test
           Environment

          Log

   Action
  Recording
VM Lab
Demo
Team Foundation Server
Team Foundation Server

                         Build Process
                                         VM Lab




Team Foundation Server

                         Build Process
                                         VM Lab




Team Foundation Server

                         Build Process
                                         VM Lab




Team Foundation Server

                         Build Process
VM Lab
VM Lab
VM Lab
   Test Planning             Automated UI Testing
   Test Case Management      Web Testing
   Test Lab Management       Load Testing
   Test Recording            Generic Tests
   Test Collectors           Ordered Tests
                              Unit Tests
    Functional                Automated
      Tester                    Tester
• Performs test planning   • Identifies automation
• Writes test cases          opportunities
• Runs test cases          • Automates existing tests
     Functional                    Automated
       Tester                        Tester
• Microsoft Test and Lab Manager   • Visual Studio Test Tools
   VM Labs can be used for:
     Demos for customers
     Maintaining snapshots of old versions
     Production hot-fixes
     Tech writer access for screenshots
     Testing CI builds using GUI automation
     Load testing
Platform                   Beta 2   RTM   RTM+   Notes

IE7/8 – HTML/AJAX
                                                                             Fully supported platform
                                                 .NET Fx Controls fully
Windows Forms 2.0+                               supported, working on 3rd
                                                 party support
                                                                             Partial solution. Further work
                                                                             required to complete
                                                 .NET Fx Controls fully
WPF 3.5+                                         supported, working on 3rd   Best efforts. May work with
                                                 party support               known issues. No major
Windows Win32                                                                ongoing investment
MFC                                                                          Currently no support but on
                                                                             the roadmap for future
FF3 – HTML/AJAX                                  CTP at VSTS 2010 RTM
                                                                             releases
Dynamics (Ax)
                                                                             Currently no support and none
SharePoint                                                                   planned for now. Opportunity
Silverlight 3.0                                                              for partners
Citrix/Terminal Services
Office Client Apps
IE 6
Chrome/Opera/Safari
Flash/Java
SAP
   Define a plan for getting better
   Implements an improved process with pilot
    team(s)
   Define vision of the future
   Go broader and deeper
   We emphasize the PLAN, not the current
    state
   Goal is to get a plan for implementing tools
    and process that can be acted upon, with or
    without further Notion help
   Short, 2-3 week engagement emphasized on
    implementing process for a finite group of
    people
   Usually work item customization, automated
    build and version control
   DBPro and Test quickstarts often follow
   Multiple months/Multiple people
   Enterprise rollouts
   Disaster recovery/High Availability
   Custom extensions/reports/integrations
   Contact –
     Chris Menegay –
      cmenegay@notionsolutions.com
     972.607.4827


     Becky Madison– bmadison@notionsolutions.com
     972.607.4833

								
To top