load and perfomance testing from Multiple location using coded ui - performance-testing

I need to load and performance test 500 virtual users load with 5 different locations so can I do it with microsoft coded ui.
Load and performance testing from a different location is important in my case. can someone suggest if it possible with coded ui or some other tools they can do it.

The short answer is no(you can but it won't make any sense to use 500 different machines as coded UI uses active desktop). Coded UI tool is used for UI test automation. Also, coded UI is deprecated.
But you can do performance testing using visual studio. refer below link for more details on the same.
Performance testing using visual studiio

Related

Is it possible to use Sonar Web reporting tool stand alone?

SonarQube is a tool use for code quality inspection, it is based on plugins. Sonar has built-in web reporting tool which shows analysis results on web page via different charts and UI controls.
My understanding is that: "Sonar provides different plugins for it's different functionalities, for example sonar-php is a plugin that can be used for analyzing php code, once the code is analyzed it represent the results on web page by mentioning different stats and graphs/charts."
If the above understanding is correct, I assumed Sonar use some kind of web reporting plugin to show all cool graphs and controls to display analysis results that is independent of data source and only responsible of presenting the provided data.
Now, my question is , Suppose I do have some data source , Is it possible to customize and use only that web reporting tool of Sonar to display results on web page ? or it's not possible and I have wrong assumption?
SonarQube is a code quality management tool. There is no specific web reporting tool to display whatever data you want.
If you want to analyze code, you can create a plugin to inject issues on specific part of the code for example. You may be interested by the documentation « Developing a Plugin »

How to test load a web application?

I am working on a web app which uses JSF. I would like to know that What are best practices and available tools for performing a load test on it.
Application is hosted on glassfish server 3.1.2.2
Depends somewhat on the site you want to test. At work we have a complex RIA, and to test it we have to reproduce user interaction. We use jMeter for this.
It's kind of messy to set up (look at the guides they have) but once this is done it's very flexible and allows you to configure and tweak many things. I particularly like its "proxy" feature where you can proxy your app through jMeter and it records everything so you can play it back later on. Note that for JSF you have to do some tricks with the ViewStateId, so google a "jmeter JSF" guide for how to set this up.
In a previous project I have used RadView WebLOAD to test a JSF site, it enable recording the user scenario and handles correlating the dynamic values.

Is it possible to expose hand coded functions as shared steps?

We are looking into coded UI, and since we have C# coding experience we'll be coding up the automated tests ourselves.
I already know that it is possible to have a test case with defined test steps. Each test step is actually a function inside the test method and the description comes from the summary.
This is a great way for the c# coders to expose what they're doing to the non coding testers who will interact with these automated tests using MTM (Microsoft test manager).
However, it would be awesome if the C# coders were able to create generic functions as "Shared Steps" perhaps, and in this way non technical testers were able to assemble new tests in MTM using these building blocks.
Functions such as : Open the settings dialog, Maximize Window, Add an item (with parameters), Close all open tabs, etc.
However these would be coded functions, not from a recording.
The idea would be that once these functions are created and stored in TFS (Again as shared steps), the tester would then be able to use these functions as building blocks for more automated tests.
I also have to stress that these functions will be fully automated, and so new tests assembled in MTM too need to be fully automated without needing to open up Visual Studio.
Is this at all possible?
An approach used by some people is to create a test framework containing many useful functions. The test itself is then written as a data driven Coded UI test, each step being one entry from the data source. (Typically each step might be one line in CSV file.) Some columns of the data source would be commands and others data for those commands.
The commands could be relatively low level such as: find a window, navigate to a page, run an application, find a control in a window, enter text into a field, click a button or a link, verify that a field contains a given string.
Commands could be for higher level activities in your applications, such as: login, fill in a form.
Frameworks can let non coders write tests using terminology they understand. Frameworks are challenging to write.
This isn't really possible in the way you're asking - you will not be able to have your non-technical testers creating automated tests from test manager. A coded UI test will always have to exist as a test in a code file.
All of the details for a test manager test are available through the TFS API, so I suppose it should be possible to create your own layer that could generate coded UI code based on a shared step mapping system, but it would be a fairly major undertaking - its probably easier to have automated tests created by technical people.

Using external VS2012 premium solution to create CUIT without source code

Microsoft Coded UI Test (CUIT). Can I create an independent (external) Visual Studio 2012 Premium or Ultimate solution in C# to record on my application UI without the application's source code? This solution can reference the application's assemblies. The CUIT API does not seem to help. It is not desirable to use Microsoft guidelines in doing CUIT, as it creates and inserts a test project into the application's solution. The development team does not want this test project, created by the QA team, to be part of their source code to check into their source control.
Coded UI testing with Visual Studio is about testing the user interface of an application. Coded UI does not care how the application was constructed (but see Note below). Coded UI test projects do not need to be in the same solution as the application. Coded UI can be used to test websites and web applications (via a web browser) where there is no Visual Studio solution available for the application. Coded UI can also be used as an automation tool, to automate routine operations that use several programs and websites to perform some action. For such automation there would be no single solution file that should have the Coded UI project.
My understanding of Microsoft's Coded UI guidelines is that sometimes it is good to have application and test in the same solution, just to keep them together so as to encourage testers and developers to use the test and keep them up to date. But there is nothing to force such togetherness.
I do not understand the impact of this sentence in the original question: "This solution can reference the application's assemblies."
Note: Coded UI needs the application under test to expose some of its user interface properties via the MSAA or UIA mechanisms. This is done for you with many types of software. See the "Platform Support" section of the "Content Index for Coded UI Test" at http://blogs.msdn.com/b/mathew_aniyan/archive/2010/02/11/content-index-for-coded-ui-test.aspx .
Added 2013-05-02:
The clarification, within the comment, about wanting to link a Coded UI test to the DLLs of an application suggests there may be some confusion between what Coded UI tests are for and what unit tests are for.
Coded UI accesses the user interface of an application much like a screen reader for the visually impaired would. It also moves the mouse pointer, clicks buttons or links and enters text much like the software for people who cannot use a normal keyboard or mouse. Coded UI does not access the code directly so it does not need to reference any DLLs of the application. Before testing your application, I suggest you experiment with writing Coded UI tests to drive the Windows Calculator or to fill in forms on web pages. There are many videos and tutorials on the internet that demonstrate how to use Coded UI. Once you have some understanding of what Coded UI does and how to use it, you should be in a much better position to test your application.

Jasper Report Security Sandboxing

I am writing a Java web app which I would like to allow users to execute basic PDF reports. Normally I would use Jasper Reports for this. However this time I would like the users to be able to edit there own reports in iReport and upload them. Which should be straight forward enough.
That got me thinking, Jasper lets you effectively write code in the reports which gets executed when the report is generated. Is it possible to write a report which has full access to the Java API and therefore my web app. I don't want users being able to kill tomcat or worse still use the DAO api I have built to read other users data.
Does any one know if this is actually possible and if so can you sandbox it somehow. May be I could filter the reports XML before its complied some how?
Also does anyone know if the same applies to other open source reporting tools such as BIRT?
I'm releasing a web service [1] to allow developers to generate PDF using templates drawn on i-report,
So I had to solve the same problem, my first try was to use the Java Security Engine API, but it was too complex with a lot of required permissions.
So while I was searching how Heroku isolates each web app, I discovered the Linux Containers (LXC) [2], so i decided to isolate each "developer sandbox" in a lxc container.
It don't prevent users to shutdown the "sandboxed server", but if they do, they will power off only its own sandbox, other users sandbox won't be affected.
[1] http://reports.simpleservic.es/landing
[2] http://en.wikipedia.org/wiki/LXC
Have a look at the java-sandbox [1] which we use in our BI solution Reportserver [2]. I am currently preparing a blog-post which will explain how to run jasperreports in a sandboxed environment.
As for Birt, the very same applies there too. Here user's cannot directly write java code, but they can use Rhino which in the end has the same effect.
[1] http://blog.datenwerke.net/p/the-java-sandbox.html
[2] http://reportserver.datenwerke.net

Resources