week15 and 16 slides
week15 and 16 slides
Analysis
Code Reviews & Static Software Analysis $ Testing Techniques
Topics
Introduction
• Types of Reviews along the software life cycle
• Reviews and testing
• Review planning
• Review roles, responsibilities and attendance
Types of reviews according to formality
Checklists
Reporting and follow-up
Other static software analysis techniques
Types of reviews
Target / Review Item
(What)
Requirements review
Design review
Code review
in rev
pe
au
de ec
sp
al
check conformity with specification
ch
er
di
sk k
kt
ec w
and fitness for purpose
t
-
hr
tio
ou
check quality attributes
ie
n
gh
and detect quality faults V&V and QA
check adherence to standards
check
not the progress
focus here Purpose / Goals
(Why)
Desk check
Also called self check
Informal review performed by the author of the artifact
Peer reviews
“I show you mine and you show me yours”
The author of the reviewed item does not participate in
the review
Effective technique that can be applied when there is a
team (with two or more persons) for each role (analyst,
designer, programmer, technical writer, etc.)
The peer may be a senior colleague (senior/chief
analyst, senior/chief architect, senior/chief programmer,
senior/chief technical writer, etc.)
Walkthroughs
Type of technical review where the producer of the
reviewed material serves as the review leader and
actually guides the progression of the review (as a
review reader)
Traditionally applied to design and code
In the case of code walkthrough, test inputs may be
selected and review participants then literally walk
through the design or code
Checklist and preparation steps may be eliminated
Inspections
A formal evaluation technique in which software requirements,
design, or code are examined in detail by a person or group other
than the author to detect faults, violations of development
standards, and other problems
Generally involve the author of a product
The inspector team may consist of different expertise, such as
domain expertise, or design method expertise, or language
expertise, etc. Inspections are usually conducted on a relatively
small section of the product.
Often the inspection team may have had a few hours to prepare,
perhaps by applying an analytic technique to a small section of the
product, or to the entire product with a focus only on one aspect,
e.g., interfaces.
A checklist, with questions germane to the issues of interest, is a
common tool used in inspections.
Inspection sessions can last a couple of hours or less, whereas
reviews and audits are usually broader in scope and take longer.
(source : SWEBOK)
Audits
An audit is an independent evaluation of conformance
of software products and processes to applicable regulations,
standards, plans, and procedures
An audit is a formally organized activity, with participants
having specific roles, such as lead auditor, other auditors, a
recorder, an initiator, and a representative of the audited
organization
Audits may examine plans like recovery, SQA, design
documentation, etc.
Audits can occur on almost any product at any stage of the
development or maintenance process
(source : SWEBOK)
high-level design
Specialize
d meaning
Thank You