Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Static Analysis | Static Code Analysis| Static Analysis by Tools
- Static code analysis is performed early in development, before software testing begins.
- Static analysis identifies defects that cannot be found through dynamic techniques
Static analysis identifies dependencies and inconsistencies in code
- Prevents defects, if root cause analysis is performed
Example:
- Referencing a variable with undefined values
- Improper declaration of variables
- Dead or Un-Reachable Code
- Missing logic, etc.
Static Code Analysis Techniques
Static Code Analysis Techniques addresses weaknesses in source code that might lead to vulnerabilities.
There are various techniques to analyse static source codeÂ
- Data Flow Analysis
- Control Flow Graph (CFG)
- Taint Analysis
- Lexical Analysis
Static Analysis by Tools
- Static Analysis can be automated using some tools.
- It used to find defects in Software code without executing the code but the tool itself is executed
- Developers mostly use these tools.
- Helpful in debugging and component testing.
Example:
Code Compiler
Please refer below link for a list of tools for static analysis
https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
Benefits of Static Analysis by Tools
There are several benefits of static analysis tools. Good static analysis tools offer speed, depth, and accuracy.Â
Speed:Â
Developers takes time to do manual code reviews. If developers do code analysis by automated tools ,so it is much faster.
Depth:
You’ll get an in-depth analysis of where there might be potential problems in your code, based on the rules you’ve applied.
Accuracy:
Manual code reviews are prone to human error but automated tools are not.
Advantages of Big Bang Integration Testing:
- Consists of completed and checked modules
- It is extremely suitable for small systems.
- The main advantage is that everything is finished before integration testing starts.
 Disadvantages of Big Bang Integration Testing:
- There is a high chance of missing some critical defects, which might pop up in the production environment.
- It is very difficult to cover all the cases for integration testing
- Causes delay because you would have to wait for all the modules to be integrated.
Recommended Articles:
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority