Difference Between Review And Inspection In Software Testing

What is Static Testing? Static Testing is defined as a software testing technique by which we can check the defects in software without actually executing it. Its counter-part is Dynamic Testing which checks an application when the code is run. Refer to this tutorial for a detailed difference between static and dynamic testing. Inspections and reviews are basically the same, i.e. You have a meeting where people give their remarks of the code that they have gathered when they were reading it through (before the meeting). You can compare this to a review of any kind of document.

What is Static Testing?

Static Testing is defined as a software testing technique by which we can check the defects in software without actually executing it. Its counter-part is Dynamic Testing which checks an application when the code is run. Refer to this tutorial for a detailed difference between static and dynamic testing.

Static testing is done to avoid errors at an early stage of development as it is easier to find sources of failures then failures themselves.

Static testing helps to find errors that may not be found by Dynamic Testing.

Difference

The two main types of static testing techniques are

  • Manual examinations: Manual examinations include analysis of code done manually, also known as REVIEWS.
  • Automated analysis using tools: Automated analysis are basically static analysis which is done using tools.

In this tutorial, you will learn-

What is Testing Review?

A review in a Static Testing is a process or meeting conducted to find the potential defects in the design of any program. Another significance of review is that all the team members get to know about the progress of the project and sometimes the diversity of thoughts may result in excellent suggestions. Documents are directly examined by people and discrepancies are sorted out.

Reviews can further be classified into four parts:

  • Informal reviews
  • Walkthroughs
  • Technical review
  • Inspections
Inspection

During the Review process four types of participants that take part in testing are:

  • Moderator: Performs entry check, follow up on rework, coaching team member, schedule the meeting.
  • Author: Takes responsibility for fixing the defect found and improves the quality of the document
  • Scribe: It does the logging of the defect during a review and attends the review meeting
  • Reviewer: Check material for defects and inspects
  • Manager: Decide on the execution of reviews and ensures the review process objectives are met.

Types of defects which can be easier to find during static testing are:

  • Deviations from standards
  • Non-maintainable code
  • Design defects
  • Missing requirements
  • Inconsistent interface specifications

Usually, the defect discovered during static testing are due to security vulnerabilities, undeclared variables, boundary violations, syntax violations, inconsistent interface, etc.

Why Static Testing?

Static testing is performed due to the following reasons

  • Early defect detection and correction
  • Reduced development timescales
  • Reduced testing cost and time
  • For improvement of development productivity
  • To get fewer defect at a later stage of testing

What is Tested in Static Testing

Difference Between Review And Inspection In Software Testing

In Static Testing, following things are tested

  • Unit Test Cases
  • Business Requirements Document (BRD)
  • Use Cases
  • System/Functional Requirements
  • Prototype
  • Prototype Specification Document
  • DB Fields Dictionary Spreadsheet
  • Test Data
  • Traceability Matrix Document
  • User Manual/Training Guides/Documentation
  • Test Plan Strategy Document/Test Cases
  • Automation/Performance Test Scripts

How Static Testing is Performed

To perform Static Testing, it is done in the following ways,

  • Carry out the inspection process to completely inspect the design of the application
  • Use a checklist for each document under review to ensure all reviews are covered completely

The various activities for performing Static Testing are:

  1. Use Cases Requirements Validation: It validates that all the end-user actions are identified, as well as any input and output associated with them. The more detailed and thorough the use cases are, the more accurate and comprehensive the test cases can be.
  2. Functional Requirements Validation: It ensures that the Functional Requirements identify all necessary elements. It also looks at the database functionality, interface listings, and hardware, software, and network requirements.
  3. Architecture Review: All business level process like server locations, network diagrams, protocol definitions, load balancing, database accessibility, test equipment, etc.
  4. Prototype/Screen Mockup Validation: This stage includes validation of requirements and use cases.
  5. Field Dictionary Validation: Every field in the UI is defined well enough to create field level validation test cases. Fields are check for min/max length, list values, error messages, etc.

Static Testing Techniques

  • Informal Reviews
  • Walkthroughs
  • Technical Reviews
  • Inspections
  • Static Analysis
    • Data Flow
    • Control Flow

Tools used for Static Testing

Various tools used for Static Testing are as follow,

Tips for Successful Static Testing Process

Some useful tips to perform a static testing process in Software Engineering.

  • Focus only on things that really count
  • Explicitly plan and track review activities. A software walkthrough and inspection are generally composite into peer's reviews
  • Train participants with Examples
  • Resolve people issues
  • Keep process formal as the project culture
  • Continuous Improvement – Process and Tools
  • By removing the major delays in test execution, testing cost and time can be reduced

Summary:

  • Static testing is to find defects as early as possible.
  • Static testing not a substitute for dynamic testing, both find a different type of defects
  • Reviews are an effective technique for Static Testing
  • Reviews not only help to find defects but also understand missing requirements, design defects, non-maintainable code,

Answers were Sorted based on User's Feedback

Difference Between Inspection And Walkthrough


What is the difference between Testing and Code review?..

Answer / karunakar reddy

Testing is a process of finding the bugs in an application
& giving a quality product to the client.
Code Review means its a review done by the developer before
doing Integration Testing.


What is the difference between Testing and Code review?..

Answer / sarath

REVIEW:
Through reviews we ensure that we are building the Product the right way using the right checklists, guidelines etc.
TESTING:
Through Testing, we ensure that we have built a product that meets customer requirements by testing the product against the test cases.

Difference Between Review And Inspection In Software Testing Center


Software Testing And Inspection

What is the difference between Testing and Code review?..

Answer / lehlohonolo

Testing means checking the code against predefined test cases for quality to ensure that the code meets the requirements.
Review is assessing the program to see if it does what it suppose to do and further amendments if required.



What is the difference between Testing and Code review?..

Answer / nagasudheer dandamudi

testing is the process of checking wheather the program
runs according to our requirements or not.
review means checking whaether we followed particular
standards or not in the program.