- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is Static Testing & Testing Review?
What is Static Testing?
Static testing is a software testing methodology used to look for faults in software applications without running the program. Static testing is used to prevent problems at an early stage of development since it is easier to notice and correct faults at this point. It also aids in the detection of faults that Dynamic Testing may miss.
Dynamic Testing, on the other hand, examines an application while the code is executed.
Static testing methodologies are classified into two groups −
Manual examinations − Manual examinations contain manual code analysis, often called REVIEWS.
Automated analysis using tools − Automated analysis is essentially static analysis performed using tools.
You will learn the following in this article −
What is Static Testing?
What is Testing Review?
Why Static Testing?
What is Tested in Static Testing
How Static Testing is Performed
Static Testing Techniques
Tools used for Static Testing
Tips for Successful Static Testing Process
What is Testing Review?
A Static Testing review is a procedure or meeting that is held to identify any flaws in the design of any software. Another benefit of reviewing is that all team members are kept up to date on the project's development, and occasionally the diversity of ideas results in fantastic proposals. Documents are checked in person by individuals, and any inconsistencies are resolved.
Reviews are further subdivided into four categories −
Informal reviews
Walkthroughs
Technical review
Inspections
During the review process, there are four sorts of people who participate in testing −
Moderator − Checks entries, follow up on rework, coaches team members, and schedules meetings.
Author − Accepts accountability for repairing the issue discovered and improving the document's value.
Scribe − It logs defects during an assessment and monitors the review meeting.
Reviewer − Investigates and checks the content for flaws.
Manager − Decides on assessment implementation and guarantees review process objectives are accomplished.
The following types of faults may be simpler to detect during static testing −
Deviations from standards
Non-maintainable code
Design defects
Missing requirements
Inconsistent interface specifications
Typically, defects detected during static testing are the result of security flaws, undeclared variables, boundary breaches, syntax infringements, inconsistent interfaces, and so on.
Why Static Testing?
Static testing is done for the reasons listed −
Quick discovery and rectification of flaws
Timelines for development have been shortened.
Time and cost savings on testing
To increase development productivity
In order to have fewer complications at a later level of testing
What is Tested in Static Testing?
The following items are evaluated during static testing −
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?
Static testing is conducted in the following ways −
Conduct the inspection procedure to thoroughly check the application's layout.
Use a checklist for each document undergoing testing to ensure that all assessments are thoroughly addressed.
The following are the numerous actions for doing Static Testing −
Use Case Requirements Validation − It ensures that all consumer activities, as well as any input and output linked with them, have been detected. The more extensive and complete the use cases, the more accurate and complete the testing process may be.
Functional Requirements Validation − This verifies that the Functional Requirements cover all relevant aspects. It also examines database functionality, interface listings, as well as hardware, software, and network requirements.
Architecture Review − All business functions, such as server locations, network diagrams, protocol specifications, load balancing, database access, test equipment, and so on.
Prototype/Screen Mockup Validation − Verification of objectives and use cases is part of this step.
Field Dictionary Validation − Every field in the UI is specified sufficiently to allow for the creation of field-level validation test cases. Fields are checked for minimum and maximum lengths, list values, error messages, and so on.
Static Testing Techniques
Informal Reviews
Walkthroughs
Technical Reviews
Inspections
Static Analysis
Data Flow
Control Flow
Tools used for Static Testing
The following are some of the tools used for Static Testing −
Checkstyle
Soot
SourceMeter
Tips for Successful Static Testing Process
Some helpful hints for performing static testing in software engineering.
Concentrate solely on what is truly important.
Plan and monitor review activities properly. In most cases, a software overview and assessment are combined into peer reviews.
Exemplification is used to train people.
Solve human problems
Maintain procedure formality as part of the project culture.
Method and Tools for Continuous Improvement
Testing costs and time can be minimized by eliminating substantial delays in the testing process.
Summary
The goal of static testing is to detect flaws as quickly as feasible.
Static testing is not really a replacement for dynamic testing; both detect various types of faults.
Reviews are a useful Static Testing approach.
Reviews not only aid in the detection of problems, but also in the understanding of missing requirements, design flaws, and unmaintainable code.