Please enable JavaScript.
Coggle requires JavaScript to display documents.
Review Process, static testing - Coggle Diagram
-
static testing
Review Process
-
-
focus of review
-
-
educating participant (tester, newbie)
-
-
-
Review types
-
4 common types
walkthrough
main purpose: find defect, improve sw product,
consider alternative implementation,
evaluate conformance (sự phù hợp)
to standard & specification
-
possible additional purpose: exchange idea about technique or style variation, train of participant, achieve consensus (sự đồng thuận)
-
-
-
-
take the form of scenarios (kịch bản), dry runs, simulation
-
technical review
main purpose: gain consensus, detect potential defect
possible additional purpose: evaluate quality & build confidence in work product, generate new ideas, motivate & enable authors to improve future work product, consider alternative implementation
reviewer should be technical peers of author, technical expert in the same or other discipline (lĩnh vực)
-
-
Review meeting is optional, ideally led by
a trained facilitator (typically not the author) - ng dieu hanh
Scribe is mandatory, ideally not the author
-
informal review (buddy check,
pairing, pair review)
-
possible additional purpose: generate new idea/solution,
quickly solve minor problem
-
-
-
-
-
-
-
inspective (kt)
Main purposes: detect potential defects, evaluate quality,
building confidence in work product,
prevent future similar defects through author learning
&root cause analysis
Reviewers are either peers of the author or experts in other disciplines that are relevant to the work product
Possible further purposes: motivate & enable authors to improve future work products & software development process, achieve consensus
Follows a defined process with formal documented outputs, based on rules and checklists
-
-
-
-
-
Author cannot act as the review leader, reader, or scribe
-
Metrics are collected and used to improve the entire software development process, including the inspection process
apply review
technique
scenarios & dry run: reviewers are provided
with structured guidelines on how to read
through the work product
Perspective-based: (quan diem) take on different stakeholder viewpoints in individual reviewing
(dua tren) & checklist
Checklist-based:
- is a systematic technique
- detect issues based on checklists
- A review checklist consists of a set of
questions based on potential defects,
which may be derived from experience.
-
ad hoc:
- reviewer has a little/no guidance about task
- read work product sequentially, identify & document issue
- this technique highly depend on reviewer skill -> lead duplicate being reported by different reviewers
success factor of review
people-related factor
-
Reviews are conducted on small chunks, so that reviewers do not lose concentration during individual review and/or the review meeting
Adequate training is provided, especially for more formal review types such as inspections
-
Defects found are acknowledged, appreciated, and handled objectively
-
The review is conducted in an atmosphere of trust; the outcome will not be used for the evaluation of the participants
Participants avoid body language and behaviors that might indicate boredom, exasperation, or hostility to other participants (buc tuc, thu dich)
-
Testers are seen as valued reviewers who contribute to the review and learn about the work product, which enables them to prepare more effective tests, and to prepare those tests earlier
organizational factor
-
-
-
-
-
Management supports the review process (e.g., by incorporating adequate time for review activities in project schedules)
-
-
-
Static testing basis
-
-
-
static analysis can be applied to any work product with a formal structure(code, model) with static analysis tool exist
static analysis can apply with tool to evaluate work product written in natural language (requirement -> check spelling, grammar, readability)
benefit
detect early defect before dynamic testing is perform (req/system specification review, backlog refinement (sang loc ton dong)
-
-
-
-
-
-
-
most types of maintainability defects
con only be found by static testing
(ex. improper modularization, poor reusability of component, code that is difficult to analyze & modify without introducing new defect)
-