Static Testing Flashcards
What is static testing?
In static testing the software under test does not need to be executed.
What are some static testing test objectives?
Improving quality
detecting defects
Assessing characteristics like readability, completeness, correctness, testability, and consistency.
What products are examinable by static testing?
Requirement specification documents
Source code
Test plans
Test cases
Product backlog items
Test charters
Project documentation
Contracts
Models
What products are not appropriate for static testing?
Those that are difficult to interpret by human beings and that should not be analyzed by tools (ex, 3rd party executable code due to legal reasons)
Why is static testing valuable?
It can detect defects in the earliest phases of the SDLC
It can identify defects that cannot be detected by dynamic testing (ex unreachable code, design patterns not implemented as desired, defects in non-executable work products)
How is static testing valuable for stakeholders?
By verifying the documented requirements early in the in the SDLC
Because of the early testing, involved stakeholders have a shared understanding
Communication is improved between the stakeholders
Why are overall project costs lower with static testing even though reviews may be costly?
Less time and effort needs to be spent on fixing defects later in the project.
Code defects can be detected using static analysis more efficiently than in dynamic testing (usually resulting in both fewer code defects and lower overall development effort)
How are static and dynamic testing similar?
They both support the detection of defects in the products.
How are static and dynamic testing different?
Some defects can only be found by each type of testing.
Static testing finds defects directly, while dynamic testing causes failures from which the associated defects are determined through subsequent analysis
Static testing may more easily detect defects through the code that are rarely executed or reach using dynamic testing
Static testing can be applied to non-executable code, dynamic testing can only be applied to executable products
Static testing can be used to measure quality characteristics not dependent on executing code (maintainability) where dynamic testing measures quality characteristics that are dependent on executing code (performance efficiency)
What are some typical defects found through static testing?
Defects in requirements (inconsistencies, ambiguities, contradictions, omissions, inaccuracies, duplications)
Design defects (inefficient database structures, poor modularization)
Coding defects (variables with undefined values, undeclared variables, unreachable or duplicated code, excessive code complexity)
Deviations from standards (lack of adherence to naming conventions in coding standards)
Incorrect interface specifications (mismatched number, type or order of parameters)
Some security vulnerabilities (buffer overflows)
Gaps/inaccuracies in test basis coverage (missing tests for an acceptance criterion)
What are the benefits of early and frequent stakeholder feedback?
It allows for the early communication of potential quality problems.
Little stakeholder involvement means product might not meet the original or current vision.
Failing to deliver what stakeholder wants could result in costly rework, missed deadlines, blame games, or complete project failure.
Frequent stakeholder feedback can prevent misunderstandings about requirements and ensure that changes to requirements are understood and implemented earlier, helping dev team to improve their understanding of what they are building.
Allows devs to focus on features that deliver the most value to the stakeholders and that have the most positive impact on identified risks.
What are the Review Process Activities?
Planning
Review initiation
Individual review
Communication and analysis
Fixing and reporting
What is involved in the Planning activity of the review process?
The scope of the review is defined. The scope includes:
The purpose
The work product to be reviewed
Quality characteristics to be evaluated
Areas to focus on
Exit criteria
Supporting information such as stands, effort, and the timeframes for the review
What is the goal of the Review initiation activity of the review process?
To make sure that everyone and everything involved is prepared to start the review, including making sure that ever participant has access to the work product under review, understands their role and responsibilities and receives everything needed to perform the review.
Why is an Individual review completed in the review process?
To assess the quality of the work product under review, to identify anomalies, recommendations, and questions by applying one or more review techniques (ex, checklist-based reviewing, scenario-based reviewing).