Windows Linux ios Android.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl
UI Automation Testing
Business challenges UI regression test needs grow over time Manual UI testing impacts the delivery cycle times Automated UI tests are brittle, time-consuming to maintain Solutions Record and automate UI tests Robustly instrument UI tests to reduce maintenance overhead Associate UI tests with a scheduled build Business value Test more functionality in less time Reduce or eliminate repetitive manual testing Reduce cycle time when delivering new features
Exploratory Testing Plug In Explore your web applications, find and submit bugs directly from your Chrome browser Team Foundation Server Support TFS 2015 RTM & beyond TFS 2013 RTM & all updates TFS 2012 Update#4 onwards Browser support Support for other browsers, such as Edge, Firefox, Chrome, IE, etc.
Coded UI Testing Automated tests drive your application through its user interface (UI) Validate the functionality and behavior of your application s user interface. You can create coded UI tests directly from existing action recordings. Action recordings contain the steps taken during manual testing of an application. Coded UI Tests can be used to automate an existing manual test.
Selenium UI Testing Automates browsers for web application testing purposes Integration with the ecosystem Support multiple test frameworks Inherent applicability to AJAX Script once, Run on multiple browsers Visual Studio provides a plugin for running Selenium tests Support for non-web applications
Don t skimp on critical tests. Automate the right ones Free up your testers to focus where they re needed most new tests and exploration.
DEMO
Load and Performance Testing
Why Load Testing? Performance testing Load testing Stress testing Capacity planning How fast will the application code perform? How will the application behave in front of the expected users load? What is point of users-load that will break your application? Will the application be able to scale up to the expected future capacity?
Visual Studio Enterprise Test Controller Unlimited Load Test Virtual Users Agent Agent Agent Agent Target Server Target Server Target Server Collector Agent Collect ASP.NET profiler traces
What is needed to make that work? Buy appropriate computers Physically setup computers Install your controllers/agents Net load testing can be: Expensive to setup Provisioning is complex Slow to scale Costly to maintain Replicate this to all the computers
Introducing Cloud-Based Load Testing
Architecture Test Agent Pool - Dynamic Load Test Web Service Worker Visual Studio Azure Tables Azure Blobs Results database
VSTS-Quick Performance Test Quickly define and configure simple load tests Use the elastic scale of VSTS to simulate hundreds or thousands of virtual users Measure the underlying system using Application Insights
Azure Performance Test Web App
Visual Studio Author Scenarios
DEMO
DevOps DevOps is the union of people, process, and products to enable continuous delivery of value to our end users -Donovan Brown, DevOps PM
Modern app development Continuous value delivery and rapid response to change
DevOps 1 Plan Monitor + Learn 4 Developmen t Production 2 Develop + Test 3 Release
Plan It starts with an idea and a plan how to turn this idea into reality Project starts Manage work Develop + Test 1 Track progress Plan
Agile Tools
Work Item Visualization Available in the Visual Studio Marketplace
Develop + Test Once the iteration starts, developers turn great ideas into features 2 Write Code Unit Testing Version Control Build Build Verification Release
Unit Testing
Code Maps Filter link types on Code maps and dependency graphs Drag and drop from object browser or class view Create new diagrams from selected nodes Create new blank Code Map from the simplified Architecture menu Faster display and better responsiveness Less clutter with implicit.net type dependencies hidden Filters for code elements as well as dependency links
Diagnostic Tools window Debugger Events (with IntelliTrace) See memory Usage, CPU Usage, and more
Next generation build Continuous integration to find build issues earlier Create your own build definition templates or use community templates from your Git provider
Technical Debt 20 10 0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12-10 -20-30 -40-50 Productive time spent on implementing features Interest/repayment = extra time spent on implementing feature or payment of debt Debt = effort required to cleanup or refactor code
Technical Debt Bottleneck Makes forward progress on customer value inefficient Technical debt zaps productivity Technical makes code hard to understand, fragile, difficult to validate Technical creates unplanned work that blocks progress 50% of capacity is zapped by technical debt but technical debt slows it down but technical debt slows it down but technical debt slows it down
Embrace SonarQube time to market, rich ecosystem Technical Debt DataMart Understand Technical Debt Dashboard What Microsoft has What SonarQube brings Measure Continuous Integration on-prem server Maven Jenkins Java, JS/html/CSS, Objective C, Android Lint, C/C++, on-prem server Govern Prevent & Remediate IDE VS Web based experience Eclipse IntelliJ TFS GitHub VSTS Work Items Source Control.Net, C++
SonarQube Integration
Release When all tests pass, the build is deployed to testing environments for each stage in the release process Cloud Load Testing Integration testing environment Staging environment 3 Monitor + Learn Automated functional testing environment Pre-production environment
Release management
Release Pipeline
UI Automation Coded UI tests provide a way to create fully automated tests to validate the functionality and behavior of your application s user interface Selenium automates browsers. Primarily, it is for automating web applications for testing purposes, but is not limited to just that
Cloud Based Load Tests
Test Run Hub
Monitor + Learn Learn and understand how users use your app, how it reacts and quickly fix issues and bugs Plan the next iteration Feedback Monitor 4
Detect issues, diagnose crashes and track usage in your web and mobile apps Announcing Public Preview on Azure Preview Portal Monitor ASP.NET, Java and other web apps and services Support for Android, ios and Windows mobile apps Pricing details available now including free tier Check it out! http://azure.microsoft.com/en-us/services/application-insights
Application insights
Application insights
Build Annotations
Power BI Integration Gain understanding and insights into projects in VSTS How many pull requests per day? Per week?
Automate Everything
Web App: DevOps Workflow Azure
DEMO
(10 min break)
Intro to Monitoring with Application Insights (4-Application Insights Overview)
Cloud deployment for Dev/Test
Azure App Service.NET, Java, Node.js, PHP, Python Auto OS patching Auto scale/built in load balancing Integration with existing apps Continuous deployment WEB APPS Web apps that scale with your business MOBILE APPS Build Mobile apps for any device LOGIC APPS Automate business process across SaaS and on-premises API APPS Easily build and consume APIs in the cloud
Azure Web Apps: Cloud Deployment Slots
Azure Web Apps: Web Jobs run.cmd, run.bat run.exe run.ps1 run.sh run.php run.py run.js Job Type: On-Demand, Scheduled, Continuous Scale: WebJobs SDK Feature: Deployment: Singleton, Multi-instance BlobTrigger, TableTrigger, QueueTrigger, ServicebusTrigger Portal, Visual Studio, CLI, Git
Visual Studio 2015 integration with Azure
Cloud Explorer Available in Visual Studio with Azure SDK 2.8 installed Sign into multiple Azure accounts simultaneously Provides a highly performant, scalable tool for searching and viewing your Azure resources Inspecting properties Perform key diagnostic actions Remote debugging for Virtual Machines
Cloud Deployment Projects Available in Visual Studio with Azure SDK 2.8 installed Publish related Azure resources in a single deployment operation
JSON Editor Resource Manager Template support Add and delete resources Easily deploy your template from Visual Studio
Azure DevTest Labs (preview)
Challenges of running dev-test on premises Your datacenter IT admin Provision VMs VMs in dev-test environment Developers Request VMs 65% 10% of developers say it is too complicated and time-consuming to get development and test resources Average utilization of dedicated devtest infrastructure Source: Business Case for Test Environment Management Whitepaper, Cognizant Your challenges Compromised agility Limited hardware budget Limited software licensing Resource contention with VMs Realistic scale tests often challenging Procurement delays
Azure Dev/Test Lab Quickly provision development and test environments Minimize waste with quotas and policies Set automated shutdowns to minimize costs Create a VM in a few clicks with reusable templates Get going quickly using VMs from pre-created pools Build Windows and Linux environments Worry Free Self- Service Dev/Test Lab environments come pre-provisioned with everything your team needs to start developing and testing applications. Capture and share environment templates and artifacts within your team or organization all in source control to create dev and test environments easily. Dev/Test Lab makes it easier to control costs. Provision environments within allocated quotas and size policies. Apply automatic shutdown rules for idle VMs and environments. Track projected spending against budgets and analyze Lab usage in detail. Leverage premade plug-ins or our API to provision dev/test environments directly from your preferred continuous integration (CI) tool, integrated development environment (IDE) or automated release pipeline.
DEMO
www.teamsystemcafe.net/resources
Next Steps Create a Visual Studio Online account Try the Release Management Service & Application Insights visualstudio.com Download Visual Studio 2015 Use your Visual Studio Online & Azure benefits msdn.microsoft.com Try App Service: Web Apps today tryappservice.azure.com DevOps and Application Lifecycle Management msdn.microsoft.com/en-us/library/fda2bad5.aspx Microsoft s DevOps Journey stories.visualstudio.com/devops
Miscellaneous
What can you do with $100 in Azure? Access to Azure All MSDN subscribers have access to $50 to $150 monthly Azure credit Use all your MSDN software benefits in Azure for Dev/Test 3 VMs for 16 hours a day 80 VMs for 20 hour load test Spin up Virtual Machines, Websites, Databases, etc. Up to 500 web sites plus SQL DB
Azure Automation Automation as a Service Think Orchestrator or Azure Pack Service Automation, but in Azure Automate repetitive or long-running processes Script Authoring Environment Uses PowerShell Workflows Combination of PowerShell 4.0 and WF Uses Integration Modules, very similar to PowerShell Modules Scheduling and Monitoring Execute scripts on a schedule Review execution status on a dashboard
Miscellaneous Screen Shots
Run Performance Report Load Test Analysis Built into Excel for run comparison
Run Performance Report Compare Runs Load Test Analysis for Baseline Runs
.Net Walkthrough
Java Walkthrough