Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests Ing. Gonzalo Alba Trainer, MCP, CSM, Automation developer
Introduction to Application Lifecycle Management with Visual Studio 2012 In June of 1999 Microsoft started to re-evaluate how Visual Studio was being used as part of the software development process. Visual Studio Team System was born, and was first released with the Visual Studio 2005 product line. Team Foundation Server (TFS) was created to provide a hub for all members of the development team to collaborate. 2
Introduction to Application Lifecycle Management with Visual Studio 2012 3 years later, Visual Studio 2008 Team System evolved from the previous. 2 years after that, Visual Studio 2010 added even more functionality, including an entirely new set of tools for manual testers. Along with the release of Visual Studio 2010, Microsoft also stopped using the sub-brand Team System. Microsoft started referring to these tools as the application lifecycle management (ALM) capabilities of Visual Studio. 3
Introduction to Application Lifecycle Management with Visual Studio 2012 ALM refers to the entire application lifecycle, which starts as an idea and ends when a product or feature is no longer used. In simple terms: It's about managing an application from birth to death and everything in between. 4
Microsoft Application Lifecycle Management [ALM] ALM with VS is an approach that takes advantage of a number of Microsoft tools and which support each part of the life management process: Design Develop Build Test Release Finally, you can use these tools and processes involved in a Process Template (for example: Agile, Scrum) in order to easily planning and tracking your project. 5
Why Scrum? It s framework for agile software development 42% of projects finish successfully. Tested and used internationally. Easy to learn. The challenge is on getting the most out of it when using it. Microsoft adopted it and they set it as default template. Example: Study Case: FBI 6
Example - Study Case: FBI - Automated Case Support System Created in the 70's, obsolete before it came out. In 2001, re-write it would take 3 years and $ 380M. In 2005, 4 years later and $ 170M and they didn't have anything. In 2006, it started from scratch. And they thought that it would take 6 years and $ 450M. In 2010, 4 years later they spend $ 420M and it was reestimated to 6 years and $ 350M more. In 2010, another reboot. And they used Scrum. Instead of 400 DEV -> 40 DEV. In 2011, it was completed in 1 year and just with $ 30M. 7
Planning and Tracking projects [Process Template: Scrum] 8
Storyboarding [Design] 9
Modeling the Application [Design and Architecture] 10
Software Development [Develop] Version control Unit Tests Code Review Code Analysis tools Profiling tools Concurrency Visualizer Code metrics Code Clone detection IntelliTrace 11
Building the Application [Build] You can use your build system to support a strategy of continuous integration: 12
Software Testing [Test: Manual Testing] MTM Planning the Tests Designing Test Cases Running Tests Reporting Bugs Validating Fixes 13
Software Testing [Test: Automated Testing] Coded UI Tests Web Performance and Load Testing 14
Coded UI Tests - CUIT [Test: Automated Testing] Automated tests that drive your application through its user interface (UI) are also known as coded UI tests (CUITs). These tests include functional testing of the UI controls. They let you verify that the whole application, including its user interface, is functioning correctly. Coded UI Tests are particularly useful where there is validation or other logic in the user interface, for example in a web page. They are also frequently used to automate an existing manual test. 15
Software Testing [Test: Lab Management] 16
Continuous Integration [Release] Continuous integration is a software development practice where members of a team integrate their work frequently; usually each person integrates at least daily leading to multiple integrations per day Martin Fowler 17
ALM Infrastructure - Big picture 18
Q&A 19
20