Types of Software Testing

In testing we have two types of testing’s. One is Functional testing and second one is Non-Functional testing    

  Unit Testing:    
                     It is a type of Functional Testing. In Unit Testing we will verify smallest part of the code against the (Software Requirement Specification Document) SRS. Usually Developers sometimes White box testers will do Unit Testing.
  Integration Testing:            
                     In Integration Testing we are testing the combined part of Application. In Integration Testing we will combine more than two Modules. Main purpose of Integration Testing is to identify the problems, when two individual units are combined. Integration testing is done after unit testing.

There are three different types of integration testing approach in software testing.

1) Top-down Approach
2) Bottom-up Approach
3) Big Bang

1. Top down: In this Approach top integrated modules are tested first and its sub modules will be test from top to down.

2. Bottom-up Approach: In this Approach all sub modules are tested first and its and its main modules will be test from Bottom to top.

3. Big Bang: In Integration testing Big Bang approach is used to find the bugs when all the developed modules are interacted with each other. For doing Big Bang Approach we want to create a complete software system then its produced result satisfying with original requirement.
   
  System Testing:
                    The main purpose of system testing is to validate the applications accuracy. In other words we are testing the behaviour of the whole Software/System as defined in Software Requirements Specification Document (SRS) is known as System Testing. And also we will verify that the customer requirements are fulfilled or not.  

  Alpha Testing:
                    Testing an Application when major a development is completed, minor design changes may still be made as a result of such testing. Alpha Testing is done by end users or other teams
  Beta Testing:
                    This is the final testing phase where Companies release the Software/Product. Before releasing to the end user Companies will do testing with third party in customer’s environment. Based on the results Companies will release the Application/Product.
 
  Ad- hoc testing:
                   Ad- hoc testing is done without any formal Test Plan or Test Cases. In Ad-hoc Testing testers randomly test the application without any test cases or any Business Requirement Specification Document.
  Smoke Testing: 
                   Before accepting for testing the Application / Product, testing team will test core functionality of that Application/Product .If that Application/Product is working fine then testing team will accept for further testing otherwise testing team reject that build.

  Sanity Testing: 
                  Before Releasing to the end user, testing team will test major functionality of that Application or Product .If that Application/Product is working fine then testing team will accept to release that build otherwise testing team will not accept to release the build.


  Re-Testing: 
                  Once Development team fix the defect, then testing team will do Re-test that Application. Based up on the output testing team will be Re-open or close the Defect.  If the application is working as user requirement then we close the defect, otherwise we will Re-open the defect.

  Regression Testing: 
      
                    Whenever new functionality has implemented in the Application/Product testing team will do Regression testing. We have to ensure existing functionality and new functionality is working fine.

  Compatibility testing: 
                   It is a type of Non-Functional Testing. In Compatibility testing we are testing the Software/Application in different types of Hardware’s, Operating Systems, Mobiles, and Networks.
Example: Our Company developed one Gaming Application; we need to check that Gaming Application is working in different types of Hardware’s, Operating Systems, Mobiles, Browsers and Networks. We released that Application without Compatibility testing then sometimes the Application will be worked some brewers or some operating systems.

        Mainly we will do compatibility testing for these devices 


Operating Systems: Here we will check Application/Product is working all types of Operating System or not. Like Windows, Linux, Macintosh.

Browsers: Here we will check Application/Product is working all types of Browsers or not. Like Internet Explorer, Opera, Google Chrome, Firefox.

Hardware’s: Here we will check computer configurations. Like Processor, Ram, Hard disk.

  Exploratory testing:
      In exploratory testing we are testing an application without any formal test cases. By seeing Name itself we can understand, what is Exploratory Testing? In Exploratory Testing we have to find about the software, what it does and what it doesn’t do. While using this technique we should have knowledge on the Application /Product then only we can observe how the Application /Product are working, otherwise we can’t find issues. During testing tester learn behaviour of the Application.

  Load Testing:
                         Testing  of an Application under heavy loads to determine at what point  the system Response time degrades .How many users do the simultaneously .To test the performance of an  Application by gradually increasing the users loads.
  Stress Testing:
                      It is a non-functional type of testing. In Stress Testing we are testing the behaviour of the Application an input of large numerical values and complex queries to a database. It’s going beyond the normal condition.
 Soak Testing:  
                Testing the behaviour of an Application by running the System Continuously for number of hours or days. The typical system s where soak testing is involves data ware housing system which consists of terabyte data.
  White Box Testing:
                   White Box Testing: White Box testing is also known as “Glass box testing or Structural Testing” .In White Box testing we want to execute Code for finding the defect. If tester wants to do White Box Testing, the tester should have knowledge on Coding. In White box testing we need to do detailed investigation of internal logic and structure of the code. In order to perform white box testing on an application, the tester needs to possess knowledge of the internal working of the code.
  Black Box Testing:
                   In Black Box Testing we don’t want to execute the code for finding the defect.  It is also known as Behavioural Testing. Black Box testing method is applicable to all levels of the software testing process like.

 In Black Box testing we will use some techniques to find the defects
         
a.       Boundary Value Analysis Technique (BVT) 
b.       Equal Class Partitioning 
c.       State Transition Technique
            





No comments:

Post a Comment