How to break software: a practical guide to testing
CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0.
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston ; Munich [u.a.]
Addison Wesley
2003
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Zusammenfassung: | CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0. |
Beschreibung: | XVIII, 178 S. Ill., graph. Darst. CD-ROM (12 cm) |
ISBN: | 0201796198 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV014423418 | ||
003 | DE-604 | ||
005 | 20120220 | ||
007 | t | ||
008 | 020624s2003 ad|| |||| 00||| eng d | ||
020 | |a 0201796198 |9 0-201-79619-8 | ||
035 | |a (OCoLC)146282052 | ||
035 | |a (DE-599)BVBBV014423418 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-824 |a DE-573 | ||
050 | 0 | |a QA76.76.T48 | |
082 | 0 | |a 005.1/4 |2 21 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
100 | 1 | |a Whittaker, James A. |e Verfasser |4 aut | |
245 | 1 | 0 | |a How to break software |b a practical guide to testing |c James A. Whittaker |
264 | 1 | |a Boston ; Munich [u.a.] |b Addison Wesley |c 2003 | |
300 | |a XVIII, 178 S. |b Ill., graph. Darst. |e CD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
520 | 3 | |a CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0. | |
650 | 4 | |a Computer software |x Testing | |
650 | 0 | 7 | |a Bug |g Informatik |0 (DE-588)4238603-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwaretest |0 (DE-588)4132652-0 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Bug |g Informatik |0 (DE-588)4238603-2 |D s |
689 | 0 | 1 | |a Softwaretest |0 (DE-588)4132652-0 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009860699&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-009860699 |
Datensatz im Suchindex
_version_ | 1804129276129181696 |
---|---|
adam_text | Table of Contents
Dedication v
Preface vii
Acknowledgments xi
Chapter Summaries xiii
PART 1 INTRODUCTION 1
Chapter 1 A Fault Model to Guide Software Testing 3
The Purpose of Software Testing 3
Understanding Software Behavior 4
Understanding Software s Environment 6
The Human User 8
File System User 9
The Operating System User 10
The Software User 11
Understanding Software s Capabilities 11
Testing Input 12
Testing Output 13
Testing Data 13
Testing Computation 14
Summary and Conclusion 14
Exercises 15
References 16
PART 2 USER INTERFACE ATTACKS 17
Chapter 2 Testing from the User Interface:
Inputs and Outputs 19
Using the Fault Model to Guide Testing 19
Exploring the Input Domain 19
Attack 1: Apply inputs that force all the
error messages to occur 20
Attack 2: Apply inputs that force the
software to establish default values 25
Attack 3: Explore allowable character sets
and data types 28
Attack 4: Overflow input buffers 34
Attack 5: Find inputs that may interact
and test combinations of their values 37
Attack 6: Repeat the same input or series
of inputs numerous times 39
Exploring Outputs 42
Attack 7: Force different outputs to be
generated for each input 42
Attack 8: Force invalid outputs to be generated 44
Attack 9: Force properties of an output to change 47
Attack 10: Force the screen to refresh 51
Conclusion 54
Exercises 55
References 55
Chapter 3 Testing from the User Interface:
Data and Computation 57
Testing Inside the Box 57
Exploring Stored Data 57
Attack 11: Apply inputs using a
variety of initial conditions 58
Attack 12: Force a data structure
to store too many or too few values 60
Attack 13: Investigate alternate ways
to modify internal data constraints 63
Exploring Computation and Feature Interaction 67
Attack 14: Experiment with invalid
operand and operator combinations 67
Attack 15: Force a function to call
itself recursively 71
Attack 16: Force computation results
to be too large or too small 73
Attack 17: Find features that share
data or interact poorly 75
Conclusion 78
Exercises 78
PART 3 SYSTEM INTERFACE ATTACKS 81
Chapter 4 Testing from the File System Interface 83
Attacking Software from the File System Interface 83
Media based Attacks 83
Attack 1: Fill the file system to its capacity 84
Attack 2: Force the media to be busy
or unavailable 89
Attack 3: Damage the media 94
File based Attacks 95
Attack 4: Assign an invalid file name 96
Attack 5: Vary file access permissions 99
Attack 6: Vary or corrupt file contents 100
Summary and Conclusion 103
Exercises 104
Chapter 5 Testing from the Software/OS Interface 105
Attacking Software from Software Interfaces 105
Record and Simulate Attacks 106
Inject faults that cause all error handling code
to be executed and exceptions to be tripped 106
Inject faults that can be readily staged in the testing lab 106
Inject faults that might realistically occur in the field 107
Observe and Fail Attacks 116
Conclusion 120
Exercises 120
PART 4 CONCLUSION 121
Chapter 6 Some Parting Advice 123
You ll Never Know Everything 123
Bug Hunts 124
Friday Afternoon Bug Fests 125
Conclusion 126
References 126
APPENDIXES 127
Annotated Glossary of Programming Terms 129
Appendix A Testing Exception and Error Cases
Using Runtime Fault Injection 135
Introduction 135
A Mechanism for Runtime Fault Injection 136
Fault Selection 138
Pattern based Fault Injection 139
Systematic Call based Fault Injection 148
Conclusions 150
Acknowledgments 151
References 151
Appendix B Using HEAT: The Hostile
Environment Application Tester 153
Canned HEAT User Guide 153
The Application Band 153
The Monitor Band 154
Fault Injection Bands and Their Functionality 154
The Network Band 155
Disk Storage 156
Memory 157
Appendix C What is Software Testing?
And Why is it So Hard? 159
Introduction 159
The Software Testing Process 160
Phase One: Modeling the Software s Environment 160
Phase Two: Selecting Test Scenarios 163
Phase Three: Running and Evaluation Test Scenarios 165
Phase Four: Measuring Testing Progress 167
Conclusion 169
References 169
The Software Testing Problem 170
Index 175
|
any_adam_object | 1 |
author | Whittaker, James A. |
author_facet | Whittaker, James A. |
author_role | aut |
author_sort | Whittaker, James A. |
author_variant | j a w ja jaw |
building | Verbundindex |
bvnumber | BV014423418 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.T48 |
callnumber-search | QA76.76.T48 |
callnumber-sort | QA 276.76 T48 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 230 ST 233 |
ctrlnum | (OCoLC)146282052 (DE-599)BVBBV014423418 |
dewey-full | 005.1/4 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1/4 |
dewey-search | 005.1/4 |
dewey-sort | 15.1 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01552nam a2200397 c 4500</leader><controlfield tag="001">BV014423418</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20120220 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">020624s2003 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0201796198</subfield><subfield code="9">0-201-79619-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)146282052</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV014423418</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.T48</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1/4</subfield><subfield code="2">21</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</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="100" ind1="1" ind2=" "><subfield code="a">Whittaker, James A.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">How to break software</subfield><subfield code="b">a practical guide to testing</subfield><subfield code="c">James A. Whittaker</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston ; Munich [u.a.]</subfield><subfield code="b">Addison Wesley</subfield><subfield code="c">2003</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVIII, 178 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="e">CD-ROM (12 cm)</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="520" ind1="3" ind2=" "><subfield code="a">CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Testing</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Bug</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4238603-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</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">Bug</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4238603-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><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="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</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=009860699&sequence=000002&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-009860699</subfield></datafield></record></collection> |
id | DE-604.BV014423418 |
illustrated | Illustrated |
indexdate | 2024-07-09T19:02:34Z |
institution | BVB |
isbn | 0201796198 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-009860699 |
oclc_num | 146282052 |
open_access_boolean | |
owner | DE-739 DE-824 DE-573 |
owner_facet | DE-739 DE-824 DE-573 |
physical | XVIII, 178 S. Ill., graph. Darst. CD-ROM (12 cm) |
publishDate | 2003 |
publishDateSearch | 2003 |
publishDateSort | 2003 |
publisher | Addison Wesley |
record_format | marc |
spelling | Whittaker, James A. Verfasser aut How to break software a practical guide to testing James A. Whittaker Boston ; Munich [u.a.] Addison Wesley 2003 XVIII, 178 S. Ill., graph. Darst. CD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier CD-ROM contains: Canned HEAT v.2.0 -- Holodeck Lite v. 1.0. Computer software Testing Bug Informatik (DE-588)4238603-2 gnd rswk-swf Softwaretest (DE-588)4132652-0 gnd rswk-swf Bug Informatik (DE-588)4238603-2 s Softwaretest (DE-588)4132652-0 s DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009860699&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Whittaker, James A. How to break software a practical guide to testing Computer software Testing Bug Informatik (DE-588)4238603-2 gnd Softwaretest (DE-588)4132652-0 gnd |
subject_GND | (DE-588)4238603-2 (DE-588)4132652-0 |
title | How to break software a practical guide to testing |
title_auth | How to break software a practical guide to testing |
title_exact_search | How to break software a practical guide to testing |
title_full | How to break software a practical guide to testing James A. Whittaker |
title_fullStr | How to break software a practical guide to testing James A. Whittaker |
title_full_unstemmed | How to break software a practical guide to testing James A. Whittaker |
title_short | How to break software |
title_sort | how to break software a practical guide to testing |
title_sub | a practical guide to testing |
topic | Computer software Testing Bug Informatik (DE-588)4238603-2 gnd Softwaretest (DE-588)4132652-0 gnd |
topic_facet | Computer software Testing Bug Informatik Softwaretest |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009860699&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT whittakerjamesa howtobreaksoftwareapracticalguidetotesting |