Essentials of software testing:
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Cambridge, United Kingdom
Cambridge University Press
2022
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xiii, 304 Seiten Illustrationen |
ISBN: | 9781108833349 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV047421770 | ||
003 | DE-604 | ||
005 | 20220706 | ||
007 | t | ||
008 | 210816s2022 a||| |||| 00||| eng d | ||
020 | |a 9781108833349 |c hbk. |9 978-1-108-83334-9 | ||
035 | |a (OCoLC)1273465492 | ||
035 | |a (DE-599)BVBBV047421770 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-573 |a DE-706 |a DE-739 |a DE-29T |a DE-1050 |a DE-83 |a DE-898 |a DE-1102 | ||
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
084 | |a QH 500 |0 (DE-625)141607: |2 rvk | ||
100 | 1 | |a Bierig, Ralf |d 1976- |e Verfasser |0 (DE-588)1241586144 |4 aut | |
245 | 1 | 0 | |a Essentials of software testing |c Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney |
264 | 1 | |a Cambridge, United Kingdom |b Cambridge University Press |c 2022 | |
300 | |a xiii, 304 Seiten |b Illustrationen | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Softwaretest |0 (DE-588)4132652-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwaretest |0 (DE-588)4132652-0 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Brown, Stephen |d ca. 20./21. Jh. |e Verfasser |0 (DE-588)1241586470 |4 aut | |
700 | 1 | |a Galván, Edgar |d 1977- |e Verfasser |0 (DE-588)1256438049 |4 aut | |
700 | 1 | |a Timoney, Joseph |d 1971- |e Verfasser |0 (DE-588)1037104595 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032824371&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-032824371 |
Datensatz im Suchindex
_version_ | 1804182700951601152 |
---|---|
adam_text | Contents Preface Acknowledgements 1 Introduction to Software Testing 1.1 The Software Industry 1.1.1 Software Testing and Quality 1.1.2 Software Testing and Risk Management 1.2 Mistakes, Faults, and Failures 1.2.1 Mistakes 1.2.2 Software Faults 1.2.3 Software Failures 1.2.4 Need for Testing 1.3 The Role of Specifications 1.4 Manual Test Example 1.5 The Theory of Software Testing 1.6 Exhaustive Testing 1.6.1 Exhaustive Test Data 1.6.2 Feasibility of Exhaustive Testing 1.7 Test Heuristics 1.7.1 Random Testing 1.7.2 Black-Box and White-Box Testing 1.7.3 Experience-Based Testing 1.7.4 Fault Insertion 1.8 When to Finish Testing 1.9 Static and Dynamic Testing 1.9.1 Review-Based Techniques 1.9.2 Program Proving 1.10 Testing in the Software Development Process 1.11 Software Testing Activities 1.11.1 Analysis 1.11.2 Test Coverage Items 1.11.3 Test Cases 1.11.4 Test Design Verification 1.11.5 Test Implementation page xv xvii 1 1 3 3 4 5 5 6 8 9 10 11 11 11 12 12 13 14 15 15 15 16 16 17 17 19 19 20 21 22 22
VI Contents 1.12 1.13 1.14 1.15 Test Artefacts Fault Models Using this Book 1.14.1 Book Structure 1.14.2 Order of Testing 1.14.3 Documenting Test Design 1.14.4 The Programming Language 1.14.5 Level of Detail 1.14.6 Examples 1.14.7 Software Test Tools Notes on Terminology 23 24 24 24 25 25 25 26 26 26 26 Equivalence Partitions 27 2.1 2.2 27 27 28 32 32 35 36 36 37 39 40 40 40 40 42 42 42 43 43 46 47 47 2.3 2.4 2.5 2.6 2.7 Testing with Equivalence Partitions Example 2.2.1 Analysis: Identifying the Equivalence Partitions 2.2.2 Test Coverage Items 2.2.3 Test Cases 2.2.4 Verification of the Test Cases Test Implementation and Results 2.3.1 Manual Test Output 2.3.2 Automated Test Implementation 2.3.3 Test Results Equivalence Partitions in More Detail 2.4.1 Fault Model 2.4.2 Description 2.4.3 Analysis: Identifying Equivalence Partitions 2.4.4 Test Coverage Items Test Cases 2.4.5 2.4.6 Pitfalls Evaluation 2.5.1 Limitations 2.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers Boundary Value Analysis 48 3.1 3.2 48 48 48 49 49 51 Testing with Boundary Value Analysis Example 3.2.1 Analysis: Identifying the Boundary Values 3.2.2 Test Coverage Items 3.2.3 Test Cases 3.2.4 Verification of the Test Cases
Contents ¿.¡.я՝.՝- ■--՛-՛ ՝ -.v ■.՝.....· 3.3 3.4 3.5 3.6 3.7 4 ՜ ՜ Test Implementation and Results 3.3.1 Implementation 3.3.2 Test Results Boundary Value Analysis in More Detail 3.4.1 Fault Model 3.4.2 Description 3.4.3 Analysis; Identifying Boundary Values 3.4.4 Test Coverage Items 3.4.5 Test Cases 3.4.6 Pitfalls Evaluation 3.5.1 Limitations 3.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers ՜ vii ՜ ՜ ՚ · ՜ ՜: 52 52 53 54 54 54 54 55 55 55 56 56 58 59 59 Decision Table Testing 60 4.1 4.2 60 60 60 67 67 69 70 70 71 71 71 72 72 81 82 82 82 83 85 85 85 4.3 4.4 4.5 4.6 4.7 5 .............. Testing Combinations with DecisionTables Example 4.2.1 Analysis 4.2.2 Test Coverage Items 4.2.3 Test Cases 4.2.4 Verification of the Test Cases Test Implementation and Results 4.3.1 Implementation 4.3.2 Test Results A More Detailed Look at Testing with Decision Tables 4.4.1 Fault Model 4.4.2 Description 4.4.3 Analysis: Developing Decision Tables 4.4.4 Test Coverage Items 4.4.5 Test Cases 4.4.6 Pitfalls Evaluation 4.5.1 Limitations 4.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers Statement Coverage 86 5.1 5.2 86 86 87 Introduction to White-Box Testing Testing with Statement Coverage 5.2.1 Statement Coverage Measurement
viii Contents 5.3 5.4 5.5 5.6 5.7 5.8 Example 5.3.1 Analysis: Identifying Unexecuted Statements 5.3.2 Test Coverage Items 5.3.3 Test Cases 5.3.4 Verification of the Test Cases Test Implementation and Results Implementation 5.4.1 5.4.2 Test Results Statement Coverage Testing in More Detail Fault Model 5.5.1 Description 5.5.2 Analysis: Identifying Unexecuted Statements 5.5.3 Test Coverage Items 5.5.4 5.5.5 Test Cases Evaluation Limitations 5.6.1 Strengths and Weaknesses 5.6.2 Key Points Notes for Experienced Testers Branch Coverage 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Testing with Branch Coverage Branch Coverage Measurement 6.1.1 Example Analysis: Identifying Untaken Branches 6.2.1 Test Coverage Items 6.2.2 6.2.3 Test Cases Verification of the Test Cases 6.2.4 Test Implementation and Results Implementation 6.3.1 Test Results 6.3.2 Branch Coverage in More Detail Fault Model 6.4.1 Description 6.4.2 Goal 6.4.3 Analysis: Identifying Untaken Branches 6.4.4 6.4.5 Test Coverage Item Test Cases 6.4.6 Evaluation 6.5.1 Limitations 6.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers 87 88 90 91 91 92 92 93 94 94 94 94 94 94 95 95 97 98 98 99 99 99 99 100 103 103 103 104 104 105 107 107 107 108 109 109 109 109 109 111 112 112
Contents IX ЅК«ЃИ« »ГЃ All Paths Coverage 7.1 7.2 7.3 7.4 7.5 7.6 7.7 Testing with All Paths Coverage Example Code Analysis 7.2.1 Test Coverage Items 7.2.2 Test Cases 7.2.3 7.2.4 Verification of the Test Cases Test Implementation and Results Implementation 7.3.1 7.3.2 Test Results All Paths Coverage Testing in More Detail 7.4.1 Fault Model 7.4.2 Description 7.4.3 Analysis: Developing Control-Flow Graphs 7.4.4 Analysis: Identifying End-to-End Paths 7.4.5 The Possible Paths in Fault 6 7.4.6 Test Coverage Items 7.4.7 Test Cases Evaluation 7.5.1 Limitations Strengths and Weaknesses 7.5.2 Key Points Notes for the Experienced Tester 113 113 114 114 119 119 120 120 120 121 123 123 123 123 128 131 136 136 136 136 139 139 140 Black-Box and White-Box Testing 141 8.1 142 143 143 145 146 147 147 148 149 150 151 152 153 155 156 157 157 158 8.2 8.3 Comparison of Black-Box and White-Box Testing 8.1.1 Black-Box Testing 8.1.2 White-Box Testing 8.1.3 Errors of Omission and Commission 8.1.4 Usage Black-Box Testing: Additional Matters Strings and Arrays 8.2.1 Discontinuous Input Partitions 8.2.2 Overlapping Output Partitions 8.2.3 8.2.4 In-band Error Reporting Handling Relative Values 8.2.5 Classic Triangle Problem 8.2.6 8.2.7 Testing Sequences of Inputs/State-Based Testing Floating Point Numbers 8.2.8 Numeric Processing 8.2.9 White-Box Testing: Some More Techniques 8.3.1 Dataflow Coverage/Definition-Use Pairs Condition Coverage 8.3.2
x Contents 8.4 8.3.3 Decision Coverage Decision Condition Coverage 8.3.4 Multiple Condition Coverage 8.3.5 Modified Condition/Decision Coverage 8.3.6 8.3.7 Test Ranking Repair-Based Testing Specific Repair Test 8.4.1 Generic Repair Test 8.4.2 Abstracted Repair Test 8.4.3 8.4.4 Example Using Repair-Based Tests 8.4.5 159 159 160 161 162 163 163 163 163 163 164 Testing Object-Oriented Software 165 9.1 9.2 165 165 168 168 169 171 171 172 174 174 175 176 176 177 177 178 180 180 180 181 181 181 182 185 185 187 187 187 189 190 191 9.3 9.4 9.5 Testing in Class Context Example 9.2.1 Analysis 9.2.2 Deciding on Which Methods to Test 9.2.3 Selecting a Test Technique 9.2.4 Test Coverage Items 9.2.5 Test Cases 9.2.6 Verification of the Test Cases Test Implementation and Results Test Implementation 9.3.1 9.3.2 Test Results A More Detailed Look at Testing Object-Oriented Software 9.4.1 Object-Oriented Programming Testing Object-Oriented Software 9.4.2 9.4.3 Fault Models 9.4.4 Testing in Class Context 9.4.5 Analysis for 00 Testing 9.4.6 Test Coverage Items 9.4.7 Test Cases 9.4.8 Test Implementation Overview of Advanced OO Testing 9.4.9 Inheritance Testing 9.4.10 State-Based Testing 9.4.11 9.4.12 UML-Based Testing Built-In Testing 9.4.13 Evaluation Limitations 9.5.1 Simple Typo Fault 9.5.2 State-Based Fault 9.5.3 9.5.4 Inheritance Fault Strengths and Weaknesses 9.5.5
Contents 9.6 9.7 10 Key Points Notes for Experienced Testers Application Testing 10.1 10.2 Testing Web Applications with User Stories Example 10.2.1 Analysis 10.2.2 Test Coverage Items 10.2.3 Test Cases 10.2.4 Verification of the Test Cases 10.3 Test Implementation and Results 10.3.1 Implementation 10.3.2 Test Results 10.4 Application Testing in More Detail 10.4.1 System Test Model 10.4.2 Application Test Model 10.4.3 System Testing and Integration Testing 10.4.4 Fault Models for Application Testing 10.4.5 Analysis 10.4.6 Test Coverage Items 10.4.7 Test Cases 10.4.8 Implementation 10.4.9 Interacting with HTML Elements 10.4.10 Test Output Messages 10.4.11 Record and Playback Testing 10.5 Evaluation 10.5.1 Limitations 10.5.2 Strengths and Weaknesses 10.6 Key Points 10.7 Key Differences between Unit Testing and Application Testing 10.8 Notes for Experienced Testers 11 x¡ 192 192 193 193 193 194 199 200 202 202 202 207 207 207 208 209 211 213 217 217 217 220 220 221 222 222 226 226 227 228 Test Automation 230 11.1 230 231 231 232 232 233 235 235 237 239 11.2 11.3 11.4 11.5 Introduction 11.1.1 Interpreting Test Results 11.1.2 Documenting Automated Tests 11.1.3 Software Test Automation and Version Control Test Frameworks: TestNG 11.2.1 A Detailed Look at a TestNG Example Organising Automated Test Code 11.3.1 Organising TestNG Tests with an XML File Setup and Cleanup Methods Inline Tests vs Parameterised Tests
xii Contents 11.6 11.7 11.8 11.9 Test Coverage Measurement Timeouts Exceptions Inheritance Testing 11.9.1 Using the Class Name 11.9.2 Inheriting Superclass Tests 11.9.3 Inheritance Test Selection 11.10 Interfacing to Web Applications 11.11 Interfacing to Desktop Applications 11.12 Interfacing to Mobile Applications 242 244 245 247 248 250 253 255 257 257 Random Testing 259 12.1 12.2 12.3 259 259 260 260 261 262 263 264 264 265 265 265 270 270 270 273 274 274 275 276 277 12.4 12.5 12.6 12.7 12.8 Introduction to Random Testing Random Data Selection Unit Test Example 12.3.1 Test Coverage Items 12.3.2 Test Cases 12.3.3 Test Implementation 12.3.4 Test Results Application Testing Example 12.4.1 Analysis 12.4.2 Test Coverage Items 12.4.3 Test Cases 12.4.4 Test Implementation 12.4.5 Test Results Random Testing in More Detail 12.5.1 Barriers to Full Automation 12.5.2 Overview of Other Types of Random Testing Evaluation 12.6.1 Limitations 12.6.2 Strengths and Weaknesses Key Points Notes for the Experienced Tester Testing in the Software Process 13.1 13.2 13.3 13.4 13.5 13.6 Test Planning Software Development Life Cycle The Waterfall Model The V-Model Incremental and Agile Development 13.5.1 Incremental Development 13.5.2 Extreme Programming 13.5.3 Scrum Process-Related Quality Standards and Models 278 279 279 280 281 282 283 284 285 286
Contents xiii Wrap Up 287 14.1 14.2 287 289 289 289 290 290 291 291 292 292 292 293 293 293 294 294 295 295 296 296 296 297 14.3 14.4 Summary A Reverse Look at Testing A Test Implementation 14.2.1 Test Cases 14.2.2 Test Coverage Items 14.2.3 Test Analysis 14.2.4 The Software Specification 14.2.5 Discussion 14.2.6 Further Reading Testing in the Software Process 14.3.1 Standards on Software Testing 14.3.2 Software Testing Techniques 14.3.3 14.3.4 Testing Object-Oriented Software Integration Testing 14.3.5 Random Testing 14.3.6 Testing for Language-Specific Hazards 14.3.7 Program Proving 14.3.8 Testing Safety-Critical Software 14.3.9 14.3.10 Going Off-Piste Research Directions 14.4.1 Conferences 14.4.2 Research Topics Appendix: Running the Examples Bibliography Listing Index 298 299 301 303
|
adam_txt |
Contents Preface Acknowledgements 1 Introduction to Software Testing 1.1 The Software Industry 1.1.1 Software Testing and Quality 1.1.2 Software Testing and Risk Management 1.2 Mistakes, Faults, and Failures 1.2.1 Mistakes 1.2.2 Software Faults 1.2.3 Software Failures 1.2.4 Need for Testing 1.3 The Role of Specifications 1.4 Manual Test Example 1.5 The Theory of Software Testing 1.6 Exhaustive Testing 1.6.1 Exhaustive Test Data 1.6.2 Feasibility of Exhaustive Testing 1.7 Test Heuristics 1.7.1 Random Testing 1.7.2 Black-Box and White-Box Testing 1.7.3 Experience-Based Testing 1.7.4 Fault Insertion 1.8 When to Finish Testing 1.9 Static and Dynamic Testing 1.9.1 Review-Based Techniques 1.9.2 Program Proving 1.10 Testing in the Software Development Process 1.11 Software Testing Activities 1.11.1 Analysis 1.11.2 Test Coverage Items 1.11.3 Test Cases 1.11.4 Test Design Verification 1.11.5 Test Implementation page xv xvii 1 1 3 3 4 5 5 6 8 9 10 11 11 11 12 12 13 14 15 15 15 16 16 17 17 19 19 20 21 22 22
VI Contents 1.12 1.13 1.14 1.15 Test Artefacts Fault Models Using this Book 1.14.1 Book Structure 1.14.2 Order of Testing 1.14.3 Documenting Test Design 1.14.4 The Programming Language 1.14.5 Level of Detail 1.14.6 Examples 1.14.7 Software Test Tools Notes on Terminology 23 24 24 24 25 25 25 26 26 26 26 Equivalence Partitions 27 2.1 2.2 27 27 28 32 32 35 36 36 37 39 40 40 40 40 42 42 42 43 43 46 47 47 2.3 2.4 2.5 2.6 2.7 Testing with Equivalence Partitions Example 2.2.1 Analysis: Identifying the Equivalence Partitions 2.2.2 Test Coverage Items 2.2.3 Test Cases 2.2.4 Verification of the Test Cases Test Implementation and Results 2.3.1 Manual Test Output 2.3.2 Automated Test Implementation 2.3.3 Test Results Equivalence Partitions in More Detail 2.4.1 Fault Model 2.4.2 Description 2.4.3 Analysis: Identifying Equivalence Partitions 2.4.4 Test Coverage Items Test Cases 2.4.5 2.4.6 Pitfalls Evaluation 2.5.1 Limitations 2.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers Boundary Value Analysis 48 3.1 3.2 48 48 48 49 49 51 Testing with Boundary Value Analysis Example 3.2.1 Analysis: Identifying the Boundary Values 3.2.2 Test Coverage Items 3.2.3 Test Cases 3.2.4 Verification of the Test Cases
Contents ¿.¡.я՝.՝- ■--՛-՛ ՝ -.v ■.՝.· 3.3 3.4 3.5 3.6 3.7 4 ՜ ՜ " Test Implementation and Results 3.3.1 Implementation 3.3.2 Test Results Boundary Value Analysis in More Detail 3.4.1 Fault Model 3.4.2 Description 3.4.3 Analysis; Identifying Boundary Values 3.4.4 Test Coverage Items 3.4.5 Test Cases 3.4.6 Pitfalls Evaluation 3.5.1 Limitations 3.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers ՜ ' vii ՜ ՜ ՚ · ՜ ՜: 52 52 53 54 54 54 54 55 55 55 56 56 58 59 59 Decision Table Testing 60 4.1 4.2 60 60 60 67 67 69 70 70 71 71 71 72 72 81 82 82 82 83 85 85 85 4.3 4.4 4.5 4.6 4.7 5 . Testing Combinations with DecisionTables Example 4.2.1 Analysis 4.2.2 Test Coverage Items 4.2.3 Test Cases 4.2.4 Verification of the Test Cases Test Implementation and Results 4.3.1 Implementation 4.3.2 Test Results A More Detailed Look at Testing with Decision Tables 4.4.1 Fault Model 4.4.2 Description 4.4.3 Analysis: Developing Decision Tables 4.4.4 Test Coverage Items 4.4.5 Test Cases 4.4.6 Pitfalls Evaluation 4.5.1 Limitations 4.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers Statement Coverage 86 5.1 5.2 86 86 87 Introduction to White-Box Testing Testing with Statement Coverage 5.2.1 Statement Coverage Measurement
viii Contents 5.3 5.4 5.5 5.6 5.7 5.8 Example 5.3.1 Analysis: Identifying Unexecuted Statements 5.3.2 Test Coverage Items 5.3.3 Test Cases 5.3.4 Verification of the Test Cases Test Implementation and Results Implementation 5.4.1 5.4.2 Test Results Statement Coverage Testing in More Detail Fault Model 5.5.1 Description 5.5.2 Analysis: Identifying Unexecuted Statements 5.5.3 Test Coverage Items 5.5.4 5.5.5 Test Cases Evaluation Limitations 5.6.1 Strengths and Weaknesses 5.6.2 Key Points Notes for Experienced Testers Branch Coverage 6.1 6.2 6.3 6.4 6.5 6.6 6.7 Testing with Branch Coverage Branch Coverage Measurement 6.1.1 Example Analysis: Identifying Untaken Branches 6.2.1 Test Coverage Items 6.2.2 6.2.3 Test Cases Verification of the Test Cases 6.2.4 Test Implementation and Results Implementation 6.3.1 Test Results 6.3.2 Branch Coverage in More Detail Fault Model 6.4.1 Description 6.4.2 Goal 6.4.3 Analysis: Identifying Untaken Branches 6.4.4 6.4.5 Test Coverage Item Test Cases 6.4.6 Evaluation 6.5.1 Limitations 6.5.2 Strengths and Weaknesses Key Points Notes for Experienced Testers 87 88 90 91 91 92 92 93 94 94 94 94 94 94 95 95 97 98 98 99 99 99 99 100 103 103 103 104 104 105 107 107 107 108 109 109 109 109 109 111 112 112
Contents IX ЅК«ЃИ« »ГЃ All Paths Coverage 7.1 7.2 7.3 7.4 7.5 7.6 7.7 Testing with All Paths Coverage Example Code Analysis 7.2.1 Test Coverage Items 7.2.2 Test Cases 7.2.3 7.2.4 Verification of the Test Cases Test Implementation and Results Implementation 7.3.1 7.3.2 Test Results All Paths Coverage Testing in More Detail 7.4.1 Fault Model 7.4.2 Description 7.4.3 Analysis: Developing Control-Flow Graphs 7.4.4 Analysis: Identifying End-to-End Paths 7.4.5 The Possible Paths in Fault 6 7.4.6 Test Coverage Items 7.4.7 Test Cases Evaluation 7.5.1 Limitations Strengths and Weaknesses 7.5.2 Key Points Notes for the Experienced Tester 113 113 114 114 119 119 120 120 120 121 123 123 123 123 128 131 136 136 136 136 139 139 140 Black-Box and White-Box Testing 141 8.1 142 143 143 145 146 147 147 148 149 150 151 152 153 155 156 157 157 158 8.2 8.3 Comparison of Black-Box and White-Box Testing 8.1.1 Black-Box Testing 8.1.2 White-Box Testing 8.1.3 Errors of Omission and Commission 8.1.4 Usage Black-Box Testing: Additional Matters Strings and Arrays 8.2.1 Discontinuous Input Partitions 8.2.2 Overlapping Output Partitions 8.2.3 8.2.4 In-band Error Reporting Handling Relative Values 8.2.5 Classic Triangle Problem 8.2.6 8.2.7 Testing Sequences of Inputs/State-Based Testing Floating Point Numbers 8.2.8 Numeric Processing 8.2.9 White-Box Testing: Some More Techniques 8.3.1 Dataflow Coverage/Definition-Use Pairs Condition Coverage 8.3.2
x Contents 8.4 8.3.3 Decision Coverage Decision Condition Coverage 8.3.4 Multiple Condition Coverage 8.3.5 Modified Condition/Decision Coverage 8.3.6 8.3.7 Test Ranking Repair-Based Testing Specific Repair Test 8.4.1 Generic Repair Test 8.4.2 Abstracted Repair Test 8.4.3 8.4.4 Example Using Repair-Based Tests 8.4.5 159 159 160 161 162 163 163 163 163 163 164 Testing Object-Oriented Software 165 9.1 9.2 165 165 168 168 169 171 171 172 174 174 175 176 176 177 177 178 180 180 180 181 181 181 182 185 185 187 187 187 189 190 191 9.3 9.4 9.5 Testing in Class Context Example 9.2.1 Analysis 9.2.2 Deciding on Which Methods to Test 9.2.3 Selecting a Test Technique 9.2.4 Test Coverage Items 9.2.5 Test Cases 9.2.6 Verification of the Test Cases Test Implementation and Results Test Implementation 9.3.1 9.3.2 Test Results A More Detailed Look at Testing Object-Oriented Software 9.4.1 Object-Oriented Programming Testing Object-Oriented Software 9.4.2 9.4.3 Fault Models 9.4.4 Testing in Class Context 9.4.5 Analysis for 00 Testing 9.4.6 Test Coverage Items 9.4.7 Test Cases 9.4.8 Test Implementation Overview of Advanced OO Testing 9.4.9 Inheritance Testing 9.4.10 State-Based Testing 9.4.11 9.4.12 UML-Based Testing Built-In Testing 9.4.13 Evaluation Limitations 9.5.1 Simple Typo Fault 9.5.2 State-Based Fault 9.5.3 9.5.4 Inheritance Fault Strengths and Weaknesses 9.5.5
Contents 9.6 9.7 10 Key Points Notes for Experienced Testers Application Testing 10.1 10.2 Testing Web Applications with User Stories Example 10.2.1 Analysis 10.2.2 Test Coverage Items 10.2.3 Test Cases 10.2.4 Verification of the Test Cases 10.3 Test Implementation and Results 10.3.1 Implementation 10.3.2 Test Results 10.4 Application Testing in More Detail 10.4.1 System Test Model 10.4.2 Application Test Model 10.4.3 System Testing and Integration Testing 10.4.4 Fault Models for Application Testing 10.4.5 Analysis 10.4.6 Test Coverage Items 10.4.7 Test Cases 10.4.8 Implementation 10.4.9 Interacting with HTML Elements 10.4.10 Test Output Messages 10.4.11 Record and Playback Testing 10.5 Evaluation 10.5.1 Limitations 10.5.2 Strengths and Weaknesses 10.6 Key Points 10.7 Key Differences between Unit Testing and Application Testing 10.8 Notes for Experienced Testers 11 x¡ 192 192 193 193 193 194 199 200 202 202 202 207 207 207 208 209 211 213 217 217 217 220 220 221 222 222 226 226 227 228 Test Automation 230 11.1 230 231 231 232 232 233 235 235 237 239 11.2 11.3 11.4 11.5 Introduction 11.1.1 Interpreting Test Results 11.1.2 Documenting Automated Tests 11.1.3 Software Test Automation and Version Control Test Frameworks: TestNG 11.2.1 A Detailed Look at a TestNG Example Organising Automated Test Code 11.3.1 Organising TestNG Tests with an XML File Setup and Cleanup Methods Inline Tests vs Parameterised Tests
xii Contents 11.6 11.7 11.8 11.9 Test Coverage Measurement Timeouts Exceptions Inheritance Testing 11.9.1 Using the Class Name 11.9.2 Inheriting Superclass Tests 11.9.3 Inheritance Test Selection 11.10 Interfacing to Web Applications 11.11 Interfacing to Desktop Applications 11.12 Interfacing to Mobile Applications 242 244 245 247 248 250 253 255 257 257 Random Testing 259 12.1 12.2 12.3 259 259 260 260 261 262 263 264 264 265 265 265 270 270 270 273 274 274 275 276 277 12.4 12.5 12.6 12.7 12.8 Introduction to Random Testing Random Data Selection Unit Test Example 12.3.1 Test Coverage Items 12.3.2 Test Cases 12.3.3 Test Implementation 12.3.4 Test Results Application Testing Example 12.4.1 Analysis 12.4.2 Test Coverage Items 12.4.3 Test Cases 12.4.4 Test Implementation 12.4.5 Test Results Random Testing in More Detail 12.5.1 Barriers to Full Automation 12.5.2 Overview of Other Types of Random Testing Evaluation 12.6.1 Limitations 12.6.2 Strengths and Weaknesses Key Points Notes for the Experienced Tester Testing in the Software Process 13.1 13.2 13.3 13.4 13.5 13.6 Test Planning Software Development Life Cycle The Waterfall Model The V-Model Incremental and Agile Development 13.5.1 Incremental Development 13.5.2 Extreme Programming 13.5.3 Scrum Process-Related Quality Standards and Models 278 279 279 280 281 282 283 284 285 286
Contents xiii Wrap Up 287 14.1 14.2 287 289 289 289 290 290 291 291 292 292 292 293 293 293 294 294 295 295 296 296 296 297 14.3 14.4 Summary A Reverse Look at Testing A Test Implementation 14.2.1 Test Cases 14.2.2 Test Coverage Items 14.2.3 Test Analysis 14.2.4 The Software Specification 14.2.5 Discussion 14.2.6 Further Reading Testing in the Software Process 14.3.1 Standards on Software Testing 14.3.2 Software Testing Techniques 14.3.3 14.3.4 Testing Object-Oriented Software Integration Testing 14.3.5 Random Testing 14.3.6 Testing for Language-Specific Hazards 14.3.7 Program Proving 14.3.8 Testing Safety-Critical Software 14.3.9 14.3.10 Going Off-Piste Research Directions 14.4.1 Conferences 14.4.2 Research Topics Appendix: Running the Examples Bibliography Listing Index 298 299 301 303 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Bierig, Ralf 1976- Brown, Stephen ca. 20./21. Jh Galván, Edgar 1977- Timoney, Joseph 1971- |
author_GND | (DE-588)1241586144 (DE-588)1241586470 (DE-588)1256438049 (DE-588)1037104595 |
author_facet | Bierig, Ralf 1976- Brown, Stephen ca. 20./21. Jh Galván, Edgar 1977- Timoney, Joseph 1971- |
author_role | aut aut aut aut |
author_sort | Bierig, Ralf 1976- |
author_variant | r b rb s b sb e g eg j t jt |
building | Verbundindex |
bvnumber | BV047421770 |
classification_rvk | ST 233 QH 500 |
ctrlnum | (OCoLC)1273465492 (DE-599)BVBBV047421770 |
discipline | Informatik Wirtschaftswissenschaften |
discipline_str_mv | Informatik Wirtschaftswissenschaften |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01610nam a2200361 c 4500</leader><controlfield tag="001">BV047421770</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220706 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">210816s2022 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781108833349</subfield><subfield code="c">hbk.</subfield><subfield code="9">978-1-108-83334-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1273465492</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV047421770</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-573</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-1102</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 233</subfield><subfield code="0">(DE-625)143620:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">QH 500</subfield><subfield code="0">(DE-625)141607:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Bierig, Ralf</subfield><subfield code="d">1976-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1241586144</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Essentials of software testing</subfield><subfield code="c">Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge, United Kingdom</subfield><subfield code="b">Cambridge University Press</subfield><subfield code="c">2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xiii, 304 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwaretest</subfield><subfield code="0">(DE-588)4132652-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwaretest</subfield><subfield code="0">(DE-588)4132652-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Brown, Stephen</subfield><subfield code="d">ca. 20./21. Jh.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1241586470</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Galván, Edgar</subfield><subfield code="d">1977-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1256438049</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Timoney, Joseph</subfield><subfield code="d">1971-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1037104595</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032824371&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-032824371</subfield></datafield></record></collection> |
id | DE-604.BV047421770 |
illustrated | Illustrated |
index_date | 2024-07-03T17:56:53Z |
indexdate | 2024-07-10T09:11:43Z |
institution | BVB |
isbn | 9781108833349 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-032824371 |
oclc_num | 1273465492 |
open_access_boolean | |
owner | DE-573 DE-706 DE-739 DE-29T DE-1050 DE-83 DE-898 DE-BY-UBR DE-1102 |
owner_facet | DE-573 DE-706 DE-739 DE-29T DE-1050 DE-83 DE-898 DE-BY-UBR DE-1102 |
physical | xiii, 304 Seiten Illustrationen |
publishDate | 2022 |
publishDateSearch | 2022 |
publishDateSort | 2022 |
publisher | Cambridge University Press |
record_format | marc |
spelling | Bierig, Ralf 1976- Verfasser (DE-588)1241586144 aut Essentials of software testing Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney Cambridge, United Kingdom Cambridge University Press 2022 xiii, 304 Seiten Illustrationen txt rdacontent n rdamedia nc rdacarrier Softwaretest (DE-588)4132652-0 gnd rswk-swf Softwaretest (DE-588)4132652-0 s DE-604 Brown, Stephen ca. 20./21. Jh. Verfasser (DE-588)1241586470 aut Galván, Edgar 1977- Verfasser (DE-588)1256438049 aut Timoney, Joseph 1971- Verfasser (DE-588)1037104595 aut Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032824371&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Bierig, Ralf 1976- Brown, Stephen ca. 20./21. Jh Galván, Edgar 1977- Timoney, Joseph 1971- Essentials of software testing Softwaretest (DE-588)4132652-0 gnd |
subject_GND | (DE-588)4132652-0 |
title | Essentials of software testing |
title_auth | Essentials of software testing |
title_exact_search | Essentials of software testing |
title_exact_search_txtP | Essentials of software testing |
title_full | Essentials of software testing Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney |
title_fullStr | Essentials of software testing Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney |
title_full_unstemmed | Essentials of software testing Ralf Bierig, Stephen Brown, Edgar Galván, Joe Timoney |
title_short | Essentials of software testing |
title_sort | essentials of software testing |
topic | Softwaretest (DE-588)4132652-0 gnd |
topic_facet | Softwaretest |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=032824371&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT bierigralf essentialsofsoftwaretesting AT brownstephen essentialsofsoftwaretesting AT galvanedgar essentialsofsoftwaretesting AT timoneyjoseph essentialsofsoftwaretesting |