Software Testing with Visual Studio 2013 & Team Foundation Server 2013 Benjamin Day.

Slides:



Advertisements
Similar presentations
Black marble the strategic IT asset for your organisation DEVELOPMENT LIFE CYCLE USING VISUAL STUDIO TEAM EDITION FOR DB PROFESSIONALS Richard Fennell.
Advertisements

A Taste of Visual Studio 2005 David Grey. Introduction In this session we will introduce Visual Studio 2005 and its features and examine those features.
What’s new in Visual Studio 2012 and Team Foundation Server 2012
Automating Server-based Build, QA & Test with Visual Studio 2012 Neno Loje Consultant & MVP for Visual Studio ALM, TFS, and Scrum
Test Automation: Coded UI Test
Produktiv Software entwickeln mit Visual Studio, heute und morgen
Developer Tester Architect IT / Project Manager BusinessAnalyst Designer Database Professional Team Collaboration Software Quality Project Transparency.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
Real World Scrum with TFS2013 Benjamin Day. Brookline, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALM Team Foundation Server, Software.
Real World Scrum with Team Foundation Server 2013 Benjamin
Design for Testability: Mocks, Stubs, Refactoring, and User Interfaces Benjamin Day benday.com |
Team Foundation Server 2010 Builds: Understand, Configure, and Customize Benjamin Day benday.com |
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Insightful Solutions :: Innovative Technologies Thanks to our Sponsors.
Access Web Apps – OK, Now What? EXTENDING ACCESS WEB APPS George Young Dawson Butte Software ACCESS DAY – OCTOBER DENVER,
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
Modern app development Continuous value delivery and rapid response to change.
Test Driven Development using Visual Studio Team System Ariel Gur-Arieh VP R&D – MCD Software Solutions
Development Best Practices Concepts & Microsoft’s Approach.
Design for Testability: Mocks, Stubs, Refactoring, and User Interfaces Benjamin Day.
10 Ways to Get Your Project Started Right Benjamin Day.
@benday #vslive Better Unit Tests through Design Patterns: Repository, Adapter, Mocks, and more… Benjamin
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
De-mystifying TFS Reporting Benjamin Day Level: Intermediate.
Modern app development Continuous value delivery and rapid response to change.
Top 10 Ways to Go from Good to Great Scrum Master Benjamin Day.
Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day.
The Accidental Team Foundation Server Admin Anthony Borton ALM Trainer and Mentor QuickLearn Inc. DEV345.
Upload your final deck on the speaker portal on or before June 20, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are.
06 | Develop Customer Value with High Quality Anthony Borton | ALM Consultant, Enhance ALM Steven Borg | Co-founder & Strategist, Northwest Cadence.
Ahmed Salijee Developer Advisor DTL201.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Zero to Hero: Untested to Tested with Visual Studio Fakes Benjamin
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Real World SQL Server Data Tools Benjamin
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
To Git or Not to Git for Enterprise Development Benjamin Edward Thomson
Eliminate Team Build Headaches with Unit Tests, WiX and Virtualization Benjamin Day
Continuous Delivery and Team Foundation Server 2013 Ognjen Bajić Ana Roje Ivančić Ekobit.
Managing Database objects in Visual Studio and Team Foundation Server Presented by Sean P SQL Saturday - Phoenix 2016.
Benjamin Day Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript.
Performance Testing Using VSTS Saravana Kumar Microsoft MVP, VSTS Hewlett Packard Saravana Kumar Microsoft MVP, VSTS Hewlett Packard.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
Benjamin Unit Testing & Test-Driven Development for Mere Mortals.
Benjamin Day Role-based Security Stinks: Better Authorization in ASP.NET.
Beyond Basic Unit Testing: Mocks, Stubs, User Interfaces, and Refactoring for Testability Benjamin Day
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
Benjamin Day Real World Scrum with TFS 2015 & VSTS.
DevOps with ASP.NET Core and Entity Framework Core
Build Fundamentals and Continuous Integration
Better Unit Tests through Design Patterns: Repository, Adapter, Mocks, and more… Benjamin
Unit testing your metro style apps built using XAML
6/13/2018 1:23 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
What’s New in Visual Studio 2017
Unit Testing & Test-Driven Development for Mere Mortals
Unit Testing & Test-Driven Development for Mere Mortals
Visual Studio 2005 “Personalized productivity”
Get Good at DevOps: Feature Flag Deployments with ASP
DAT381 Team Development with SQL Server 2005
Unit Testing & Test-Driven Development for Mere Mortals
Real World Scrum with TFS & VSTS / Azure DevOps
Your code is not just…your code
From Development to Production: Optimizing for Continuous Delivery
Implementing Security in ASP.NET Core: Claims, Patterns, and Policies
From Development to Production: Optimizing for Continuous Delivery
Office 365 Development July 2014.
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
Jamie Cool Program Manager Microsoft
Your code is not just…your code
Presentation transcript:

Software Testing with Visual Studio 2013 & Team Foundation Server 2013 Benjamin Day

Brookline, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALM Team Foundation Server, Software Testing, Scrum, Software Architecture Scrum.org Classes –Professional Scrum Developer (PSD) –Professional Scrum Foundations (PSF)

