Sunday, June 16, 2019

Types of Software Testing

As, we know the software testing is the process of finding bugs in the software and it is not a single activity. It is a collection of various activities. So therefore there is a need to identify the different types of testing. Software testing types is the categorization of software testing activities and each activity has its own strategy, objectives and deliverables. 



Below is the list of common types testings :
Functional Testing : 





  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
  • Sanity testing
  • Smoke testing
  • Interface testing
  • Regression testing
  • Beta/Alpha testing        

  •  Non Functional Testing: 

    • Performance Testing
    • Load testing
    • Stress testing
    • Volume testing
    • Security testing
    • Compatibility testing
    • Recovery testing
    • Usability testing
    • Compliance testing  

    Detailed descriptions of each testing type mentioned above

    1) Unit Testing: It comes under whites box testing technique and usually performed by the developer. In this testing type individual units/components of the software are tested. The objective of the unit testing is to check the section of a code to verify its correctness. It is the very first level o software of testing.


    2) Integration Testing: It is the second level of software testing. Under this testing individual units/components are combined to form a system or subsystem and then tested . The objective of this testing is to find the bugs in the interaction between the integrated units.

    3) System Testing: System testing is done on fully integrated system in order to validate if the system is meeting the specified system requirement or not. It is done by the testing team under the required testing environment.

    4) Acceptance Testing: Acceptance Testing is the last level of software testing under this the complete system is tested for acceptability by the client or end user. The objective of this testing is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery or not.


    5) Sanity Testing: Sanity testing is deep and narrow in its approach. It is done in order to test if the build is stable and testable or not.  The aim is to check that the proposed functionality works roughly as expected. If sanity testing fails then the build gets rejected to save the time and costs involved in a more rigorous testing.

    6) Smoke Testing:  Smoke testing is wide and shallow in its approach. It is also done to check the stability and testability of the software.  It is performed "before" any functional or regression tests are executed on the software. The aim is to reject a badly broken software so that the testing team does not waste time installing and testing the software.

    7) Interface Testing: Every software has various components that is server, database etc. The connection which integrates and facilitates the link between these components is termed as an Interface. the objective of this testing is to verifies that the communication between the systems are done correctly or not.

    8)  Regression Testing: Regression testing is done to find unexpected side effect on the existing functionality of the changes in the code. New changes can be an addition of  new functionality or changes due to the fixing of the previously reported bug.

    9) Alpha Testing: It is a user acceptance testing that is it is done to evaluate the system’s compliance with the business requirements at the developers side.

    10) Beta Testing:It is a user acceptance testing that is it is done to evaluate the system’s compliance with the business requirements at the clients site or at end users site.

    11) Performance Testing: It is done to test the performance of the software under its operational workload. 
    a) Speed:It is performed to test the request to response time.
    b) Scalability : to know the maximum load a software can handle.
    c)Stability: to know how software behaves under varying load.

    12)Load Testing: It is a kind of performance testing under this software is tested to check the speed of the request to response time to know how the software will respond when multiple users uses the software simultaneously.

    13) Stress Testing:  Testing technique which evaluates a system or component at or beyond the limits of its specified requirements.

    14) Volume Testing: This testing is done to know the  behavior of the software under varied volume of the data handled by the software.

    15) Security Testing: The objective of security testing is to identify the threats,security risk and loopholes in the software and to measure its potential vulnerabilities, so the software does not stop functioning or is exploited by the hackers. It also helps in detecting the security risks in the software so that the developers can fix the security issues.


    16)Compatibility Testing: It is performed to check if the software is compatible with the hardware,operating system, and with different browsers or not.

    17) Recovery Testing: Recovery Testing is performed to check how well a software product can recover from crash, hardware failures.

    18)Usability Testing: It is performed to test "How user friendly" a software product is. It mainly focuses on end users if the software is easy to use and can operate the software easily.

    19)Compliance Testing: Compliance testing  checks if the software has developed in accordance with standards, procedures and guidelines.



    Share:

    0 comments:

    Post a Comment

    Email Subscription

    Enter your email address:

    Delivered by FeedBurner

    Follow my blog

    Total Pageviews

    Contact Form

    Name

    Email *

    Message *

    Translate