Tuesday, December 20, 2011

Load Testing - Software Testing


What is Load testing? Is load testing and performance testing same?
These are questions may arise for some who are new to testing ,
i have described below about Load testing.

What ever may be the domain and what ever may be the project
but the customers expect the quality and at the same time the
speediness and response time on navigation's , clicks , loading of a page or images etc.

After release of a product many people will be accessing it at a time.
Hence the capacity of a product is also a important constraint.
So, to determine the capacity of the application  in terms of number of users
use the application at the same time.

Load testing:
Load testing belongs to a type of system testing. It is a type of system testing
which involves in series of sequential load is applied on an application to verify
and determine the bearing capacity of an application.

The load testing is again divided in to types as follows:

Initial Load: 
Initial load is the load at which the load testing can be initiated on an application.
This involves in just invoking browser and opening the application.
Constant incremental Load:
Constant incremental load is a process of adding load to the previous load
consistently every time load testing is performed.
In other words increasing the initial load in step by step process while testing an application.

Target Load :
This is the load that must be supported for the application with out failure.
( Always the development should be done considering this load as minimal load for any product)


Critical load :
Critical load is the load more than the target load applied for the application
where and when it starts degrading. Saying in other words this is the maximum
load at which the application works as expected

Load testing is nothing but increasing the number of users.

Performance & Stress Testing


Performance testing is a part of performance Engineering. Performance Engineering classified in to following types :
 -- Load Testing
-- Performance Testing
-- Stress Testing

Above 3 types of testing are far different from each other.
They are applied on any application to test the capacity,
capability and response time of the application

Load Testing >> Capacity
Performance Testing>> Response
Time Stress testing >>Capability

 What is performance testing?

 Performance Testing is a type of system testing
  where a set of full fledged transaction i.e; End-End transaction) is performed
  on an application to measure the response time of entire transaction.
  W3C standards has defined the certain values for performance testing.

  Depending upon the response time of the application ,
  results should be compared with the W3C standards and ensure
  that the response time of application is good enough to be continued with.

  There is a format for writing the test cases for Performance testing.
  Test case format will be like Transaction time, Expected time etc


Stress Testing:
 Stress testing is defined as performing abnormal actions beyond the
  capacity of the application and also uploading the large volumes of data .

  On performing the above actions application may be hanged in between.
  Application should behave  normally even on applying the abnormal operations.

  The abnormal operation are applied on the application by many users to
  verify that the application is stable  or unstable.

  But, there are some drawbacks with the manual performance testing
  Drawbacks of manual Performance testing:
1. Obviously more man power is required
2. Repeatability of testing might not be possible sometimes
3. While performing the manual operations cooperation and coordination may mismatch.
4. Tracking the results may be difficult sometimes.

Format of test cases for Stress testing should contain the task should be done  ,
observing the application behavior etc.