Professional Documents
Culture Documents
Chapter 06
Chapter 06
Software Engineering
Chapter 06
1 2
Z Daniel Galin, Software Quality Assurance: From Any deviation from the requirements is regarded as a
defect.
Theory to Implementation, Addison Wesley, 2004.
A good quality product contains fewer bugs.
Z Pankaj Jalote, Software Project Management In
Practice, Addison-Wesley, 2002. Z Fitness for use ():
Fit to user expectations: meet users needs.
Z Stephen H. Kan. Metrics and Models in Software
A good quality product provides better user satisfaction.
Quality Engineering, Addison-Wesley, 2nd edition,
September 2002. 3 Both Dependable computing system 4
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Z will it be affordable? will it be ready when its Z During design, we need to be able to predict how
users need it? well the software will fit its purpose
Z can it be changed as the needs change? we need to understand that purpose (requirements
Serves as the customer's in-house representative Maintenance is responsible for more that
60% of total cost for a typical software
Assists the software team in achieving a high-
project
quality product
Views the software from the customer's point of
view
Z Does the software adequately meet quality factors?
Z Has software development been conducted
according to pre-established standards?
Z Have technical disciplines properly performed their Developing better quality system will
roles as part of the SQA activity? 9 contribute to lowering maintenance costs 10
to lower the development cost and to minimize the first time the system must not be more than 5
software quality
relation with quality factors
19 20
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
23 24
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Use Test
Results
27 28
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
ISO 9000 & ISO 9001 ISO 9000 & ISO 9001 (contd.)
The international organization ISO has developed a ISO 9004: Guidelines for performance improvements
series of standards for QA and quality. (ISO 9004 )
management, collectively known as the ISO 9000.
Z Note: ISO 9002 and ISO 9003 were parts of
Z The standards released in the year 2000 are known
as ISO 9000:2000. There are three components of ISO 9000:1994, but these are no more parts of
the ISO 9000:2000 standard. ISO 9000:2000.
ISO 9000: Fundamentals and vocabulary (ISO 9000
Z ISO 9000-3 is a supporting document, which
)
ISO 9001: Requirements (ISO 9001 interprets ISO 9000 for software development.
ISO 9001 is for quality management.
20 )
Z ISO 9001 is the most general of these standards and applies to ISO 9001 helps organizations to implement
organizations concerned with the quality process in products design,
29 30
development, and maintenance quality management.
Factors
requirements or user needs and expectations. Z Number of open problem reports per time period
Z The ability of a component to produce specified Z Number of closed problem reports per time period
Z Number of unevaluated (pending) problem reports
outputs when given specified inputs, and the
Z Age of open problem reports
extent to which they match or satisfy the
Z Age of unevaluated problem reports
requirements. 41 Z Age of closed problem reports 42
The fault detection metric can be calculated The fault removal metric can be calculated by
bugs detected (from the review report) and B is during design and coding and B is the number
the estimated number expected. that were found during review. The closer the
value is to 1, the better.
A high value for this metric implies a good level
of product quality. A fault removal value of one would mean that
every detected defect had been removed.
45 46
This porting user friendliness metric uses the This metric can be calculated by X = A / B, where A
is the number of data items that are actually
same formula, X = A / B, where A is the number of
logged during the operation and B is the number
functions being ported that are judged to be easy,
of data items that should be recorded to
as based in review, and B is the total number of sufficiently monitor status of the software during
functions that are required to be easy to adapt. 49 operation. 50
0 Detailed design
0 0% 10
Errors passed through 10 Coding
10 5 0% 40
Percent 40
efficiency 25 85
20 0%
Amplified errors 1:x for error
detection 25
Unit testing
Errors from Errors
85
previous step passed to 85 Integration testing
Newly generated errors 42
0 50%
next step 42
0 21
0 50%
53 0 54
0 Detailed design
0 50% 5 (10)
5 Coding
Z Reviews: Inspections & walkthroughs
10 3 50% 16 (40)
16
25 50%
25 (85) Z Presentations
8
25
Unit testing
25 (85)
25 Integration testing
12 (42)
0 50%
12
6 (21)
0 0 50%
0 55 56
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
57
Defects removed 58
your product. To show your appreciation, treat If the quality of the code entering an inspection is
their time as important and carefully review your so important, why not also unit-test it first? This is
code before the inspection. 63
a question of inspection psychology. 64
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
When the inspectors know that the code has It is recommended that we not test our programs
been tested, they are not as likely to do a before the first code inspection. The inspection
67 Z Change schedule 68
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
the audience
Z Usually involve minimal documentation of the
Nonconfor
Nonconfor
mance
mance
report
report
(contd.)
77 78
The main characteristics of the three review types In an inspection, 2 or more engineers review another
are summarized in the following table. engineer's product to find its defects and problems.
To be most effective, inspections should follow a There are four reasons that inspections are
defined process. Although inspections are not effective:
complicated, they involve a number of steps. A Z They look at the entire program at one time
defined process tells you what steps to take and Z They use more combined knowledge
when to take them. Z They take advantage of different viewpoints
It also defines the key inspection measures and Z They improve the odds of finding problems.
If your objective is to get into testing as quickly If you measure your overall performance both with
as possible, there is probably no way to reviews and without, you will find that by
convince you to do a review before compiling. reviewing first, you may take a little longer to get
This attitude, however, confuses speed with into testing but the testing time will be much less.
progress. If your goal is to remove the maximum number of
Z Although getting to testing would seem like defects, you will want to do the code reviews when
progress, the testing time for defective code is they are most effective. The compiler is equally
highly unpredictable, and for large programs it effective before or after the review, so if you find
can take many weeks or months. 89 any of the defects it would miss, you are ahead. 90
91 92
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Procedure
1. Introduction Preparation
a. Work product identification
b. Review team members and roles
Objectives
2. Preliminary issue list
a. Potential fault Z Find maximum number of non-minor issues
b. Severity Procedure
3. Prioritized action item list
a. Identified fault Z Allocate recommended time to preparation
b. Severity Z Perform individual review of work product
4. Summary of individual reports
Z Use checklists and references to focus attention
5. Review statistics
a. Total hours spent Z Note critical, severe and moderate issues on
b. Faults sorted by severity
Reviewers Data Sheet (RDS)
c. Faults sorted by location
6. Review recommendation Z Note minor issues and author questions on work
7. Appendix with the full review packet 99
product
100
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
crash, product incorrect results or behavior, or Z Defects that affect limited areas of functionality
corrupt user data; no known work-arounds that can be either worked around or ignored
Severe Minor
Z Defects that cause incorrect results or behavior Z Defects that can be overlooked with no loss of
Avoid why did you why didnt you say make it one.
Z I dont understand why the upper bound is 10 If there are standards, then either stick to the
here. standard, or dispose of the standard.
Z Seems trivial, but its not.
109 110
Z Size of project
Z Closeness to completion
113 114
Review packet
121 122
product
Z Needs to be an actor
Debugging
Alarms
Stand-up Reviews
125 126
Z Decision recorded (by the scribe) 127 for evaluating effectiveness 128
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Moderator is in-charge of the meeting and plays a Review rate should be about 140 lines of text /hr
central role (no more than 280 LOT/hr) for design documents.
Z Ensures that focus is on defect detection and
Review rate should be about 125 SLOC/hr (no
solutions are not discussed/proposed more than 250 SLOC/hr) for code.
Z Work product is reviewed, not the author of the
No more than two meetings per day.
work product
Size of team is four
Z Amicable/orderly execution of the meeting
Report Rework
Procedure
Goal: Does the product do the job its supposed
Z Author obtains Scribe Data Sheet containing
to do?
consolidated issues list as well as copies of work
Z Complete.
products
Z Correct.
Z Author assesses each issue and notes action
Z Dependable as basis for other work
taken using the Author Data Sheet
Z Measurable for purposes of tracking.
Z Author determines the type of each defect
What was reviewed? Requirements; specification; design; implementation;
Signatures of reviewers. Z When finished, Author provides Author Data Sheet
Leader and recorder. 131 and reworked products to Moderator for Followup 132
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Followup
An Example of Rework Data
Objectives
Z Assess the (reworked) work product quality
Procedure
Z Obtain reworked product and Author Data Sheet
135 136
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
Summary
Report of Cost of Defects
A Review
What is the impact of the annual cost of software
defects in the US?
$59 billion
Estimated that $22 billion could be avoided by
introducing a best-practice defect detection
infrastructure
Z Review Conduct
145 146
147 148
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.
149 150
(yield) of an inspection is given by: Defect Density = Total Defects Found / Size
Yield = Total Defects Found / Estimated Total In the example, we get: Defect Density = 11 defects /
Defects 100% 15 pages = 0.73 defects/page
In the example above, Total Defects Found = 11 and Before we can calculate any overall rates we must
Estimated Total Defects = 12. So, first total the amount of time spent all up in the
Yield = Total Defects Found/Estimated Total Defects inspection.
= (11/12) 100% Z This is the sum of each reviewers review time plus
= 91.67% 151 the total person time spent in each meeting 152
TRIAL MODE a valid license will remove this message. See the keywords property of this PDF for more information.