![[Book Cover]](../covergif/0132384035.gif)
|
Inroads to Software Quality: "How to" Guide and Toolkit, 1/e
Alka Jarvis, UC at Berkeley and Santa Cruz
Vern Crandall
Published April, 1997 by Prentice Hall PTR (ECS Professional)
Copyright 1997, 432 pp.
Cloth Bound w/CD-ROM
ISBN 0-13-238403-5
|
Sign up for future mailings on this subject.
See other books about:
Software Reliability-Computer Science
|

This book provides a new perspective on software quality and software
testing. Starting with the base of traditional methods of building software,
it moves into a discussion of the Product Delivery Process. This is a well-
defined disciplined quality process which is efficient, self-correcting,
market-driven, and customer-oriented. It radically changes how software
is built and delivered and eliminates the need to perform traditional
functional testing. The authors present this new paradigm and show why it
works and the tremendous positive effect is can have on software quality.
Presents The Product Delivery Process. When used correctly
with appropriate filters and pattern matching, this is the most powerful
concept within the software development community.
The only book that presents both the process and product
quality issues. In addition, it also provides directions on how to address
these issues.
Provides 18 filters to enable the reader to instill quality
throughout the software development process rather than after the
product is built.
Presents pattern matching techniques and filers from the new
paradigm that help the reader eliminate the need for most functional
testing.
Provides process improvement tools and quality tools, such as
the Ishikawa diagram and scatter diagrams, as well as step-by-step
instructions to help the reader implement process improvements.
Written to be user-friendly and practical to ensure that the
reader can learn to improve process and quality without delving into
theories and complex mathematical equations.
Provides details on writing a successful test plan and includes a
template to guide the reader in writing the test plan. The reader should be
able to write a test plan after reading the book and should know what to
watch for when outsourcing projects.
Foreword.
Preface.
Acknowledgments.
1. Process Assurance.
Techniques for Process Assurance.
Project Team. Project Standards. Schedule Monitoring.
Project Tracking. Estimation. Effective Communication. Steering Committee. Project Risks. Measurement. Integrated Technology (IT). Final Comments.
Causes of Failure in Process Assurance.
Lack of Management Support. Lack of User Involvement.
Lack of Project Leadership. Lack of Measures of Success.
Verification versus Validation.
Verification and Validation Plan (VVP). Who Conducts the V&V?
The Product Delivery Process (A New Paradigm).
Basic Concepts. Product Delivery Process. The Importance of the Project Plan. Configuration Control Board. The Efficiency of a Software Development Strategy.
2. Product Assurance.
Techniques for Product Assurance.
Establishing Standards for Product Quality. Establishing Standards for Development Technology. Joint Application Development. Prototyping. Disaster Recovery. Configuration Management. Reusability. Code Management. Software Changes. Training. Management Support. Benchmarking.
Activities to Assure Product Quality. A New Paradigm for Assuring Quality Software Design and Architecture.
Dependency Analysis at the Module Level. Eliminating Functional Testing at the Module Level. Dependency Analysis at the System Level. Eliminating Common System-Level Dependencies. Examples of the Basic Tools in Dependency Analysis at the System Level. Final Comments.
Conclusion.
3. Software Quality Assurance (SQA).
Required Components of Software Quality. Building an Effective Software Quality Assurance Organization.
Quality Assurance. Verification and Validation. Simulation. Testing.
Building a Separate Quality Assurance Organization. The Cost-Effectiveness of Software Testing.
Credibility and Return on Investment. Different Projects Require Different Approaches. Begin Collecting Data. Making a Case for Finding Errors Early in the Life Cycle. Steps to Creating an Effective Test Organization. How to Create an Effective, Stable Test Organization. Making a Test Organization More Effective. Conclusion.
The Impact of the New Paradigm.
Management Aspects (Return on Investment) under the New Paradigm. Leverage at the Software Product Level. Guaranteeing Leverage.
Techniques and Contents of a SQA Plan.
What to Address in Your SQA Plan.
Conclusion.
4. Software Quality Standards.
Some Standards for Software Quality.
The Concept of Six Sigma. Reducing Cycle Times. Continuous Process Improvement.
The Product Delivery Process.
Deliverables Associated with a Product Delivery Process. A Description of the Marketing Requirements Definition.
Components of a Specification.
Functional Specification. Information Model. Constraint Document. Performance Criteria Document. Hardware Specification. Preliminary Budget/Preliminary Schedule/Preliminary Manpower Allocation. Standards Document. Quality Plan. Master Test Plan. Documentation Plan. Product Release Plan. A Test Plan for System Testing.
Release Management. Software Quality Standards in the Product Delivery Process.
What Is Software Quality? An Alternative Approach to Quality Measurement. What We Mean by Software Quality. Software Quality Standards.
Conclusion.
5. Overview of Test Cycles.
Objectives of Testing.
Error Detection. Error Removal. Error Tracking. Regression Testing. Goals of Software Testing. Error-Prone Code and Failure Modes. Effective Test Team Validation Strategies.
Black Box Testing versus White Box Testing. Unit Testing.
Ad Hoc Testing. White Box Testing. Black Box Testing.
Integration Testing.
Incremental versus Nonincremental. Big-Bang Integration. Top-Down Integration. Bottom-Up Integration. Risk-Based Integration Testing. Threaded Integration Testing. Outside-In Integration Testing (Essential Systems Analysis). Inside-Out Integration Testing (Orr DSSD-Data Structured Systems Development). Little-Bang Integration Testing. The New Paradigm (The Product Delivery Process).
System Testing.
System Test Considerations. Fundamental Tests (Product Verification Testing). Other Tests (Measures). Testing/Maintenance Problems. The Credibility of Software Testing. A Comment on Beta Testing. A Comment on Regression Testing. Acceptance Tests.
Conclusions.
6. Test Planning.
Benefits of a Test Plan.
Techniques. Steps to Perform.
Developing the Successful Test Plan. Test Plan Sample. Creating Test Cases.
Techniques and Characteristics.
Automated Test Tools.
Evaluation Criteria. Test Results. Test Case Generation. Vendor Selection. The Pilot Project Approach.
Outsourcing.
Background. Potential Problems. Contract Negotiations.
7. Software Quality Assurance Reviews.
Objective.
Business Review. Technical Review. Management Review. Roles and Responsibilities.
General Guidelines.
Review Frequency. Review Planning. Review Meeting. Rework. Follow-Up.
Walk-throughs and Inspections.
8. Basic Concepts of Measurements.
Definitions. Understanding the Need for Collecting Metrics. Benefits of Metrics. Cost of Metrics. Common Measurements and Tips.
Requirements. Code/Design. Testing.
Seven Commonly Tracked Measures.
Number of Defects. Work Effort. Schedule. Number of Changes to the Requirements. Size. Documentation Defects. Complexity.
Establishing a Measurement Program and Prototyping.
Prototyping. Measurement Cycle.
The Impact of Filters as Feedback Mechanisms. The Misuse of Statistics in Software Development.
Statistical Measurements. Sampling versus Case Studies. Errors of the Estimate in Statistical Inference. Statistics as Applied to Quality Control. Conclusion.
9. Process Improvement Road Map.
Seven Steps of the Process Improvement Road Map.
Plan. Gather Data. Analyze Findings. Describe the Ideal Process. Step Implement the Ideal Process. Measure Progress. Standardize the Process.
Conclusions.
10. Standards and Evaluation of Process.
ISO 9000.
ISO 9000-3.
SEI Maturity Model. Relationship and Differences Between SEI, ISO 9001, and ISO 9001-3. Conclusion.
11. Software Development, Total Quality Management, and Risk Management.
The Umbrella of Total Quality Management. TQM and the New Paradigm. Risk Issues in Software Quality Assurance.
Areas of Risk. Decision Making Based on Risk. Minimizing the Impact of Risk. Minimizing Risk through Increasing Testability. Building a First-Rate Testing Organization.
Summary and Conclusions.
Appendix: Checklists and Templates.
Test Case Form. Checklist for a Vendor-Developed Package.
Development Life Cycle Checklist. Conceptual Design Checklist. Detail Design Checklist. Systems Development Checklist. Training and Implementation Checklist. Support and Operations Checklist. Testing Checklist. Documentation Checklist. System Maintenance Checklist. Vendor Selection Checklist. Review Checklist. Product Assurance Checklist. Test Plan Template. Where to Obtain Guidelines/Standards. Descriptions of Frontend Filters for the Product Delivery Process. Description of Process for Configuration Control Board Impact Assessment Document Changes to Frozen Applications. Strategy for Minimizing the Number of Correct Solutions
in a Module. Criteria for Code Audits. Thoughts on the Theory Behind the New Product Development Process and a Proposed Code Audit Filter. Thoughts on the Difference Between Advertising, Sales, and Marketing.
A Software Glossary with Commentary.
References and Additional Reading.
Index.
|