Load testing win app in VS 2005

S

SalamElias

Hi,
I know that VS 2005 has a lot of testing features and already used them for
doing web load testing.
I am wondering if it is possible to load test a win forms application. I
don't mean writing unit tests, what I need to do is run a load test against
my executable and watch CPU utilization and memory usage.
When doing web load testing, a wizard help us to write the scenario through
recording steps in a session.
Ultimatly I need to check if my application will be stable or not after
deployment regarding ressources.
 
J

Jialiang Ge [MSFT]

Hello SalamElias,

As you may have already known, we can add "Web Test" or "Unit Test" to
"Load Tests".

"Web loading test", the loading test for web applications, allows us to
record the test steps to facilitate the procedure. For non-web based
applications, e.g. Windows Form applications, or a data access model
component, adding a unit test into the load test to run methods in winform
will be the choice. Thus, I recommend creating a unit test that calls the
winform functions, then run the unit test under load. Visual Studio does
not have built-in record component to record the test steps for Windows
Form application. It is my pleasure to help send a wish to our product
designers via internal channel. You are also welcome to add your
supplements to make Microsoft products easier and more powerful to use by
submitting a ticket in https://connect.microsoft.com/VisualStudio As we
strive to capture any and all product feedback so as to ensure that we are
continuously developing Microsoft products to meet customer needs, feedback
such as yours is always taken very seriously. It is appreciated that you
can paste the suggestion's link here after you submit the ticket in
https://connect.microsoft.com/VisualStudio, so that other community members
can benefit from it.

Below list more readings about Load Tests in Visual Studio. You might have
come across these before but it is just for your reference.

Understanding Load Tests
http://msdn.microsoft.com/en-us/library/ms182562(VS.80).aspx

How to: Select a Load Test Results Store
http://msdn.microsoft.com/en-us/library/ms243400(VS.80).aspx

How to: Configure Tests with Build Types
http://msdn.microsoft.com/en-us/library/ms253138(VS.80).aspx

Please let me know if you have any other concerns, or need anything else.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
S

SalamElias

So many thanks for those ideas. However, my executable is an utiliy and not
UI to be used by users.
In fact, when the form is loaded, I am populating a dictionaty with some
performance counters, dispalying performance counters values on the form.
Then inside a timer, I retrieve the values each 15 or 30 seconds.
I don't how or if it would possible to write a unit test for this type of
functions.


"Jialiang Ge [MSFT]" said:
Hello SalamElias,

As you may have already known, we can add "Web Test" or "Unit Test" to
"Load Tests".

"Web loading test", the loading test for web applications, allows us to
record the test steps to facilitate the procedure. For non-web based
applications, e.g. Windows Form applications, or a data access model
component, adding a unit test into the load test to run methods in winform
will be the choice. Thus, I recommend creating a unit test that calls the
winform functions, then run the unit test under load. Visual Studio does
not have built-in record component to record the test steps for Windows
Form application. It is my pleasure to help send a wish to our product
designers via internal channel. You are also welcome to add your
supplements to make Microsoft products easier and more powerful to use by
submitting a ticket in https://connect.microsoft.com/VisualStudio As we
strive to capture any and all product feedback so as to ensure that we are
continuously developing Microsoft products to meet customer needs, feedback
such as yours is always taken very seriously. It is appreciated that you
can paste the suggestion's link here after you submit the ticket in
https://connect.microsoft.com/VisualStudio, so that other community members
can benefit from it.

Below list more readings about Load Tests in Visual Studio. You might have
come across these before but it is just for your reference.

Understanding Load Tests
http://msdn.microsoft.com/en-us/library/ms182562(VS.80).aspx

How to: Select a Load Test Results Store
http://msdn.microsoft.com/en-us/library/ms243400(VS.80).aspx

How to: Configure Tests with Build Types
http://msdn.microsoft.com/en-us/library/ms253138(VS.80).aspx

Please let me know if you have any other concerns, or need anything else.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
J

Jialiang Ge [MSFT]

Hello SalamElias,

