This is an essential guide to best practices for anyone involved in software development. Packed with expert advice and practical guidance, Mastering Software Quality Assurance is comprehensive guide to the four dimensions of software development quality - specifications, design, construction, and conformance - from both micro and macro viewpoints. From the micro view, it details aspects of building-in quality at component level to ensure ingrained quality. From the macro view, it addresses the organizational level activities that provide and environment conducive to fostering quality. This volume also explores a process driven approach to quality, and provides readers with the information, guidance, and confidence necessary to implement a process quality model.
Murali Chemuturi is an information technology and software development subject matter expert, hands-on programmer, author, consultant and trainer. He has more than 25 years of information technology and software development experience and several years of academic experience teaching a variety of computer & IT courses. In 2001, he formed his own IT consulting, training and software development firm known as Chemuturi Consultants. Mr. Chemuturi's undergraduate degrees and diplomas are in Electrical and Industrial Engineering and he holds an MBA and a Post Graduate Diploma in Computer Methods & Programming. He is a published author in professional journals, a member of IEEE, a senior member of the Computer Society of India and a Fellow at the Indian Institute of Industrial Engineering. His first book, Software Estimation Best Practices, Tools, & Techniques is fast becoming a best seller.
Chapter 1: Quality Assurance BasicsConnotations of the Word "Quality" What Is Quality? SpecificationsDefinition of Quality from the Standpoint of the ProviderQuality and ReliabilityEvolution of Concepts of Quality Quality GurusTotal Quality ManagementAre We Giving Adequate Importance to Quality in Organizations? Organizational Goals and Quality GoalsIs a Quality Department in Software Development Organizations Really Needed? The Present Scenario in Software Development OrganizationsChapter 2: Four Dimensions of QualityBackgroundEnsuring Quality in SpecificationsEnsuring Quality in DesignEnsuring Quality in Development (Software Construction) Ensuring Conformance Quality Chapter 3: Software Product QualityFunctionality StandpointWhite Box StandpointPresence of Defects in the ProductProgram QualityMeasurement of Product QualityChapter 4: Organizational Environments that Foster a Quality CultureNecessity for an Independent Quality DepartmentThe Role of a Quality DepartmentThe Position of the Quality Assurance Department in the Organization Organization of a Quality Assurance DepartmentOrganization and Staffing of a Quality Assurance DepartmentA Well-defined and Institutionalized Software Development Process Explicit System of Rewards and Recognition for Achieving Excellence in QualityCommitment and Involvement of Senior Management to Fostering a Culture of Quality in the OrganizationFinal WordsChapter 5: Software VerificationWalkthroughs (Peer Reviews) InspectionsAuditsVerification ProcessImplementation of Verification Activities in ProjectsChapter 6: ValidationValidation of Software DesignsValidating the Product SpecificationsValidating the Software ProductTesting Different Types of Software ProductsTesting BasicsApproaches to TestingTest Case DesignTest EnvironmentTesting ScenariosProduct TestingBest Practices in TestingAutomation of Testing and Use of Testing ToolsFinal Words about Software TestingChapter 7: Software Product ReliabilitySoftware DisastersSoftware ReliabilityCause of Software FailuresPrediction of Software ReliabilitySoftware Reliability ImprovementChapter 8: Process QualityProcessProcess QualityProcess DefinitionAligning the Process with a Process ModelProcess ImprovementProcess StabilizationSoftware Development ProcessComponents of a ProcessProcess CertificationChapter 9: New Paradigm for Software QualityThe Fallacy of CertificationsCriticisms of Maturity ModelsA New Paradigm for Software Quality AssuranceFinal WordsAppendix A: Audit ProcessAppendix B: Defect Resolution MethodologyAppendix C: Guidelines for Error Guessing Appendix D: Guidelines for Graphical User Interface Quality Conformance Appendix E: Guidelines for Stress TestingAppendix F: Guidelines for Negative TestingAppendix G: Measurement of QualityAppendix H: Quality Assurance of DatabasesAppendix I: Coding Guidelines Appendix J: Sample Review ProcessAppendix K: Software Quality Assurance PlanAppendix L: AbbreviationsIndex
"Finally, a solid book dedicated to quality within software development. It should be mandatory reading for any software project manager. Every aspect of quality assurance and quality control is covered with topics dedicated to helping an organization succeed in its quality program implementation. The descriptions and benefits of the most valuable activities of software development are detailed and precise. Mastering Software Quality Assurance is a desk reference that experts and amateurs will refer to everyday." -Paul Laberge, Continuous Improvement Analyst, Wolters Kluwer; "Outstanding! Read this book carefully since a few minutes of consideration may save you or your company millions of dollars and years of struggle in achieving business value from your software development initiatives." -Robert C. Anderson, Director, Process Development & Quality Assurance, Computer Aid, Inc.