Foundation Level 3 Flashcards
Static testing
- the software under test does not need to be executed
- Code, process specification, system architecture specification or other work products are evaluated through manual examination
- with the help of a tool
Static testing objectives
- improving quality
- detecting defects
- assessing characteristics like readability, completeness, correctness, testability and consistency
Work Products Examinable by Static Testing
- Any work product that can be read and understood can be the subject of a review.
- work products need a structure against which they can be checked
Work products that are not appropriate for static testing
are difficult to interpret by human beings and that should not be analyzed by tools (e.g., 3rd party executable code due to legal reasons).
Value of Static Testing
- detect defects in the earliest phases of the SDLC
- identify defects which cannot be detected by dynamic testing (e.g., unreachable code, design patterns not implemented as desired, defects in non-executable work products).
- Communication will also be improved between the involved stakeholders
- Code defects can be detected using static analysis more efficiently than in dynamic testing
Differences between Static Testing and Dynamic Testing
- there are some defect types that can only be found by either static or dynamic 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 that lay on paths through the code that are rarely executed or hard to reach using dynamic testing
- Static testing can be applied to non-executable work products,
- Static testing can be used to measure quality characteristics that are not dependent on executing code
Typical defects that are easier and/or cheaper to find through static testing
- Defects in requirements (e.g., inconsistencies, ambiguities, contradictions, omissions, inaccuracies, duplications)
- Design defects
- Certain types of coding defects
- Deviations from standards
- Incorrect interface specifications
- Specific types of security vulnerabilities
- Gaps or inaccuracies in test basis coverage
Success Factors for Reviews
- Defining clear objectives and measurable exit criteria.
- Choosing the appropriate review type to achieve the given objectives, and to suit the type of work product, the review participants, the project needs and context
- Conducting reviews on small chunks, so that reviewers do not lose concentration during an individual review and/or the review meeting
- Providing feedback from reviews to stakeholders and authors so they can improve the product and their activities
- Providing adequate time to participants to prepare for the review
- Support from management for the review process
- Making reviews part of the organization’s culture, to promote learning and process improvement
- Providing adequate training for all participants so they know how to fulfil their role
- Facilitating meetings
Review types
- Informal review
- Walkthrough
- Technical Review
- Inspection
Selecting the right review type is key to achieving the required review objectives
Informal review
do not follow a defined process and do not require a formal documented output. The main objective is detecting anomalies.
Walkthrough
can serve many objectives, such as evaluating quality and building confidence in the work product, educating reviewers, gaining consensus, generating new ideas, motivating and enabling authors to improve and detecting anomalies
Technical Review
- performed by technically qualified reviewers and led by a moderator
- objectives of a technical review are to gain consensus and make decisions regarding a technical problem, but also to detect anomalies, evaluate quality and build confidence in the work product, generate new ideas, and to motivate and enable authors to improve
Inspection
find the maximum number of anomalies. Other objectives are to evaluate quality, build confidence in the work product, and to motivate and enable authors to improve. Metrics are collected and used to improve the SDLC, including the inspection process.
Roles and Responsibilities in Reviews
- Manager
- Author
- Moderator
- Scribe
- Reviewer
- Review leader
Manager Role
- decides what is to be reviewed
- provides resources, such as staff and time for the review