ebook img

Improving Software Testing: Technical and Organizational Developments PDF

170 Pages·2012·2.844 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Improving Software Testing: Technical and Organizational Developments

SpringerBriefs in Information Systems Series Editor Jörg Becker For furthervolumes: http://www.springer.com/series/10189 Tim A. Majchrzak Improving Software Testing Technical and Organizational Developments 123 Tim A.Majchrzak Institutfür Wirtschaftsinformatik Westfälische Wilhelms-Universität Leonardo Campus3 48149Münster Germany ISSN 2192-4929 e-ISSN 2192-4937 ISBN 978-3-642-27463-3 e-ISBN 978-3-642-27464-0 DOI 10.1007/978-3-642-27464-0 SpringerHeidelbergNewYorkDordrechtLondon LibraryofCongressControlNumber:2011946088 (cid:2)TheAuthor(s)2012 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionor informationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purposeofbeingenteredandexecutedonacomputersystem,forexclusiveusebythepurchaserof thework.Duplicationofthispublicationorpartsthereofispermittedonlyundertheprovisionsofthe CopyrightLawofthePublisher’slocation,initscurrentversion,andpermissionforusemustalwaysbe obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright ClearanceCenter.ViolationsareliabletoprosecutionundertherespectiveCopyrightLaw. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexempt fromtherelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. While the advice and information in this book are believed to be true and accurate at the date of publication,neithertheauthorsnortheeditorsnorthepublishercanacceptanylegalresponsibilityfor anyerrorsoromissionsthatmaybemade.Thepublishermakesnowarranty,expressorimplied,with respecttothematerialcontainedherein. Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) For Imke Foreword WearedelightedtoannounceanewseriesoftheSpringerBriefs:SpringerBriefsin Information Systems. SpringerBriefs is a well-established series that contains concisesummariesofup-to-dateresearchwithapracticalrelevanceacrossawide spectrumoftopicswithafastturnaroundtimetopublication.Theseriespublishes smallbutimpactfulvolumeswithaclearlydefinedfocus.Therefore,readersofthe new series are able to get a quick overview on a specific topic in the field. This might cover case studies, contextual literature reviews, state-of-the art modeling techniques, news in software development or a snapshot on an emerging topic in the field. SpringerBriefs in Information Systems present research from a global author communityandallowauthorstopresenttheirideasinacompactwayandreadersto gain insights into a specific topic with minimal time investment. With succinct volumesof50–125pages,SpringerBriefsareshorterthanaconventionalbookbut longer than an average journal article. Thus, publishing research in the Springer- Briefs series provides the opportunity to bridge the gap between research results already published in journal articles or presented on conferences and brand new researchresults. Information Systems research is concerned with the design, development and implementation of information and communication systems in various domains. Thus, SpringerBriefs in Information Systems give attention to the publication of core concepts as well as concrete implementations in different application contexts.Furthermore,astheboundarybetweenfundamentalresearchandapplied research is more and more dissolving, this series is particularly open to interdis- ciplinary topics. SpringerBriefs are an integral part of the Springer Complexitiy publishing program and we are looking forward to establishing the SpringerBriefs in Infor- mation Systems series as areference guide for Information Systems professionals in academia and practice as well as students interested in latest research results. vii viii Foreword The volume at hand is the first SpringerBriefs in Information Systems. It pre- sentstheworkofTimA.Majchrzakonsoftwaretesting.Theoutlineisexemplary fortheintendedscope:Notonlyaliterature-drivenintroductiontosoftwaretesting is given but also results from three current research topics are summarized and their future implications sketched. Münster, January 2012 Jörg Becker Preface In spite of the increasing complexity of software, clients expect improvements in its quality. In order to enable high-quality software in this context, the tools and approachesfortestinghavetobereconsidered.ThisBriefsummarizestechnicalas well as organizational aspects of testing. For the latter, an empirical study of best practicesfortestinghasbeenconducted.Asaresult,asetofrecommendationshas been formulated, which help to organize the testing process in a company while takingintoaccountparameterssuchasitssize.Itturnsoutthatcompaniestestvery differently. While some (typically larger) companies have installed well estab- lished testing procedures and use state of the art tools e.g. in order to automate testing as far as possible, other (often smaller) companies test on an ad-hoc basis without predefined processes and with little tool support. In particular, the latter canbenefitfromthebestpracticesformulatedinthisbook.Thispartisparticularly interesting for practitioners. From a technical perspective, this Brief presents a new way for generating so-called glass-boxtestcasesautomatically.Theapproachisbasedonasymbolic executionofJavabytecodebyasymbolicJavaVirtualMachine(JVM).Thelatter is an extension of the usual JVM by components known from abstract machines for logic programming languages such as the Warren Abstract Machine. In par- ticular,itcontainsatrail,choicepoints,andlogicvariablesanditusesasystemof constraint solvers. The symbolic JVM systematically follows all relevant com- putation paths and generates a set of test cases ensuring a predefined coverage of the control and data flow of the tested software. This part of the Brief is particularly interesting for researchers working on testing. Athirdpartshowshowthementionedtest-casegeneratorcanbeprofitablyused inanE-assessment system which automatically correctsJava classes uploadedby students. The test cases are generated from an example solution and serve as a measure for evaluating the correctness of the uploaded solutions to programming exercises.Thisapproachhasbeensuccessfullyappliedinapracticalprogramming course. Corresponding experimental results are given. ix x Preface This Brief is an extract of the PhD thesis of the author. It gives a concise overviewofthementionedaspectswithmanyreferencestotherelevantliterature. It is interesting for practitioners as well as researchers. For studying the most interesting aspects in depth, a look into the mentioned literature is recommended. Münster, December 2011 Herbert Kuchen Acknowledgments ThisbookisbasedonmyPhDthesis.Infact,itcontainstherevisedfirstpartofthe thesis, which introduces the research topics that I dealt with, sketches its back- ground, and thereby summarizes the body of knowledge of software testing. Therefore, I would like to thank again those people that supported me in the preparation of the thesis. In particular, I am grateful for support by Prof. Dr. Herbert Kuchen, Prof.Dr.JörgBecker,andProf.Dr.UlrichMüller-Funkwhowerethemembersof my doctoral committee. As my advisor, Herbert Kuchen also provided invaluable support that contributes to the quality of the content provided in this book. Moreover, he and Jörg Becker kindly wrote the foreword and the preface. Feedbackonthe thesis manuscriptwasprovidedbyDr. Philipp Ciechanowicz, Prof. Dr.-Ing. Marco K. Koch, Thomas Majchrzak, Martin Matzner, Claus Alexander Usener, and Imke Wasner. Imke, my wife, also soothed me when ludicrous package incompatibilities decelerated my progress. In the end, feedback and support are also reflected in this book. Thank you! WithregardtothisBriefsvolumeIwouldliketothankChristianRauscherfrom Springer-Verlag who comprehensively answered all my questions concerning the manuscript preparation and the publication process. Münster, December 2011 Tim A. Majchrzak xi Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 The Software Crisis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Why Test Software? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Objectives and Research Questions . . . . . . . . . . . . . . . . . . . . . 5 1.4 Structure of the Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Software Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 Testing Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.2 Aims of Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.3 Classification and Categorization . . . . . . . . . . . . . . . . . 16 2.1.4 Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Testing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.1 Static Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 Dynamic Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.3 Testing of Web based Programs. . . . . . . . . . . . . . . . . . 34 2.2.4 Additional Techniques. . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.5 Techniques with Regard to Phases . . . . . . . . . . . . . . . . 38 2.3 Organization of Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.1 Phases of Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.2 Test Driven Development . . . . . . . . . . . . . . . . . . . . . . 42 2.3.3 Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.3.4 Test Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.5 Certification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.4 Tool Support and Automatization . . . . . . . . . . . . . . . . . . . . . . 46 2.4.1 Test Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.4.2 True Automatization . . . . . . . . . . . . . . . . . . . . . . . . . . 48 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 xiii

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.