Tuesday, 18 October 2011

Testing Methods


Testing Methods

5.1 Functionality Testing:
     Objective:
  • Testing the functionality of the application with the help of input and out put
  • Test against system requirements.
  • To confirm all the requirements are covered.
      Approach:
  1. Equivalence Class
  2. Boundary Value Analysis
  3. Error Guessing.
5.2 Usability Testing:
  • To test the Easiness and User-friendliness of the system.
     Approach:
  1. Qualitative & Quantitative
  2. Qualitative Approach:
      Qualitative Approach
§   Each and every function should available from all the pages of the site.
§   User should able to submit each and every request with in 4-5 actions.
§   Confirmation message should be displayed for each and every submit.
      Quantitative Approach:
§   Heuristic Checklist should be prepared with all the general test cases that fall under the classification of checking.
§   This generic test cases should be given to 10 different people and ask to execute the system to mark the pass/fail status.
§   The average of 10 different people should be considered as the final result.
Example: Some people may feel system is more users friendly, if the submit is button on the left side of the screen. At the same time some other may feel its better if the submit button is placed on the right side.

     

Classification of Checking:
  • Clarity of communication.
  • Accessibility
  • Consistency
  • Navigation
  • Design & Maintenance
  • Visual Representation.
5.3 Reliability Testing:
Objective
  • Reliability  is considered as the probability of failure-free operation for a specified time in a specified environment for a given purpose
  • To find Mean Time between failure/time available under specific load pattern. Mean time for recovery.
Approach
  • By performing the continuous hours of operation.
  • More then 85% of the stability is must.
Reliability Testing helps you to confirm:
§  Business logic performs as expected
§  Active buttons are really active
  • Correct menu options are available
  • Reliable hyper links
Note: This should be done by using performance testing tools
5.4 Regression Testing:
  • Objective is to check the new functionalities has incorporated correctly with out failing the existing functionalities.
  • RAD – In case of Rapid Application development Regression Test plays a vital role as the total development happens in bits and pieces.
  • Testing the code problems have been fixed correctly or not.
Approach
§  Manual Testing (By using impact Analysis)
§  Automation tools

5.5 Performance Testing:
§  Primary objective of the performance testing is “to demonstrate the system works functionally as per specifications with in given response time  on a production sized database.
      Objectives
§  Assessing the system capacity for growth.
§  Identifying weak points in the architecture
§  Detect obscure bugs in software
§  Tuning the system
§  Verify resilience & reliability
       Performance Parameters
  • Request-Response Time
  • Transactions per Second
  • Turn Around time
  • Page down load time
  • Through Put

Approach

§  Usage of Automation Tools

Classification of Performance Testing:
§  Load Test
§  Volume Test
§  Stress Test
Load Testing
  • Estimating the design capacity of the system within the resources limit
  • Approach is Load Profile
Volume Testing
  • Is the process of feeding a program with heavy volume of data.
  • Approach is data profile
Stress Testing
  • Estimating the breakdown point of the system beyond the resources limit.
  • Repeatedly working on the same functionality
  • Critical Query Execution (Join Queries) To Emulate peak load.
Load Vs Stress:  
  • With the Simple Scenario (Functional Query), N number of people working on it will not enforce stress on the server. 
  • A complex scenario with even one less number of users will stress the server.
5.6 Scalability Testing:
§  Objective is to find the maximum number of user system can handle.
Classification:
§  Network Scalability
§  Server Scalability
§  Application Scalability
Approach
§  Performance Tools

5.7 Compatibility Testing:

Compatibility testing provides a basic understanding of how a product will perform over a wide range of hardware, software & network configuration and to isolate the specific problems.
      Approach
§  Environment Selection.
¨      Understanding the end users
¨      Importance of selecting both old browser and new browsers
¨      Selection of the Operating System
§  Test Bed Creation
¨      Partition of the hard disk.
¨      Creation of Base Image

5.8 Security Testing:

§  Testing how well the system protects against unauthorized internal or external access.

§  Verify how easily a system is subject to security violations under different conditions and environments

§  During Security testing, password cracking, unauthorized entry into the software, network security are all taken into consideration.

5.8 Installation Testing:

§  Installation testing is performed to ensure that all Install features and options function properly and to verify that all necessary components of the application are installed.

§  The uninstallation of the product also needs to be tested to ensure that all data, executables, and .DLLs are removed.

§  The uninstallation of the application is tested using DOS command line, Add/Remove programs, and manual deletion of files

5.9 Adhoc Testing

§  Testing carried out using no recognized test case design technique.

5.10  Exhaustive Testing

§  Testing the application with all possible combinations of values for program variables.

§   Feasible only for small, simple programs. 

No comments: