Tuesday, December 20, 2011

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.

Sample Test case - UI component


Test case Examples
Scenario: Text box accepts 60 chars with alphanumerics only.


Test Cases should be atomic in nature and should cover even small possibility for any scenario.
Positive:
1. Verify text box accepts chars <60
2. Verify text box accepts chars = 60
3. Verify text box accepts 59 chars(BVA validation)
4. Verify text box accepts numerics
5. Verify text box accepts alphabets
6. Verify text box accepts mixture of alphabets and numerics
7. Verify text box accepts Upper case letters
8. Verify text box accepts lower case letters
9. Verify text box accepts mixture of  Upper case & Lower case letters
10. Verify text box accepts the mixture of Uppercase letters and numerics.
11. Verify text box accepts the mixture of Lowercase letters and numerics.
12. Verify text box accepts the mixture of Lowercase letters, Uppercase and numerics.

Negative test cases:


1. Verify text box do not accept Special chars
2.  Verify text box do not accept spaces
3. Verify text bx do not accept Tab spaces


Note: There may be more possibilities for the above scenario