Visual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Web and load testing with Visual Studio 2010 Ultimate
1. Performance Testing your applications with VS 2010 Ultimate Abhimanyu Singhal Co-Founder iMentor Knowledge Services
2. Abhimanyu Singhal Background First Laid Hands on computers in 1994, been a geek for quite some time Spent Last 15 Years in working on Different Projects, Technologies and development platforms Currently Helping companies scale applications developed on different platforms Co-Founder and Lead Consultant for iMentor Knowledge Services Provide High-End Technical Training and Consultancy
5. Performance Testing Challenges Writing better scripts Taking care of Requests and Dependent requests Writing scripts for key usage scenarios and there variances Data Navigation Paths Determining Relative Distribution and Simulating the same Think Times Test Run Mix Load Test Time Duration User abandonment Target Load Levels Quantifying volume of application usage
6. Performance Testing - Execution Challenges Simulating New Production Environment Setting up Test Rigs and Distributing Load among machines Validating Test Runs Understanding the reports and which information to look for? Math Intensive
7. Web Performance Tests Tests the functionality of Web Application/Web Service for:- Performance Any Other Validation you specify Not fit for testing user interfaces Use them as scripts in load tests to model user actions
10. Web Performance Test Components Request Dependent Request Extraction Rule Validation Rule Web Test Plug-In Web Request Plug-in Comments Context Parameters Date Sources
12. Load Test Load Testing Applications Stress Testing Applications Smoke Tests Spike Tests Can be used for Web Applications Can also be used for Internal Application Components
16. Key Measures I watch for % CPU Usage Requests Per Second Request Queue Length Total Bytes in Heap
17. Considerations for running load Tests Load pattern Connection Model Sample rate and data collection Think time Response time goals Percentage of new users Enabling SQL tracing Maintaining an appropriate number of agents
18. Common Issues with counter collection LoadTestCounterCategoryNotFoundException Could not find dependent counter needed to apply threshold rule
19. Resources Performance Testing Guidance for Web Applications @ Microsoft Patterns and Practices http://msdn.microsoft.com/en-us/library/bb924375.aspx Visual Studio 2010 Online http://www.microsoft.com/visualstudio/en-us Microsoft Developer Network Resource Links for Performance Testing http://www.imentor.co.in/blog/?p=35
20. Thank you and Q.A. Please post your questions You can also send in your questions to abhimanyu@imentor.co.in
Notas del editor
Talk about web performance tests.Use them as scripts inside load testsThese are not fit for testing the user interface. They are run at the HTTP protocol level by test agent and no browser is involved.Renamed from Web Test in Visual Studio 2008Talk about Challenges faced…. During real world scenariosWriting better test scripts.
You create a Web Test By recording a particular usage scenario for your application using Web Test Recorder.Web test recorder creates a Web Test, Analyzes the requests and responses for dynamic parameters and correlates requests with each other.Web test recorder also creates a log file for recording which can be used to fine tune/customize the web performance test.Once you have customized the web test you can run it using visual studio test agent by using a visual studio ide or MSTest.exe from command lineThe Web Test engine sends HTTP Requests to the sever and recieces the HTTP response which it saves in a Web Test result log file.You can load Request/Response in Visual Studio 2010 from the log file to view the results.Key Considerations:-Sends and receives data at the HTTP layer. Does NOT run a browser. Does NOT run java script. Does NOT host ActiveX controls or plugins. Thus they can Web Tests Can Succeed Even Though It Appears They Failed
Extraction rules are useful when you have a piece of data from one page that is needed on another page. For example, extraction rules can be used to extract information from responses, such as http header, attribute value, form field, hidden field, text, and regular expression. The extracted values can then be added to the Web test context for future usageValidation rules are useful when you want to verify that expected data, such as http tag, attribute, request time and text, appear in the responses or perform Web functional testingThe Web test plug-in is run one time for every test iteration. Code in the PreWebTest handler will be called before the Web test starts issuing requests. Code in the PostWebTest handler will be called after the Web test completes. For example, the cleanup code can be inserted here.Web request plug-ins provide a way for you to isolate code outside the main individual requests in your Web test. A request plug-in allows you to call code as each request is run in a Web test. Code in the PreRequestHandler function will be called before a request is issued. For example, you can skip a request if certain condition is met. Code in the PostRequestHandler function can be used to retrieve information from response pages.More informationhttp://msdn2.microsoft.com/en-us/library/ms404703(VS.80).aspxMore Informationhttp://msdn2.microsoft.com/en-us/library/ms404670(VS.80).aspx
ControllerThe controller provides a general architecture for running tests, and includes special features for running load tests. The controller sends the load test to all agents and waits until all the agents have initialized the test. When all agents are ready, the controller sends a message to the agents to start the test.You can configure the controller to select agents based on the properties of the agent, for example, the operating system installed on the agent. You do this on the Controller and Agents tab of the run configuration file. For more information, see How to: Specify a Test Run Configuration.AgentThe agent runs a service that listens for requests from the controller to start a new test. When a request is received, the agent service starts a process on which to run the tests. Each agent runs the same load test.Agents are assigned a weight by the administrator, and load is distributed according to an agent’s weighting. For example, if agent 1 has a weighting of 30, and agent 2 has a weighting of 70, and the load is set to 1000 users, then agent 1 simulates 300 virtual users while agent 2 simulates 700 virtual users. For more information about how to assign a weight to an agent, see How to: Administer a Rig.The agent takes as input a set of tests and a set of simulation parameters. A key concept in Visual Studio Team Edition for Testers is that tests are independent of the computer on which they are run.
The possible reasons for this are the counter category is not installed on the computer, the user account does have permission to collect the counters, or a firewall issueIt happens because this rule depends on a counter which was not collected for the sample period the error occurred.