Static and Dynamic Testing

Static Testing:

This test is manual review of documents to find the errors. The documents include requirements specifications, design specifications, test plans. Static testing is a method to find causes of defects.

Benefits of Static testing:

Helps in early defect detection


Improves development productivity

Opportunity for improvements

Reduces the overall testing time and cost

Reduces defects in the application/sooftware

Helps in detecting omissions if any

Types of Static Testing:

Informal: As the word suggests it does not follow any formal process.

              Technical lead will review the design
              Results should be documented
              The results and benefits of this depends on the reviewer.
              It is an inexpensive way to get results and benefits

Inspection: This is led by a trained moderator
                  It is conducted as a peer examination
                  Consists of defined roles
                  This is a formal process carried depending on rules and checklists
                  Results in inspection report that includes list of findings
                  Formal follow-up process is defined.

Walk through: This is a meeting led by author
                       Peer group participation
                       Open-ended sessions are included
                       Optional scribe(Who is not the author)
                       Main benefits of walkthrough are learning, gaining thoroug understanding and finding defects in early stages.


Dynamic Testing:

This testing involves interaction with the program while it runs. In 

this testing the code is executed.

Code is compiled and run. The testing verifies the outputs with 

different inputs.

Dynamic testing includes 4 testing levels:

1. Unit Testing

2. Integration Testing

3. System Testing

4. User Acceptance Testing

Unit Testing: 
This testing is done by the developers. A unit is the smallest testable part of software. In this testing the individual units/components of a software/application are tested to verify that each unit of the software performs as intended.

Integration Testing: 
This testing is done only after unit testing. The individual units are combined together and then tested to verify that they work fine even when they are put together.

Different types of integration testing are Big Bang, Top-down and Bottom-up.

Big Bang:

In this approach, all or most of the developed modules are coupled together to form a complete software system or major part of the system and then used for integration testing.
The Big Bang method is very effective for saving time in the integration testing process.

Top-Down: 

This is  is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.

Bottom-Up:

This is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.

System Testing:

System testing is the testing of behaviour of a complete and


fully integrated software product 

based on the software requirements specification(SRS) document.

This testing is to be carried out only after system Integration testing is complete where both 

Functional and Non-Functional requirements are verified.


User Acceptance Testing: 

User acceptance testing (UAT) is the last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications. 
UAT is one of the final and critical software project procedures that must occur before newly developed software is rolled out to the market.

No comments:

Post a Comment