I have some points needed to be clarified in case I misunderstood your
question. Can I?

According to your description, it seems that there is a winform application
and we are not able to access its source code from a unit test. The winform
can display some performance counters in its UI. Am I right? SalamEias, I'm
sorry that I cannot understand the function for test. What's the
relationship between the performance counters in the winform and load test?
As far as I know, "load testing" itself is able to display the performance
counters: http://msdn.microsoft.com/en-us/vs2005/aa718474.aspx.

In the MSDN article: http://msdn.microsoft.com/en-us/library/ms182562.aspx,
it's documented that "load test" is mainly designed for the access of
server components, e.g. web server or DB server access. Before I get a
clearer picture of your request, I'm not sure whether "load test" will fit
your requests.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

=================================================
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

This posting is provided "AS IS" with no warranties, and confers no rights.
=================================================
 
S

SalamElias

Hi Jialiang,

I am writing a tool to dispaly values for some specific performance counters
in win Form application remotly. The executable will run, lets say on an XP
or Vista machine, connect to a remote server, get appropraite counters (SQL,
Biztalk, sharpoint.....whatever) and display its values.
Here are the steps :
1 - winform starts by authenticating and getting a connection to the server.
2 - execute some functions to get reference to the right perf counters
3- once UI is displayed with right figures, inside a timer function, will
check each 10 seconds perf counters values and update the GUI with the new
figures.
.. This tool is targeted to IT people to allow them monitor how some
applications are behaving during the day by watching specific activities.

What I want to achieve in load testing is 2 things :
1 - while this tool is running from 7 AM in the morning til 8 PM, will there
be any CPU unstability (continous increase in CPU).
2 - Stable /unstable memory usage (memory leaks) in the executable
The bottom line is firstly, I want to evaluate the impact of running my
tool on the client machine where the executable will run in terms of CPU and
memory, on the other hand I want to be able to simulate several client
machines (several IT people running the tool from their desktop) at the same
time, and record/monitor/register some other performance counters (not the
perf counters I display in my UI) on the server side.
I hope this can help you understand better
Please let me know if you need further explanantion

"Jialiang Ge [MSFT]" said:
Hello SalamElias,

I have some points needed to be clarified in case I misunderstood your
question. Can I?

According to your description, it seems that there is a winform application
and we are not able to access its source code from a unit test. The winform
can display some performance counters in its UI. Am I right? SalamEias, I'm
sorry that I cannot understand the function for test. What's the
relationship between the performance counters in the winform and load test?
As far as I know, "load testing" itself is able to display the performance
counters: http://msdn.microsoft.com/en-us/vs2005/aa718474.aspx.

In the MSDN article: http://msdn.microsoft.com/en-us/library/ms182562.aspx,
it's documented that "load test" is mainly designed for the access of
server components, e.g. web server or DB server access. Before I get a
clearer picture of your request, I'm not sure whether "load test" will fit
your requests.

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

=================================================
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

This posting is provided "AS IS" with no warranties, and confers no rights.
=================================================
 
J

Jialiang Ge [MSFT]

Hello SalamElias,

For the first one "we want to evaluate the impact of running the tool on
the client machine where the executable will run in terms of CPU and
memory", we can do it in this way: From the unit test, we call the piece of
code that does the actual server interaction (reading out the perf
counters). We can then use this unit test to simulate any number of people,
with delays between the execution of the tests. Measure the appropriate
perf counters on the target server (CPU, mem, etc.)

For the second one, there is no special technique if you want to test the
real binary. You could look at your code and create a test program that
calls your most memory intensive code a lot of times. As long as you only
have managed code, I'm pretty sure you won't have any memory leaks. You can
have inefficient memory usage, where the GC is not able to operate
efficiently. These kinds of things can be investigated using the visual
studio profiler (http://msdn.microsoft.com/en-us/library/ms184783.aspx).

Hope this gives you some pointers!

Regards,
Jialiang Ge ([email protected], remove 'online.')
Microsoft Online Community Support

=================================================
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

This posting is provided "AS IS" with no warranties, and confers no rights.
=================================================
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top