Software Quality Assurance: In Large Scale and Complex Software-intensive Systems
By Ivan Mistrik and John Grundy
5/5
()
About this ebook
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
Related to Software Quality Assurance
Related ebooks
Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing Rating: 4 out of 5 stars4/5Test Automation: A manager's guide Rating: 5 out of 5 stars5/5Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition Rating: 5 out of 5 stars5/5Structured Software Testing: The Discipline of Discovering Rating: 0 out of 5 stars0 ratingsTesting Practitioner Handbook Rating: 0 out of 5 stars0 ratingsA Measurement Framework for Software Projects: A Generic and Practical Goal-Question-Metric(Gqm) Based Approach. Rating: 0 out of 5 stars0 ratingsSystem Verification: Proving the Design Solution Satisfies the Requirements Rating: 1 out of 5 stars1/5Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional Rating: 3 out of 5 stars3/5Software Engineering: Architecture-driven Software Development Rating: 4 out of 5 stars4/5Agile Software Architecture: Aligning Agile Processes and Software Architectures Rating: 4 out of 5 stars4/5Quality Management for the Technology Sector Rating: 0 out of 5 stars0 ratingsMission-Critical and Safety-Critical Systems Handbook: Design and Development for Embedded Applications Rating: 5 out of 5 stars5/5Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications Rating: 3 out of 5 stars3/5Software Architecture for Big Data and the Cloud Rating: 0 out of 5 stars0 ratingsRequirements Management: A Practice Guide Rating: 4 out of 5 stars4/5Software Testing and Quality Assurance: Theory and Practice Rating: 5 out of 5 stars5/5Practical Test Design: Selection of traditional and automated test design techniques Rating: 0 out of 5 stars0 ratingsSoftware Testing Practice: Test Management: A Study Guide for the Certified Tester Exam ISTQB Advanced Level Rating: 3 out of 5 stars3/5Agile Quality Assurance: Deliver Quality Software- Providing Great Business Value Rating: 0 out of 5 stars0 ratingsSoftware Testing Foundations, 4th Edition: A Study Guide for the Certified Tester Exam Rating: 4 out of 5 stars4/5The Business of Software Testing Rating: 0 out of 5 stars0 ratingsTesting in Scrum: A Guide for Software Quality Assurance in the Agile World Rating: 5 out of 5 stars5/5Mobile Testing: An ASTQB-BCS Foundation guide Rating: 0 out of 5 stars0 ratingsEffective Test Case Writing Rating: 4 out of 5 stars4/5
Software Development & Engineering For You
OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5SQL For Dummies Rating: 0 out of 5 stars0 ratingsGrokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5Python For Dummies Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Git Essentials Rating: 4 out of 5 stars4/5The Essential Persona Lifecycle: Your Guide to Building and Using Personas Rating: 4 out of 5 stars4/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Data Visualization: a successful design process Rating: 4 out of 5 stars4/5Ry's Git Tutorial Rating: 0 out of 5 stars0 ratingsModern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsAndroid App Development For Dummies Rating: 0 out of 5 stars0 ratingsThe Inmates Are Running the Asylum (Review and Analysis of Cooper's Book) Rating: 4 out of 5 stars4/5Flow: A Handbook for Change-Makers, Mavericks, Innovators and Leaders Rating: 0 out of 5 stars0 ratingsHow Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! Rating: 4 out of 5 stars4/5Reversing: Secrets of Reverse Engineering Rating: 4 out of 5 stars4/5Learning R Programming Rating: 5 out of 5 stars5/5Adobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Programming Problems: A Primer for The Technical Interview Rating: 4 out of 5 stars4/5Learning Java by Building Android Games Rating: 0 out of 5 stars0 ratingsTest-Driven iOS Development with Swift Rating: 5 out of 5 stars5/5Beginning Programming For Dummies Rating: 4 out of 5 stars4/5
Reviews for Software Quality Assurance
1 rating0 reviews
Book preview
Software Quality Assurance - Ivan Mistrik
2013.
Preface
John Grundy, Ivan Mistrik, Nour Ali, Richard M. Soley and Bedir Tekirerdogan
Software Quality is a critically important yet very challenging aspect of building complex software systems. This has been widely acknowledged as a fundamental issue for enterprise, web, and mobile software systems. However, assuring appropriate levels of software quality when building today (and tomorrow’s) adaptive, software-intensive and highly diverse systems is even more of a challenge. How to ensure appropriate levels of quality in agile-based processes has become a topical concern. The implications of large-scale, highly adaptive systems on quality is critical, especially with the likely emergence of the Internet of Things. In this book we collect a range of recent research and practice efforts in the Software Quality Assurance domain, with a particular focus on emerging adaptable, complex systems. We aim for this book to be useful for researchers, students and practitioners with an emphasis on both practical solutions that can be used now or in the near future but with a solid foundation of underpinning concepts and principles that will hold true for many years to come.
Introduction
According to Webster’s Dictionary, quality
is a degree of excellence; a distinguishing attribute.
That is, quality is the degree to which a software product lives up to the modifiability, availability, durability, interoperability, portability, security, predictability, and other attributes that a customer expects to receive when purchasing this product. These quality attribute drivers are the key to ensuring the quality of software-intensive systems.
Ever since we started to develop programs
for the very first computer systems, quality has been both a laudable goal but also a very challenging one to actually obtain. Software, by its very nature, is complex and multi-faceted. Systems are used in a very wide range of contexts, by a very wide range of people, for a very wide range of purposes. Thus system requirements—including quality requirements—vary tremendously. Quality may come at significant cost to build-in and maintain. However, substandard quality may come with far greater costs: correcting defects, fixing up business data or processes gone wrong, and sometimes very severe, even life-threatening consequences of lack of appropriate quality.
Defining quality is challenging. Typically a system or system architecture is thought to have a range of quality attributes. These are often termed non-functional requirements. A great range has been developed over many decades in systems engineering. Commonly considered system quality attributes ones include safety, availability, dependability, standards compliance, scalability, and securability. When considering the design and implementation of systems, we often think in terms of reusability, modifiability, efficiency, testability, composability, and upgradability, among many others. Users of software systems are often concerned with usability, along with associated quality issues of performance, robustness and reliability. Developmental processes wish to ensure repeatability, efficiency and quality of the process itself. As software-intensive systems get larger, more complex, and more diverse, many if not all of these quality attributes become harder to ensure. With cloud-based and adaptive systems, many are emergent,
that is, quality expectations and requirements change as a system is deployed, integrated with new systems, user requirements evolve, and systems of systems result.
With the large interest and focus on complex software architectures over the past two decades, describing and ensuring software quality attributes in architecture models has become of great interest. This includes developing quality attribute metrics to enable these attributes to be measured and assessed, along with trade-off analysis where ensuring a certain level of quality on one dimension may unintentionally impact others. Again, this is especially challenging in new domains of complex mobile applications, multitenant cloud platforms, and highly adaptive systems. From a related viewpoint, how design decisions influence the quality of a system and its software architecture are important. It has been well-recognized that requirements and architecture/design decisions interplay, especially in domains where the actual deployed system architecture, components and ultimately quality attributes are unknown, or at least