Software Quality Assurance

Book description

Software Quality Assurance in Large Scale and Complex Software-intensive Systems presents novel and high-quality research related approaches that relate the quality of software architecture to system requirements, system architecture and enterprise-architecture, or software testing. Modern software has become complex and adaptable due to the emergence of globalization and new software technologies, devices and networks. These changes challenge both traditional software quality assurance techniques and software engineers to ensure software quality when building today (and tomorrow’s) adaptive, context-sensitive, and highly diverse applications.

This edited volume presents state of the art techniques, methodologies, tools, best practices and guidelines for software quality assurance and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to: quality attributes of system/software architectures; aligning enterprise, system, and software architecture from the point of view of total quality; design decisions and their influence on the quality of system/software architecture; methods and processes for evaluating architecture quality; quality assessment of legacy systems and third party applications; lessons learned and empirical validation of theories and frameworks on architectural quality; empirical validation and testing for assessing architecture quality.

  • Focused on quality assurance at all levels of software design and development
  • Covers domain-specific software quality assurance issues e.g. for cloud, mobile, security, context-sensitive, mash-up and autonomic systems
  • Explains likely trade-offs from design decisions in the context of complex software system engineering and quality assurance
  • Includes practical case studies of software quality assurance for complex, adaptive and context-critical systems

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. List of Contributors
  6. Biography
  7. Deployability
    1. Release Plan
    2. Moving Through the Tool Chain
    3. Trade-offs
    4. General Scenarios and Tactics
    5. Microservices
    6. Continuous Deployment
    7. Roll Back
    8. The Number of Quality Attributes Is Growing
    9. References
  8. Foreword
    1. References
  9. Preface
    1. Introduction
    2. Why a New Book on Software Quality
    3. Book Outline
  10. Chapter 1. Quality concerns in large-scale and complex software-intensive systems
    1. Abstract
    2. 1.1 Introduction
    3. 1.2 Software Quality Management
    4. 1.3 Software Quality Models
    5. 1.4 Addressing System Qualities
    6. 1.5 Assessing System Qualities
    7. 1.6 Current Challenges and Future Directions of Software Quality
    8. 1.7 Conclusion
    9. References
  11. Chapter 2. An introduction to modern software quality assurance
    1. Abstract
    2. 2.1 Introduction
    3. 2.2 Requirement Conformance Versus Customer Satisfaction
    4. 2.3 Measurement
    5. 2.4 Quality Perspectives
    6. 2.5 Quality Models
    7. 2.6 Non-Functional Requirements
    8. 2.7 Cost of Quality
    9. 2.8 Verification and Validation
    10. 2.9 Role of Formal Methods
    11. 2.10 Role of Testing and Automated Testing
    12. 2.11 Reliability
    13. 2.12 Security
    14. 2.13 Safety
    15. 2.14 Reviews and Usability
    16. 2.15 Reviews and Postmortems
    17. 2.16 User Experience
    18. 2.17 Social Media, Cloud Computing, and Crowdsourcing
    19. 2.18 Maintenance and Change Management
    20. 2.19 Defect Analysis and Process Improvement
    21. 2.20 Role of Product and Process Metrics
    22. 2.21 Statistical SQA
    23. 2.22 Change Management
    24. 2.23 Agile Development Processes
    25. 2.24 Conclusions/Best Practices
    26. References
  12. Chapter 3. Defining software quality characteristics to facilitate software quality control and software process improvement
    1. Abstract
    2. 3.1 Overview
    3. 3.2 Process Based Approaches to Software Quality
    4. 3.3 Review of the Structure and Utility of Software Quality characterization Models
    5. 3.4 Defining an Organization’s Software Quality Characterization Model
    6. 3.5 Software Quality Control’s Utilization of the Quality Characterization Model
    7. 3.6 SPI Utilization of the Quality Characterization Model
    8. 3.7 Concluding Remarks
    9. References
  13. Chapter 4. Quality management and software process engineering
    1. Abstract
    2. 4.1 Motivation
    3. 4.2 Our Notion of Process
    4. 4.3 Quality Management
    5. 4.4 Software Process (SP)
    6. 4.5 Software Quality
    7. 4.6 Quality Management Through SP Engineering
    8. 4.7 Conclusion
    9. References
  14. Chapter 5. Architecture viewpoints for documenting architectural technical debt
    1. Abstract
    2. 5.1 Introduction
    3. 5.2 Background and Related Work
    4. 5.3 Typical Stakeholders and Concerns
    5. 5.4 ATD Viewpoints
    6. 5.5 Case Study
    7. 5.6 Conclusions and Future Work
    8. Acknowledgment
    9. Appendix A ATD Concerns
    10. Appendix B Viewpoint Definitions and Correspondence Rules
    11. References
  15. Chapter 6. Quality management and Software Product Quality Engineering
    1. Abstract
    2. 6.1 Limitations of the Current Software Practices
    3. 6.2 Principles of Software Product Quality Engineering
    4. 6.3 Case Study
    5. 6.4 Conclusion
    6. References
  16. Chapter 7. “Filling in the blanks”: A way to improve requirements management for better estimates
    1. Abstract
    2. 7.1 Introduction
    3. 7.2 Meeting the “Voice of the Customer”: QFD
    4. 7.3 “Filling in the Blanks”: How to Further Improve Estimation Capability?
    5. 7.4 Improving QFD: QF2D
    6. 7.5 QF2D: Example Calculation
    7. 7.6 Conclusions and Next Steps
    8. References
  17. Chapter 8. Investigating software modularity using class and module level metrics
    1. Abstract
    2. 8.1 Introduction
    3. 8.2 Software Quality Measurement
    4. 8.3 Software Measurement
    5. 8.4 Software Modularity
    6. 8.5 Coupling and Cohesion Metrics
    7. 8.6 Coupling and Cohesion Metrics at Higher Levels of Granularity
    8. 8.7 Coupling and Cohesion Metrics Utilized in This Study
    9. 8.8 Empirical Study
    10. 8.9 Objectives and Research Questions
    11. 8.10 Empirical Design
    12. 8.11 Results
    13. 8.12 Discussion
    14. 8.13 Validity and Reliability
    15. 8.14 Conclusion
    16. Acknowledgment
    17. References
  18. Chapter 9. Achieving quality on software design through test-driven development
    1. Abstract
    2. 9.1 Introduction
    3. 9.2 Evidences on the Influence of TDD on Software Quality
    4. 9.3 TDD as a Design Technique
    5. 9.4 Modeling Relations with TDD
    6. 9.5 Large Refactorings
    7. 9.6 Combining TDD with Other Design Techniques
    8. 9.7 Preparing for TDD in a Software Project
    9. 9.8 Continuous Inspection
    10. 9.9 Conclusions
    11. References
  19. Chapter 10. Architectural drift analysis using architecture reflexion viewpoint and design structure reflexion matrices
    1. Abstract
    2. 10.1 Introduction
    3. 10.2 Reflexion Modeling
    4. 10.3 Reflexion Modeling Using Software Architecture Viewpoints
    5. 10.4 Reflexion Viewpoint
    6. 10.5 Design Structure Matrix
    7. 10.6 Design Structure Reflexion Matrix
    8. 10.7 Possible Applications
    9. 10.8 Conclusion
    10. References
  20. Chapter 11. Driving design refinement: How to optimize allocation of software development assurance or integrity requirements
    1. Abstract
    2. Information in This Chapter
    3. 11.1 Introduction
    4. 11.2 Safety Requirements in ARP4754-A
    5. 11.3 The Issue of Independence in ARP4754-A
    6. 11.4 Challenges in Requirements Allocation—The Research Problem
    7. 11.5 Automatic Allocation of DALs
    8. 11.6 Case Study: Air Wheel Braking System
    9. 11.7 Conclusion and Reflection
    10. References
  21. Chapter 12. Model-based dependability analysis: State-of-the-art, challenges, and future outlook
    1. Abstract
    2. Information in This Chapter
    3. 12.1 Introduction
    4. 12.2 Failure Logic Synthesis and Analysis
    5. 12.3 Behavioral Fault Simulation
    6. 12.4 Towards Integrated Approaches
    7. 12.5 Conclusions and Future Outlook
    8. References
  22. Chapter 13. Influences of architectural and implementation choices on CyberInfrastructure quality—a case study
    1. Abstract
    2. 13.1 Introduction
    3. 13.2 Background on quality assurance
    4. 13.3 Overview of CIs
    5. 13.4 Requirements
    6. 13.5 Quality Evaluation
    7. 13.6 Results and Lesson Learned
    8. 13.7 Conclusions
    9. Acknowledgments
    10. References
  23. Chapter 14. Exploiting the synergies between SQA, SQC, and SPI in order for an organization to leverage Sarbanes Oxley internal control budgets
    1. Abstract
    2. 14.1 Total Quality Management Role Definitions for Quality Related Activities
    3. 14.2 TQM for Software Development—CMMI®
    4. 14.3 Opportunities and Challenges Addressed by Forming a Consolidated QPT
    5. 14.4 Overview of the CMMI® Model and Document Structure
    6. 14.5 Proposed QPT’s Roles and Responsibilities within CMMI®
    7. 14.6 QPT Responsibilities for Validation and Verification
    8. 14.7 QPT Center of Excellence Skills, Tools and Techniques Recommendations for Validation and Verification
    9. 14.8 QPT Responsibilities for PPQA
    10. 14.9 QPT Center of Excellence Skills, Tools and Techniques Recommendations for CMMI® PPQA
    11. 14.10 Organizational Process Definition
    12. 14.11 Organizational Process Focus
    13. 14.12 Measurement and Analysis
    14. 14.13 Causal Analysis and Resolution
    15. 14.14 QPT Responsibilities for CMMI® SPI Related Process Areas
    16. 14.15 QPT Center of Excellence Skills, Tools and Techniques Recommendations for CMMI® SPI Related Process Areas
    17. 14.16 Potential CMMI® Role Conflicts of Interest for a Combined SQC, SQA, and SPI Team
    18. 14.17 Concluding Remarks
    19. References
  24. Glossary
  25. Author Index
  26. Subject Index

Product information

  • Title: Software Quality Assurance
  • Author(s): Ivan Mistrik, Richard M Soley, Nour Ali, John Grundy, Bedir Tekinerdogan
  • Release date: October 2015
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780128025413