In this short series, I outline the notes that I took while preparing for this foundation exam.
While the content may not have changed drastically in the time that I took the exam, there may have been small changes or additions that my notes don’t cover. So I would advise you that if you do use my notes to help you revise for the Foundation exam, that you use them as a supplement to the most recent edition of the book (this is an affiliate link) and go over your knowledge with practice exam papers.
Previous notes within this blog series:
- ISTQB Foundation Level Notes: Chapter 1 – The Fundamentals of Testing
- ISTQB Foundation Level Notes: Chapter 2 – Lifecycles
Definition
Static Testing are techniques that test software without executing the code.
Two parts: Review of documents and static analysis.
Reviews and the Test Process
Reviews are a systematic examination of a document by one or more people with the aim of finding and removing errors.
Used to test anything written or typed.
Activities of a formal review
People involved in a review:
Manager decides what is to be reviewed
Moderator leads the review of the document
Author writer of the document
Reviewers individuals with a specific technical or business background to aid funding defects
Scribe attends the meeting and documents the defects and issues
Types of review
Informal Walkthrough Technical Review Inspection
Static Analysis By Tools
Can find defects that are hard to find during test execution by analysing the program code.
Value of static analysis:
- Early detection of defects prior to test execution
- Early warning about suspicious aspects of the code or design
- Identification of defects not easily found by dynamic testing
- Improved maintainability of the code and design
- Prevention of defects
Defects discovered:
- References variable with an undefined value
- Inconsistent interface between modules and components
- Variables that are never used
- Unreachable (dead) code
- Programming standards violations
- Security vulnerabilities
- Syntax violations of code and software models
Greatest value when used during component and integration testing.