Showing posts with label Performance Testing FAQ's. Show all posts
Showing posts with label Performance Testing FAQ's. Show all posts

Tuesday, April 2, 2013

What is concurrent users and simultaneous users ?

For example, axis bank application has below transactions
                           1. Login
                           2. Account summary
 ---------------------------Transfer money Action ---------
                           3. Click Transfer funds
                           4. Select "Beneficiary"
                           5. Enter "Amount"
                           6. Transfer
                           7. Enter "User id" and  Password and click "Confirm"
--------------------------------------Transfer Money Action end--------
                           8.Logout

So we have 8 transaction for this application and we have one Action (Transfer Money is one action but in that action you can have 5 transaction).

Concurrency : Performing same activity at a time by all users.Mean 100 users are login into the application at a time. But simultaneous users are login into the application one by one. Concurrency has various levels
          1.Transaction concurrency 
          2.Business Process Concurrency 
          3.Application Concurrency 


Transaction concurrency :
We need to test the application with 100 concurrent users, Means "All users(100 users) should perform the same transaction (login or   Account summary .... or  Logout) at a time" this is called transaction level concurrency.

Business Process Concurrency:

We need to test the application with 100 concurrent users for Transfer money Business action, means  "All users(100 users) should perform the same Transfer money action (here may be 30 users are clicking "transfer funds, 20 users are on selecting "Beneficiary", 20 users are in enter "Amount" page,10 users are in "Transfer" page  and 20 users are Enter "User id" and  Password and click "Confirm" ). 

Overall 100 users should be in transfer money action.


Application Concurrency :
All 100 users should perform different transaction or same transaction but at any time 100 user should be accessing the application.


Simultaneous users: All 100 users are login into the application one by one.



Monday, April 30, 2012

What is 90 percentile

90 percentile is average of 90% of the response times, here arrange the 100 response times from good to bad then eliminate the worst 10% of the response times. Then calculate the average for 90% of the response times.

Example: The response times for an application for 10 users is
2,4,3,8,9,16,6,8,3,10 then arrange them from Good to bad 

2,3,3,4,6,8,8,9,10,16 

Then take the average for 90% of the response times 2,3,3,4,6,8,8,9,10 (eliminate the 16) is 5.88.
Overall (100%) response time is 10.94

Why 90 percentile required:
End users need to satisfy with the application response time / speed. Then users should increase other wise users won't use that application. For satisfaction calculation purpose Performance testers uses the 90 percentile. Means 90% of the users satisfying with that response time, remaining 10% users not satisfying with that response times.

Monday, April 23, 2012

Performance test plan template

Please find the performance test plan template in following link performance-test-plan-Template

Thursday, April 19, 2012

Check list for performance testing scripting

For making script reusable, error free and easy to understand, performance tester need to follow scripting standards. Due to this test can eliminate the scripting errors 

Performance Test Plan


For any project performance test plan is very important. In PLANNING phase we can create the performance plan and finalize the plan. Please see the performance plan below 

Tuesday, April 17, 2012

Entry&Exit criteria for performance testing and Entry&Exit criteria for performance execution phase

For any application the Entry criteria and Exit criteria may same.Because if application is not satisfying the performance objectives or goals then performance testing should not complete for any project like this with out (entry criteria) performance goals it is not possible to start the performance testing for any project.
Without performance goals doing performance testing is use less.

Performance testing Entry and Exit criteria:

Entry Criteria: Well defined SLA/Performance Objectives/Performance Goals
Exit Criteria: All performance SLA/Performance Objectives/Performance Goals should be met.


Performance Execution phase Entry and Exit criteria:
Entry Criteria: 1. Build/application should be stable (stable means functionality should be well and good, not functionality bugs should exits)
2.Performance testing environment should be ready
3.Scripts should be ready
Exit Criteria:Performance execution should be finished with out any transaction failures.



Thursday, April 5, 2012

Tell about your self.


1) Tell about your self?
Ans: 
About my Experience:This is Madhu sudhana, have 7 years of experience in Performance Testing and Manual testing,  4.6 years of experience in area of Load runner , 3.2 years of experience in Performance engineering, 2 years of experience in Web server and Application server tuning and 1 year of experience in DB tuning.
About my current Project: I am now working XXX project from 2011 Feb to till. This project need to support 10,000 users and performance oblectives are response time shoulod be < 4 sec, Hits per second should be 18 hits/sec, CPU and memory utilization should be < 80%.

Roles & Responsibilities :
Role is Lead engineer 
Responsibilities are 
  In my company performance testing approach is as follows 
   Step 1: We will send the project proposal to client once client satisfied we will get the project (in this phase my manager and lead involves)
Step 2: We will gather the requirements from client, here requirements means total number of users the application needs to support, response times, Hits per second, CPU utilization and Memory utilization.
If client does not provided this we can go with industry standards like Response time should be < 6 sec and CPU and Memory utilization should be < 80%.
Step 3: Identify the Business transactions (Gmail business transactions are login, inbox, compose mail, log out these are all transactions)  and
  Work load Models (How user doing navigation in that Gmail, Ex:  Login (1 time)-->Inbox (8 times, means in average every users check 8 mails so insert the loop/iterations here instead of creating script for 8 times mail checking)-->Compose mail (5 times)--> logout (1 time)).
Identifying business transactions are 3 ways:
 1.Client will give business transactions and work load models , if not below 2 ways need to follow
 2. If the Application is in Production --> Identifying  business transactions and work load models from logs: How?
      In my project we are using Apache Http server as web server, we are taking 6 months access_logs from apache and Parsing the logs using 123logAnalyser and DeepLogAnalyser. From that we are taking most used transactions and Work load models.
3.If the Application is in not in Production -->For  Identifying  business transactions and work load models we are using 2 Techniques
    a. Heavy throughput : Transaction which are handling more data(like searching , opening email)/transaction which are getting more data from the server and displaying them in browser.
    b. Machine Critical techniques: Tracsction which are critical to the application (like Deposit, Withdraw,Composing mail, Pay bills......)

Step4: Creating the script for identified transactions (identified transactions in step 3) and Creating the scenarios(see the scenarios in following linkhttp://madhuanilreddy.blogspot.in/2012/02/high-level-business-scenarios-for.html )for identified workload models.
Step5: Execution the performance testing  scenarios (See the execution process in following link  http://madhuanilreddy.blogspot.in/2012/02/performance-testing-approach.html)

Step 6: Send the results to the manager and lead