Stephan Goericke Editor the Future of Software Quality Assurance the Future of Software Quality Assurance Stephan Goericke Editor
Total Page:16
File Type:pdf, Size:1020Kb
Stephan Goericke Editor The Future of Software Quality Assurance The Future of Software Quality Assurance Stephan Goericke Editor The Future of Software Quality Assurance Editor Stephan Goericke iSQI GmbH Potsdam Germany Translated from the Dutch Original book: ‘AGILE’, © 2018, Rini van Solingen & Manage- ment Impact – translation by tolingo GmbH, © 2019, Rini van Solingen ISBN 978-3-030-29508-0 ISBN 978-3-030-29509-7 (eBook) https://doi.org/10.1007/978-3-030-29509-7 This book is an open access publication. © The Editor(s) (if applicable) and the Author(s) 2020 Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 Inter- national License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence and indicate if changes were made. The images or other third party material in this book are included in the book’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the book’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG. The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland Foreword In June 2002 David Parnas, one of the pioneers of software engineering, wrote1: Software is well known for low reliability and lack of trustworthiness. In part this is attributable to the difficulty of dealing with the complexity of today’s software systems, but the inadequate knowledge, skills, and professionalism of many of the practitioners also contributes to this problem. Moreover, we can thank the inadequately qualified people who produced today’s software for the unreliability and complexity of the products that serve as support software for new products. Dave sees the inadequate education of the people involved in software develop- ment as a major problem. In the field of software, lifelong education and training is essential to keep up to date with the rapid evolution. iSQI has been dealing with this problem for 15 years now and has certainly contributed in many areas to improving the education of people and thus the quality of the software. The many contributions in this book clearly reflect the numerous ways software quality assurance can play a critical role in multiple areas. About 75 years ago, the first electronic computers were used to calculate mathematical problems—also from the military sector. In the following years, computers increasingly took over routine tasks and tasks that required a high degree of precision. Due to technical progress and the associated speed of the systems, large amounts of data can now be processed and evaluated in a short time. The computer now dominates our everyday lives. It has become indispensable, because without it our life today would no longer be possible. Today we are at a radical turning point. (So-called) artificial intelligence is used in more and more software systems, be it automatic speech processing, autonomous driving or machine learning. In many areas we no longer use software exclusively to make life easier, but also as a tool to help us make decisions or simply delegate decision-making tasks to the software itself. 1https://en.wikipedia.org/wiki/David_Parnas Citation from David Parnas’s preface to the German book Spillner/Linz “Basiswissen Softwaretest”. v vi Foreword So far many of these systems have been used as decisive aids; helping a person to make a more substantiated decision. For example, a physician can have an X-ray image analysed by a system and use the information obtained to make his or her decision. The question arises or will arise: “When is the decision completely left to the system, since the system results show a higher reliability of correctness of the diagnosis than diagnoses of doctors?” In other areas, such as autonomous driving, some decisions have to be made so quickly that they can only be made by the system itself. In fact, it is not the system that decides, but the person who has programmed the system accordingly. At least that’s how it has been so far. When artificial intelligence is used, however, this is no longer definite. With neural networks and deep learning, the results are no longer predictable and therefore no longer depend directly on the programming. These few examples already show how crucial the quality of the systems is and thus the education of the people responsible for the development and testing of these systems. This is why iSQI will continue to be a sought-after partner for further training and certification in the coming years. In addition to well-founded specialist knowledge, ethical issues will have to be the focus of attention in the coming years. How do we as a society—even as humankind—want to deal with the fact that autonomous weapons themselves decide which people are being killed? We must all ask ourselves the question: “Which decisions must still be taken by people and which can we delegate to software systems?” We, as participants in the development of software systems, have a particularly high responsibility for what the near future will look like and where it will go in the coming years. I hope that we will take our responsibility and shape the future positively. GTB, Hochschule Bremen, Bremen, Germany Andreas Spillner July 2019 Preface A Question of Quality Software testing is not a regulated profession. In principle, anybody can become a tester. This was always the case and remains so today. However, there are standards that should apply to all testing professionals and which are a prerequisite for anyone wishing to be taken seriously as a software tester. An early version of a standardized syllabus was developed in 1998 known as the “Certified Tester”. Four years later Austria, Denmark, Finland, Germany, Sweden, Switzerland, the Netherlands and the UK established the International Software ® Qualification Board (ISTQB ) to define and promote a body of knowledge for the profession of software tester. It is one matter to create a set of regulations; it is quite another to ensure that the regulations are observed. This is where a certifying body has a crucial role to play, and hence the International Software Quality Institute (iSQI). Exactly 15 years ago a working group known as ASQF (Arbeitskreis Software-Qualität und -Fortbildung e.V.) established iSQI as an independent body to serve as a safety net and guarantee for an uncompromising and consistent level of quality in the training and certification of specialists throughout the world. In the following 15 years the quality of the profession of software tester has improved immensely. Today there ® are almost 650,000 ISTQB -certified software testers worldwide. Quality Standards Are an Imperative It is the standards maintained by specialists at every level of software production that accelerate improvements in quality. Both functional and non-functional ‘quality’ can only be achieved when people have a sense of what the term ‘quality’ really means and they know what they have to do to achieve this. Yet how can they do this when they have to deal with complicated testing in a limited time? And how vii viii Preface does this work when teams are working all over the globe, in different time zones? How can tests be scheduled, if results have to be delivered within an agile working regime or during the development phase? The testing profession has changed considerably in the last 15 years, and today it faces enormous new challenges. Automation and the use of artificial intelligence have brought changes to methods and to core areas. Here further improvements must be made in training and continuing professional development to develop general and specialist testing skills and competence. The Future Is Before Us Fundamental changes are emerging that will have significant impact on our society in the coming years, and in some cases have already changed it. The response capacity of machines will continue to increase sharply. They will exceed human possibilities many times over. Machines will process data faster, be more mobile and more flexible. Robot axes are already moving autonomously in Phoenix, USA; in Heidelberg, Germany, a trained artificial intelligence system recognizes skin cancer on photographs better than most doctors with average levels of experience. Information is being processed by ever more powerful devices. The results are becoming ever more complex. How can today’s massive data volumes be monitored and controlled by humans? Or, to put it another way, how can a human test a robot that is more ‘intelligent’ than the tester him/herself? The need for continuing professional development will continue to increase.