Online courses at Pluralsight.com

Scrum with TFS 2012 / 2013 coming this year.

On with the show.

Overview of Visual Studio ALM.

Three types of testing in the VS ALM World. Developer –“Does the code work?” Manual Testing / Quality Assurance (QA) –“Does the app work?” Load Testing & Performance Testing –“Does the app work under load?”

Test types & features. Developer –Unit Tests Manual / QA –Coded UI tests Load & Performance –Web Performance Tests (WPTs) Recorded or Coded –Load Tests

There are only so many minutes in the day.

The real question is ‘what to test?’

Testing ROI.

Testing ROI for Developers. Write unit tests. –Test First. Test-Driven. Test-Eventually. (Whatever.) –Write something and try to be honest. –Watch your code coverage. Why? –Helps you refactor. –Helps you modify feature functionality. –Helps you to know if it’s working a lot faster. –Tends to push you into better/cleaner architecture.

$1m for IT to support an application. That’s looking grim.

What’s that feel like? Costs more to run the app than you actually have. App breaks if you breathe funny. Can’t add new features. Changes take *FOR-EVER*. Competitors are catching up. You’re hosed. It’s hopeless.

Why’s it getting like that? Technical Debt. Excess “inventory”. Too much architecture. Brittle code. Too hard to refactor.

Time to re-write the app.

Use tests to keep it clean.

Or start adding tests to change the ROI trajectory.

$1m for IT to support an application.

Solid developer testing pays huge dividends.

Better long-term ROI.

Faster time to market on new features.

More responsive to market with changes to existing features.

Catch problems early in dev process.

Vastly higher quality builds for QA testing.

Testing ROI for QA / Manual Testing. Track your requirements with TFS. Track test plans, progress, and do defect tracking with TFS and/or Microsoft Test Manager (MTM). Use MTM Action Recordings to minimize tedium. Look for opportunities for test automation with MTM and Coded UI Tests.

Rule of thumb: At least one Test Case per Scrum PBI.

Coded UI Tests.

Coded UI helps you test a running application’s user interface.

Unit Tests vs. Coded UI Tests Unit Tests Classes and methods at the API level If it tests a UI, it’s testing an abstraction. –(not quite testing the UI) –UI testing has been hard Test stuff as you build it Coded UI Tests UI testing Test a running application Simulates a user’s keyboard and mouse activities Test stuff that’s pretty much done Integration testing

User Interface (ASP.NET, XAML, WinForms, etc.) Presentation (MVC / MVVM) Domain Model / Service LayerRepository / Data Access The Relational Database (Tables, FKs, Views, Stored Proc's) The layers in your app.

User Interface (ASP.NET, XAML, WinForms, etc.) Presentation (MVC / MVVM) Domain Model / Service LayerRepository / Data Access The Relational Database (Tables, FKs, Views, Stored Proc's) The layers in your app. Coded UI tests Unit tests

Unit tests test your APIs. Coded UI Tests test your running user interfaces.

I tend to think of QA identifying a case that needs automation and then requesting a Coded UI Test from developers.

Action Recordings vs. Coded UI Tests Action Recordings –Exist in Microsoft Test Manager –It’s there to help QA automate away tedious clicks and typing. –Make QA testing go faster. –The idea: created by non-technical users. Coded UI Tests –Action Recordings on steroids. –It really helps to be a programmer. –You can do “asserts”. (aka. you can do actual checks) –You can still associate them to MTM Test Cases as “Associated Automations.”

Structure of a Coded UI Test The Test Fixture Class –[CodedUI] attribute –Editable like any other class –(You can even make it data-driven!) UIMap.uitest –Auto-generated XML- based “map” of your UI –Not editable UIMap.designer.cs –Supporting information for the test –Auto-generated by the recorder –Partial class UIMap.cs –Partial class –Customizations and extensions to the stuff in UIMap.designer.cs

Avoiding hard-coded paths in Coded UIs. BrowserWindow class ApplicationUnderTest window

Load & Performance Testing.

You have an application.

The Goal: Performance Test The Application

The purpose of performance tests? Identify the capabilities of your application Possible goals –Explore –Verify –Find the limits –Crush

Performance testing in a nutshell. 1. Throw traffic at the app. 2. Does it perform as expected? 3. Recreate any performance problems. 4. Fix the performance problems. 5. Repeat.

What can you load test with Visual Studio 2012 Ultimate? ASP.NET with an HTML UI –Web Forms or MVC –(This is the sweet spot.) SharePoint Applications HTTP-based applications –ASP.NET-based SOA apps –Service-based apps with WebAPI or REST Coded UI Tests Pretty much anything you can call from a Visual Studio Unit Test

Demos.

Demos Unit Tests Code Coverage QA Testing –Project Management –Sprint Planning –Test Case Management –Test using MTM –Test using web –Test using web + test runner –Test environment manager Web & Load Tests –WPT Basics –Load Test Basics –Custom PerfMon Counters –Load in the Cloud –Load using Test Rigs

Any last questions?

Thanks. |