3.7 out of 5
3.7
5 reviews on Udemy

Testing for Reliability&Performance with Visual Studio 2017

Know all about the tools for improving application performance: Profiling and Load testing.
Instructor:
Packt Publishing
57 students enrolled
English [Auto-generated]
Creating and scheduling a build configuration
Creating and executing test plans with Microsoft Test Manager
Using IntelliTrace to easily reproduce reported issues
Creating and executing automated UI tests
Using profiling tools to improve performance
Creating distributed web load tests

With its focus on new and
modern mobile, Cloud, and desktop development capabilities, Visual
Studio’s overall acquisition, performance, and general developer
productivity have improved; it starts faster, is more responsive, and
uses less memory than before.

In
this course, you learn about increasing reliability and performance
with Visual Studio 2017. This course starts by setting up a Continuous
Integration configuration in Visual Studio Team Services to run unit
tests on every code change. Next, we introduce tools that can improve
the effectiveness of manual testing. You will be introduced to Microsoft
Test Manager, to organize test processes more effectively; IntelliTrace
for easier reproduction of issues encountered; and UI tests, to
automate repetitive regression testing. You will configure Visual Studio
Team Services to automatically build code and run unit tests whenever a
change is committed to source control. The course focuses on Microsoft
Test Manager features that can be used to gain more control over the
manual testing process.

The last sections will focus on tools for improving application performance: profiling and load testing.

About The Author

Damir Arh is a
software architect and developer, who is interested in using new
technologies and methodologies to make development processes more
efficient and improve the user experience in software.

He is a big proponent of
TDD (test-driven development) and unit testing in general. He regularly
uses NUnit and MsTest unit testing frameworks and is very fond of the
NCrunch continuous testing tool. It really changes the way you look at
unit tests.

He has a lot of
experience with setting up continuous integration servers
(CruiseControl.NET and TeamCity), and has used and administered
different source control tools (SVN, GIT, TFS, and VSS).

He has been working with
Microsoft development tools all of his professional career. He has lots
of experience with most parts of the .NET framework: client-side (WPF,
Windows Forms), server-side (WCF, WF, and ASP.NET), and data access
(ADO.NET, Entity Framework).

Lately, he has been very
interested in mobile platforms, such as WinRT and Windows Phone. He has
been a fan of Portable Class Libraries since they were first released.

In the past, he spent a lot of time in the field of COM-.NET interoperability, as well as with Word and Excel automation.

He is also experienced with all aspects of SQL Server (Database Services, Analysis Services, DTS, and Integrations Services).

He loves to share his
knowledge with other developers. He is a speaker at local events
(Microsoft NT conference, Bleeding Edge, and local user group meetings).
He regularly posts on his blog and is an active user on Stack Overflow.

Running Tests on a Build Server

1
The Course Overview

This video provides an overview of the entire course.

2
Creating a Visual Studio Team Services Account

To run our tests in the cloud we will use the continuous integration service, which is a part of Visual Studio Team Services. To access them, we first need to create an account.

3
Using a Source Code Control System

To build the project and run the tests, the build server requires access to our source code; therefore we need to put it into a remote repository.

4
Creating a Build Configuration
With the code stored in a Visual Studio Team Services Git repository, we can now configure the build server to retrieve and run all the tests.
5
Scheduling When to Run the Tests

Having to run the build configuration manually defeats the point of having it on the server. We need to add a trigger to run it automatically when the code changes.

6
Test Your Knowledge

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Testing Manually with Microsoft Test Manager

1
Exploratory Testing

Not all testing can be automated. Visual Studio and Visual Studio Team Services also include tools for ad-hoc manual testing of applications.

2
Creating a Test Plan

Test plans make the manual testing process more predictable and reliable. Microsoft Test Manager includes features for managing test plans.

3
Executing a Test Plan
Once a test plan is created we can hand it off to a tester. He can use Microsoft Test Manager to run those tests and report the results.
4
Using Reporting Tools to Track Progress on Test Plans
Test results can give a good insight into the current state of our application. Visual Studio Team Services has the tools needed to gather the required information.
5
Configuring Diagnostic Data Collection

One of the reasons to use Microsoft Test Manager is its ability to automatically collect diagnostic data during testing. Which data is actually collected is fully configurable.

6
Test Your Knowledge
Now that you are done with the videos of section 2, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Historical Debugging with IntelliTrace

1
Collecting IntelliTrace Information with Visual Studio
IntelliTrace is built into the Enterprise edition of Visual Studio. It can be used to further improve our debugging experience.
2
Collecting IntelliTrace Information on a Production Machine
Visual Studio is not required to collect IntelliTrace data. IntelliTrace Standalone Collector can be used to collect data from a deployed application.
3
Replaying Recorded IntelliTrace Information
Collected IntelliTrace data can be analyzed later in Visual Studio, as long as corresponding source files are available.
4
Test Your Knowledge

Now that you are done with the videos of section 3, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Debugging and Testing User Interfaces

1
Inspecting User Interfaces at Run-Time

Although Visual Studio has tooling for design-time editing of user interfaces, much more information can be obtained about them at run-time.

2
Creating Coded UI Tests for Desktop Applications
Traditionally, the testing of the application user interface was being done manually. Coded UI Tests allow us to automate even those tests when they need to be performed repeatedly.
3
Creating Coded UI Tests for Web Applications
Coded UI Tests are not restricted only to desktop applications. They can also be used for testing web applications.
4
Creating End-to-End Tests with Selenium
The most commonly used toolset for testing web applications through their user interface is Selenium. It can also be used from Visual Studio.
5
Running User Interface Tests on Build Server

We want to automate the running of user interface tests on the build server, like we did for unit tests. We must fulfill some additional requirements on build agents for this to work.

6
Test Your Knowledge
Now that you are done with the videos of section 4, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Improving Performance with Profiling Tools

1
Estimating Performance in Code Editor

The first step in optimizing an application is identifying, which parts are slow and would benefit most from optimization. Visual Studio Diagnostic Tools can help us with that.

2
Profiling CPU Usage
Break events can be used to get the basic idea which parts of code might require optimization. When that’s enough CPU profiler can be used.
3
Profiling Memory Usage
Memory leaks and frequent garbage collection because of excessive memory usage can impact application performance. Visual Studio has tools to help you troubleshoot such issues.
4
Profiling UI Responsiveness

UI responsiveness is often a user’s first contact with the application, which makes it an important aspect of the overall performance. There are dedicated tools in Visual Studio to measure and improve it.

5
Test Your Knowledge
Now that you are done with the videos of section 5, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Load Testing Web Applications

1
Creating a Performance Test

It’s not only important that the application works correctly, its performance is also important to users. That’s why Visual Studio 2017 Enterprise has tools for measuring performance of web applications.

2
Creating a Load Test
Web applications will behave differently under heavy load than when serving only isolated requests. Load tests can be used to simulate many users using the application at the same time.
3
Running Load Tests with Visual Studio Team Services

To get correct results from load testing, enough resources must be provided to test agents. Running the tests in the cloud is an easy way to achieve that.

4
Running Load Tests on Premise
You can run load tests on your own hardware as well. For that, you need to install and configure the testing components on each computer that will run the tests.
5
Test Your Knowledge

Now that you are done with the videos of section 6, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.7
3.7 out of 5
5 Ratings

Detailed Rating

Stars 5
1
Stars 4
0
Stars 3
4
Stars 2
0
Stars 1
0
e498049f86d9d2aa55437c5ef53aeebd
30-Day Money-Back Guarantee

Includes

2 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion