Software Testing Definition, Types , Level and approach

 Software Testing Types, Levels and Approach 

What is Software Testing?
software testing is a process that aims not only at finding faults in the existing software but also at finding measures to improve the software in terms of efficiency, accuracy and usability. software testing process also helps to find the defects, gaps or missing requirements contrary to the actual requirements. software testing can be done Manual 0r Automation tool.
The main objective of software testing is to identify the defect in an application or software and improve the quality of the software.

Definition: "Software testing is defined as the process of validating and verifying that a software is defect-free, meets the customer requirement or not ".

Types of Software Testing 
Software testing divided into two part 
  • Manual Testing 
  • Automation Testing 
Manual Testing 
Manual testing is a type of software testing where test engineers test the application manually without using any kind of automation tool. In manual testing, testers execute all the test cases manually.

Automation Testing 
Automation testing is also a type of software testing where test engineers test the application by using automation tools.

Software Testing Method 
There are two types of software testing methods. 
  • Static Testing 
  • Dynamic Testing
Static Testing
Static testing is defined as, finding the bug without executing the source code is known as the static testing. Static testing is also called as verification.
Static testing is a process in which it manually checks the code, CRS document (customer requirement Specification document ), and design document to find the bugs.
The main of doing static testing is to improve the quality of the application by finding the bugs in the early stage of software development.

Static Testing Technique
In software testing, there are 4 types of techniques available which are listed below.
  • Informal review
  • Technical review
  • Walkthrough
  • Inspection
  • Code review
Dynamic Testing
Dynamic testing is defined as the ' Process of finding the bug by executing the code, In dynamic testing we check the functional behaviour of software. Dynamic testing is also known as validation.
The main aim of doing the dynamic testing is to confirm whether the behavior of the application meets to customer's requirements or not.

Software Testing Approach
  • White box testing 
  • Black box testing 
  • Gray box testing 
Level of software testing
There are four levels in software testing which are listed below.
  • Unit testing 
  • Integration testing 
  • System testing 
  • Acceptance testing 
Unit Testing 
Unit Testing is a type of software testing in which we test the individual unit of software application.
unit testing is a level of software testing where the development team test each and every line of code by directly looking into the source code during the development of the application. the main of doing the unit testing is to validate that each unit of the software application performs as designed, here unit means the smallest testable part of the application it can be (individual function, method, module, object or procedure ).

 Integration Testing 

Integration testing is a type of testing in which we test the data flow between two modules. integration testing is a level of testing where single units are combined and tested as a group. The main aim of integration testing is to find the defect when modules are integrated into each other and tested as a group. once all the modules have been unit tested then the integration testing comes into the picture.

System Testing 

System testing is an end-to-end testing process that validates the complete and fully integrated software product. system testing is a level of testing where the testing environment is similar to the production environment. The purpose of system testing is to evaluate the end-to-end system specification. End-to-end testing means navigating through all the features of the application and checking whether the end features are working or not.

 Acceptance Testing 
Acceptance testing is a type of software testing that checks whether the developed product meets the customer's requirement or not. the main objective of doing acceptance testing is to evaluate the compliance of the system with the business requirements and assess whether it is acceptable or not.

Types of Black Box Testing 

Functional Testing 
FUNCTIONAL TESTING is a type of software testing in which we test the feature /Functionality of the system /software against the requirement /specification. The main of Functional Testing is to test each and every function of the application by entering the appropriate inputs and verifying the actual result against the requirement.
"Functional Testing is a type of black box testing in which tester the verify the function of application by providing the appropriate inputs."

Functional Testing is mainly black box testing and it does not care about the internal source code of the application.

Non Functional Testing  
Non-functional testing is a type of software testing in which we check the non-functional (performance, usability, reliability ) requirements of the application /software . In non-functional testing, we test all the aspects that we are not tested during the functional testing.

N0n-Functional testing is a software testing technique that checks the non-functional attribute of the application (memory leak, usability, performance,robustness of the system. Non-functional testing is a type of black box testing.

Types Of Non-functional Testing 
There are many aspects of non-function testing in software testing some of which are listed below 
  • Performance Testing
  • Load Testing
  • Failover Testing
  • Compatibility Testing
  • Usability Testing
  • Stress Testing
  • Maintainability Testing
  • Scalability Testing
  • Volume Testing
  • Security Testing
  • Disaster Recovery Testing
  • Compliance Testing
  • Portability Testing
  • Efficiency Testing
  • Reliability Testing
  • Baseline Testing
  • Endurance Testing
  • Documentation Testing
  • Recovery Testing
  • Internationalization Testing
  • Localization Testing
Hope !!! The above tutorial on software testing introduction is helpful For you...
QA acharya

what is Software Testing? 

Post a Comment


  1. Hey I am doing software testing trainings good to see this blog, It is helpful for me. Thanks for writing this blog.

  2. Mysuru Casino - The HERZAMMAN
    Mysuru Casino - apr casino The Home of the Best of 바카라 the kadangpintar Slots! Visit us to Play the best septcasino slots and enjoy the best table games in 출장샵 our casino. Visit us