Stress testing Stress testing is another industry term of - TopicsExpress



          

Stress testing Stress testing is another industry term of performance testing. Though load testing & Stress testing are used synonymously for performance–related efforts, their goal is different. Unlike load testing where testing is conducted for specified number of users, stress testing is conducted for the number of concurrent users beyond the specified limit. The objective is to identify the maximum number of users the system can handle before breaking down or degrading drastically. Since the aim is to put more stress on system, think time of the user is ignored and the system is exposed to excess load. The goals of load and stress testing are listed in Table 2. Refer to table 3 for the inference drawn through the Performance Testing Efforts. Let us take the same example of online shopping application to illustrate the objective of stress testing. It determines the maximum number of concurrent users an online system can service which can be beyond 1000 users (specified limit). However, there is a possibility that the maximum load that can be handled by the system may found to be same as the anticipated limit. The Tableillustrates the example specified. Stress testing also determines the behavior of the system as user base increases. It checks whether the system is going to degrade gracefully or crash at a shot when the load goes beyond the specified limit. Table 1: Load and stress testing of illustrative example Types of Testing Number of Concurrent users Duration Load Testing 1 User 50 Users 100 Users 250 Users 500 Users…………. 1000Users 12 Hours Stress Testing 1 User 50 Users 100 Users 250 Users 500 Users…………. 1000Users Beyond 1000 Users……….. Maximum Users 12 Hours Table 2: Goals of load and stress testing Types of testing Goals Load testing • Testing for anticipated user base • Validates whether system is capable of handling load under specified limit Stress testing • Testing beyond the anticipated user base • Identifies the maximum load a system can handle • Checks whether the system degrades gracefully or crashes at a shot Table 3: Inference drawn by load and stress testing Type of Testing Inference Load Testing Whether system Available? If yes, is the available system is stable? Stress Testing Whether system is Available? If yes, is the available system is stable? If Yes, is it moving towards Unstable state? When the system is going to break down or degrade drastically? Conducting performance testing manually is almost impossible. Load and stress tests are carried out with the help of automated tools. 9. Bug Fixing Some errors may not occur until the application is under high user load. For Example, memory leaks can exacerbate server or application problems sustaining high load. Performance testing helps to detect and fix such problems before launching the application. It is therefore recommended that developers take an active role in performance testing their applications, especially at different major milestones of the development cycle. Content Management Testing ‘Content Management’ has gained a predominant importance after the Web applications took a major part of our lives. What is Content Management? As the name denotes, it is managing the content. How do they work? Let us take a common example. You are in China and you wanted to open the Yahoo! Chinese version. When you choose Chinese version on the main page of Yahoo! You get to see the entire content in Chinese. Yahoo! Would strategically plan and have various servers for various languages. When you choose a particular version of the page, the request is redirected to the server which manages the Chinese content page. The Content Management systems help is placing content for various purposes and also help in displaying when the request comes in. Content Management Testing involves: 1. Testing the distribution of the content. 2. Request, Response Time’s. 3. Content display on various browsers and operating systems. 4. Load distribution on the servers. In fact all the performance related testing should be performed for each version of the web application which uses the content management servers. Regression Testing Regression testing as the name suggests is used to test / check the effect of changes made in the code. Most of the time the testing team is asked to check last minute changes in the code just before making a release to the client, in this situation the testing team needs to check only the affected areas. So in short for the regression testing the testing team should get the input from the development team about the nature / amount of change in the fix so that testing team can first check the fix and then the side effects of the fix. In my present organization we too faced the same problem. So we made a regression bucket (this is a simple excel sheet containing the test cases that we need think assure us of bare minimum functionality) this bucket is run every time before the release. In fact the regression testing is the testing in which maximum automation can be done. The reason being the same set of test cases will be run on different builds multiple times. But again the extent of automation depends on whether the test cases will remain applicable over the time, In case the automated test cases do not remain applicable for some amount of time then test engineers will end up in wasting time to automate and don’t get enough out of automation. What is Regression testing? Regression Testing is retesting unchanged segments of application. It involves rerunning tests that have been previously executed to ensure that the same results can be achieved currently as were achieved when the segment was last tested. The selective retesting of a software system that has been modified to ensure that any bugs have been fixed and that no other previously working functions have failed as a result of the reparations and that newly added features have not created problems with previous versions of the software. Also referred to as verification testing, regression testing is initiated after a programmer has attempted to fix a recognized problem or has added source code to a program that may have inadvertently introduced errors. It is a quality control measure to ensure that the newly modified code still complies with its specified requirements and that unmodified code has not been affected by the maintenance activity. What do you do during Regression testing? o Rerunning of previously conducted tests o Reviewing previously prepared manual procedures o Comparing the current test results with the previously executed test results What are the tools available for Regression testing? Although the process is simple i.e. the test cases that have been prepared can be used and the expected results are also known, if the process is not automated it can be very time-consuming and tedious operation. Some of the tools available for regression testing are: Record and Playback tools – Here the previously executed scripts can be rerun to verify whether the same set of results are obtained. E.g. Rational Robot What are the end goals of Regression testing? o To ensure that the unchanged system segments function properly o To ensure that the previously prepared manual procedures remain correct after the changes have been made to the application system o To verify that the data dictionary of data elements that have been changed is correct Regression testing as the name suggests is used to test / check the effect of changes made in the code. Most of the time the testing team is asked to check the last minute changes in the code just before making a release to the client, in this situation the testing team needs to check only the affected areas. So in short for the regression testing the testing team should get the input from the development team about the nature / amount of change in the fix so that testing team can first check the fix and then the affected areas. In my present organization we too faced the same problem. So we made a regression bucket (this is a simple excel sheet containing the test cases that we need think assure us of bare minimum functionality) this bucket is run every time before the release. In fact the regression testing is the testing in which maximum automation can be done. The reason being the same set of test cases will be run on different builds multiple times. But again the extent of automation depends on whether the test cases will remain applicable over the time, In case the automated test cases do not remain applicable for some amount of time then test engineers will end up in wasting time to automate and don’t get enough out of automation.
Posted on: Thu, 15 Aug 2013 17:26:06 +0000

Trending Topics



Recently Viewed Topics




© 2015