Static and Dynamic Testing

Static Testing

Static testing is a type of softwear testing that is performed without executing the software code. In static testing , the software code and related documents are reviewed manually or with the help of toolsto identify defects , errors and other issues. Static testing is usually conducted during the early stages  of the software development lifecycle and is an essential part of software quality assurance.

There are three main components of static Testing :

  • Review ; A review is a type of static testing which is the software code or related documents are examined by a team of experts to identify defects and other issues. reviews can be conducted manually or with the help of tools, and they typically involve a group of individuals with different roles and perspectives.  
  • Walkthrough ; A walkthrough is a type of review that involves a step -by - step examination of the software code or related document . The walkthrough is typically led by a moderator who guides the team through the code or document and encourages discussion and collaboration among team members .
  • Inspection ; An Inspection is a type of review that involves a detailed examination of the software code or related documents to identify defects and other issues. Inspection are typically more formal and structured than walkthroughs and involve a team of experts who follow a predefined process and checklists

The main Benifits or static testing Include 

  • Early defect Indentification : Static testing allows defects to be identified early in the software development lifecycle , which can reduce the cost and effort required to fix them.
  • Improved software Quality : Static testing can help improve the overall quality of the software by identifying defects and other issues before they can impact the end - users.
  • Knowledge Sharing : Static testing can facilitate knowledge sharing and collaboration among team members by encouraging discussion and feedback.
  • Reduced Testing Time : Static testing can help reduce the time required for testing by identifying defects and other issues before the software is executed.

Dynamic Testing

Dynamic testing is a type of software testing that involves executing the software code to identify defects , errors , and other issues . Unlike static testing which is performed without executing the software code , dynamic testing involves running the software code under different conditions to evaluate its performance and functionality. 

There are two main sub - parts of dynamic testing 

Black box testing : Black box testing is a type of dynamic testing that focuses on testing the functionality of the software without knowing its internal structure or implementation. In black box testing , the software is treated as a black box , and the testing is conduced based on the input and output values of the software . 

Black box Testing can be Further divided into several categories , Including :

    1.  Functional Testing : This type of testing focuses on testing the functionality of the software and ensuring that it meets the specified requirements .
    2. Non - functional Testing : This type of testing focuses on testing the non - functional aspects of the software , such as performance, security , usability and compatibility .
    3. Regression Testing : This type of testing is conducted after making changes to the software to ensure that the existing functionality is not impacted .




White Box Testing : is a type of dynamic testing that focuses on testing the internal structure and implementation of the software. In white box testing , the tester has access to the source code and uses various testing techniques, such as code coverage analysis and path testing , to identify defects and other issues. 

White box testing can be further divided in to several categories, Including :
  1. unit testing : This type of testing focuses on testing individual units or modules of the software code to ensure that they function correctly.
  2. Integration Testing : This type of testing focuses on testing the integration between different modules or components of the software . 
  3. system testing : This type of testing focuses on testing the overall functionality and performance of the software system .

The main Benifits of dynamic testing Include 

  • Identification of defects and other issues : Dynamic testing allows defects and other issues to be identified by running the software code under different conditions. 
  • Verification of Functionality : Dynamic testing can help verify the functionality of the software and ensure that it meets the specified requirements.
  • Improved software Quality : Dynamic testing can help improve the overall quality of the software by identifying defects and other issues that can impact the end users. overall , dynamic testing is an essential part of software quality assurance, and its sub- parts, black box testing and white box testing , play a crucial role in ensuring that software applications are reliable, efficient and user - friendly.

Comments

Popular Posts