|HOME | Project Management
Data Warehousing / Mining
Software Testing | Technical Writing
PART I--OVERVIEW & BASICS
PART II--SOFTWARE TESTING
7. Test Activities, Management, and Automation
8. Coverage and Usage Testing Based on Checklists and Partitions
9. Input Domain Partitioning and Boundary Testing
10. Coverage and Usage Testing Based on Finite-State Machines and Markov Chains
11. Control Flow, Data Dependency, and Interaction Testing
12. Testing Techniques: Adaptation, Specialization, and Integration
PART III--QUALITY ASSURANCE BEYOND TESTING
13. Defect Prevention and Process Improvement
14. Software Inspection
15. Formal Verification
16. Fault Tolerance and Failure Containment
17. Comparing Quality Assurance Techniques and Activities
PART IV--QUANTIFIABLE QUALITY IMPROVEMENT
18. Feedback Loop and Activities for Quantifiable Quality Improvement
19. Quality Models and Measurements
20. Defect Classification and Analysis
21. Risk Identification for Quantifiable Quality Improvement
22. Software Reliability Engineering
About this Guide
With the pervasive use of software systems in modern society and people's reliance on them in daily life, work, and societal functions, we need to make sure that these systems meet people's expectations for quality and reliability. This is the general subject of Software Quality Engineering, which is organized into three major topics:
--Software testing as a primary means to ensure software quality;
--Other alternatives for quality assurance (QA), including defect prevention, process improvement, inspection, formal verification, fault tolerance, safety assurance, and damage control;
--Measurement and analysis to close the feedback loop for quality assessment and quantifiable improvement.
These topics and related concepts are introduced in Part I, with detailed coverage for each major topic in Parts II, III, and IV, respectively.
This guide evolved from class notes for the one-semester course "Software Testing and Quality Assurance". Most of our students are full-time software professionals enrolled in the university MS program in Software Engineering, with a few other graduate students or undergraduate juniors/seniors in related programs. Although there are many guides on software testing and some on specific software QA techniques, they are typically too specialized to be suitable as a main textbook for a course like the presented in this guide. On the other hand, general textbooks on software engineering or software management cannot and do not cover software quality topics in enough detail or depth. Consequently, a combination of class notes and multiple textbooks was used. Similar situations were also common at other universities for similar courses, such as "Software Quality Assurance" and "Software Verification and Validation". With its comprehensive coverage of all the major topics in software quality engineering in an integrated framework, this guide is suitable as the main textbook for such a course.
In addition, this guide could be used as a technical reference about software testing, QA, and quality engineering by other readers, particularly professionals who perform QA activities as testers, inspectors, analysts, coordinators, and so forth. It should also be useful to people involved in project planning and management, product release, and support.
Similarly, this guide could help prepare students for their internship assignments or future employment related to testing or QA.
PREV. | NEXT