<record xmlns="http://www.loc.gov/MARC21/slim" xmlns:zs="http://www.loc.gov/zing/srw/">
  <leader>11407nam-a2200721zu-4500</leader>
  <controlfield tag="001">almatuudk_9923198129902884</controlfield>
  <controlfield tag="003">DE-602</controlfield>
  <controlfield tag="005">20251214165656.0</controlfield>
  <controlfield tag="006">m     o  d        </controlfield>
  <controlfield tag="007">cr unu</controlfield>
  <controlfield tag="008">160829s2013    xx      o           eng d</controlfield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">9788131794760</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">8131794768</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(CKB)3710000000238716</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(SSID)ssj0001293351</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(PQKBManifestationID)12472458</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(PQKBTitleCode)TC0001293351</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(PQKBWorkID)11304383</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(PQKB)11064047</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(MiAaPQ)EBC5125170</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(Au-PeEL)EBL5125170</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(CaONFJC)MIL526741</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(OCoLC)1024284052</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(CaSebORM)9788131794760</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(OCoLC)889760585</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(OCoLC)ocn889760585</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(EXLCZ)993710000000238716</subfield>
  </datafield>
  <datafield tag="040" ind1=" " ind2=" ">
    <subfield code="a">PQKB</subfield>
  </datafield>
  <datafield tag="041" ind1=" " ind2=" ">
    <subfield code="a">eng</subfield>
  </datafield>
  <datafield tag="049" ind1=" " ind2=" ">
    <subfield code="a">DE-83;9923198129902884</subfield>
  </datafield>
  <datafield tag="050" ind1=" " ind2="0">
    <subfield code="a">QA76.76.T48 M38 2013</subfield>
  </datafield>
  <datafield tag="082" ind1=" " ind2=" ">
    <subfield code="a">005.1/4</subfield>
  </datafield>
  <datafield tag="091" ind1=" " ind2=" ">
    <subfield code="a">DE-83;9923198129902884</subfield>
  </datafield>
  <datafield tag="092" ind1=" " ind2=" ">
    <subfield code="a">almatuudk_9923198129902884</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="a">Mathur, Aditya</subfield>
    <subfield code="e">Author</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
    <subfield code="a">Foundations of software testing</subfield>
  </datafield>
  <datafield tag="250" ind1=" " ind2=" ">
    <subfield code="a">2nd ed.</subfield>
  </datafield>
  <datafield tag="264" ind1="3" ind2="1">
    <subfield code="a">[Place of publication not identified]</subfield>
    <subfield code="b">Pearson</subfield>
    <subfield code="c">2013</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">1 online resource (1 v.) :</subfield>
    <subfield code="b">ill.</subfield>
  </datafield>
  <datafield tag="336" ind1=" " ind2=" ">
    <subfield code="a">text</subfield>
    <subfield code="b">txt</subfield>
  </datafield>
  <datafield tag="337" ind1=" " ind2=" ">
    <subfield code="a">computer</subfield>
    <subfield code="b">c</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="a">online resource</subfield>
    <subfield code="b">cr</subfield>
  </datafield>
  <datafield tag="347" ind1=" " ind2=" ">
    <subfield code="a">text file</subfield>
  </datafield>
  <datafield tag="490" ind1="1" ind2=" ">
    <subfield code="a">Always learning</subfield>
  </datafield>
  <datafield tag="500" ind1=" " ind2=" ">
    <subfield code="a">Bibliographic Level Mode of Issuance: Monograph</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Cover -- Contents -- Preface to the Second Edition -- Preface to the First Edition -- Acknowledgements -- Part I: Preliminaries -- Chapter 1: Preliminaries: Software Testing -- 1.1 Humans, Errors, and Testing -- 1.1.1 Errors, faults, and failures -- 1.1.2 Test automation -- 1.1.3 Developer and tester as two roles -- 1.2 Software Quality -- 1.2.1 Quality attributes -- 1.2.2 Reliability -- 1.3 Requirements, Behavior, and Correctness -- 1.3.1 Input domain -- 1.3.2 Specifying program behavior -- 1.3.3 Valid and invalid inputs -- 1.4 Correctness Versus Reliability -- 1.4.1 Correctness -- 1.4.2 Reliability -- 1.4.3 Operational profiles -- 1.5 Testing and Debugging -- 1.5.1 Preparing a test plan -- 1.5.2 Constructing test data -- 1.5.3 Executing the program -- 1.5.4 Assessing program correctness -- 1.5.5 Constructing an oracle -- 1.6 Test Metrics -- 1.6.1 Organizational metrics -- 1.6.2 Project metrics -- 1.6.3 Process metrics -- 1.6.4 Product metrics: generic -- 1.6.5 Product metrics: OO software -- 1.6.6 Progress monitoring and trends -- 1.6.7 Static and dynamic metrics -- 1.6.8 Testability -- 1.7 Software and Hardware Testing -- 1.8 Testing and Verification -- 1.9 Defect Management -- 1.10 Test Generation Strategies -- 1.11 Static Testing -- 1.11.1 Walkthroughs -- 1.11.2 Inspections -- 1.11.3 Software complexity and static testing -- 1.12 Model-Based Testing and Model Checking -- 1.13 Types of Testing -- 1.13.1 Classifier: C1: Source of test generation -- 1.13.2 Classifier: C2: Life cycle phase -- 1.13.3 Classifier: C3: Goal-directed testing -- 1.13.4 Classifier: C4: Artifact under test -- 1.13.5 Classifier: C5: Test process models -- 1.14 The Saturation Effect -- 1.14.1 Confidence and true reliability -- 1.14.2 Saturation region -- 1.14.3 False sense of confidence -- 1.14.4 Reducing -- 1.14.5 Impact on test process -- 1.15 Principles of Testing.</subfield>
  </datafield>
  <datafield tag="505" ind1="8" ind2=" ">
    <subfield code="a">1.16 Tools -- Summary -- Exercises -- Chapter 2:  Preliminaries:Mathematical -- 2.1 Predicates and Boolean Expressions -- 2.2 Control Flow Graph -- 2.2.1 Basic blocks -- 2.2.2 Flow graphs -- 2.2.3 Paths -- 2.2.4 Basis paths -- 2.2.5 Path conditions and domains -- 2.2.6 Domain and computation errors -- 2.2.7 Static code analysis tools and static testing -- 2.3 Execution History -- 2.4 Dominators and Post-Dominators -- 2.5 Program Dependence Graph -- 2.5.1 Data dependence -- 2.5.2 Control dependence -- 2.5.3 Call graph -- 2.6 Strings, Languages, and Regular Expressions -- 2.7 Tools -- Summary -- Exercises -- Part II: Test Generation -- Chapter 3: Domain Partitioning -- 3.1 Introduction -- 3.2 The Test Selection Problem -- 3.3 Equivalence Partitioning -- 3.3.1 Faults targeted -- 3.3.2 Relations -- 3.3.3 Equivalence classes for variables -- 3.3.4 Unidimensional partitioning versus multidimensional partitioning -- 3.3.5 A systematic procedure -- 3.3.6 Test selection -- 3.3.7 Impact of GUI design -- 3.4 Boundary Value Analysis -- 3.5 Category-Partition Method -- 3.5.1 Steps in the category-partition method -- Summary -- Exercises -- Chapter 4: Predicate Analysis -- 4.1 Introduction -- 4.2 Domain Testing -- 4.2.1 Domain errors -- 4.2.2 Border shifts -- 4.2.3 ON-OFF points -- 4.2.4 Undetected errors -- 4.2.5 Coincidental correctness -- 4.2.6 Paths to be tested -- 4.3 Cause-Effect Graphing -- 4.3.1 Notation used in cause-effect graphing -- 4.3.2 Creating cause-effect graphs -- 4.3.3 Decision table from cause-effect graph -- 4.3.4 Heuristics to avoid combinatorial explosion -- 4.3.5 Test generation from a decision table -- 4.4 Tests Using Predicate Syntax -- 4.4.1 A fault model -- 4.4.2 Missing or extra Boolean variable faults -- 4.4.3 Predicate constraints -- 4.4.4 Predicate testing criteria -- 4.4.5 BOR, BRO, and BRE adequate tests.</subfield>
  </datafield>
  <datafield tag="505" ind1="8" ind2=" ">
    <subfield code="a">4.4.6 BOR constraints for non-singular expressions -- 4.4.7 Cause-effect graphs and predicate testing -- 4.4.8 Fault propagation -- 4.4.9 Predicate testing in practice -- 4.5 Tests Using Basis Paths -- 4.6 Scenarios and Tests -- Summary -- Exercises -- Chapter 5: Test Generation from Finite State Models -- 5.1 Software Design and Testing -- 5.2 Finite State Machines -- 5.2.1 Excitation using an input sequence -- 5.2.2 Tabular representation -- 5.2.3 Properties of FSM -- 5.3 Conformance Testing -- 5.3.1 Reset inputs -- 5.3.2 The testing problem -- 5.4 A Fault Model -- 5.4.1 Mutants of FSMs -- 5.4.2 Fault coverage -- 5.5 Characterization Set -- 5.5.1 Construction of the k-equivalence partitions -- 5.5.2 Deriving the characterization set -- 5.5.3 Identification sets -- 5.6 The W-method -- 5.6.1 Assumptions -- 5.6.2 Maximum number of states -- 5.6.3 Computation of the transition cover set -- 5.6.4 Constructing Z -- 5.6.5 Deriving a test set -- 5.6.6 Testing using the W-method -- 5.6.7 The error detection process -- 5.7 The Partial W-method -- 5.7.1 Testing using the Wp-method for m - n -- 5.7.2 Testing using the Wp-method for m&gt;n -- 5.8 The UIO-Sequence Method -- 5.8.1 Assumptions -- 5.8.2 UIO sequences -- 5.8.3 Core and non-core behavior -- 5.8.4 Generation of UIO sequences -- 5.8.5 Explanation of gen-uio -- 5.8.6 Distinguishing signatures -- 5.8.7 Test generation -- 5.8.8 Test optimization -- 5.8.9 Fault detection -- 5.9 Automata Theoretic Versus Control-Flow Based Techniques -- 5.9.1 n-switch-cover -- 5.9.2 Comparing automata theoretic methods -- 5.10 Tools -- Summary -- Exercises -- Chapter 6: Test Generation from Combinatorial Designs -- 6.1 Combinatorial Designs -- 6.1.1 Test configuration and test set -- 6.1.2 Modeling the input and configuration spaces -- 6.2 A Combinatorial Test Design Process -- 6.3 Fault Model -- 6.3.1 Fault vectors.</subfield>
  </datafield>
  <datafield tag="505" ind1="8" ind2=" ">
    <subfield code="a">6.4 Latin Squares -- 6.5 Mutually Orthogonal Latin Squares -- 6.6 Pairwise Design: Binary Factors -- 6.7 Pairwise Design: Multi-Valued Factors -- 6.7.1 Shortcomings of using MOLS for test design -- 6.8 Orthogonal Arrays -- 6.8.1 Mixed-level orthogonal arrays -- 6.9 Covering and Mixed-Level Covering Arrays -- 6.9.1 Mixed-level covering arrays -- 6.10 Arrays of Strength &gt; 2 -- 6.11 Generating Covering Arrays -- 6.12 Tools -- Summary -- Exercises -- Part III: Test Adequacy Assessment and Enhancement -- Chapter 7: Test Adequacy Assessment Using Control Flow and Data Flow -- 7.1 Test Adequacy: Basics -- 7.1.1 What is test adequacy? -- 7.1.2 Measurement of test adequacy -- 7.1.3 Test enhancement using measurements of adequacy -- 7.1.4 Infeasibility and test adequacy -- 7.1.5 Error detection and test enhancement -- 7.1.6 Single and multiple executions -- 7.2 Adequacy Criteria Based on Control Flow -- 7.2.1 Statement and block coverage -- 7.2.2 Conditions and decisions -- 7.2.3 Decision coverage -- 7.2.4 Condition coverage -- 7.2.5 Condition/decision coverage -- 7.2.6 Multiple condition coverage -- 7.2.7 Linear code sequence and jump (LCSAJ) coverage -- 7.2.8 Modified condition/decision coverage -- 7.2.9 MC/DC adequate tests for compound conditions -- 7.2.10 Definition of MC/DC coverage -- 7.2.11 Minimal MC/DC tests -- 7.2.12 Error detection and MC/DC adequacy -- 7.2.13 Short-circuit evaluation and infeasibility -- 7.2.14 Basis path coverage -- 7.2.15 Tracing test cases to requirements -- 7.3 Concepts From Data Flow -- 7.3.1 Definitions and uses -- 7.3.2 C-use and p-use -- 7.3.3 Global and local definitions and uses -- 7.3.4 Data flow graph -- 7.3.5 Def-clear paths -- 7.3.6 Def-use pairs -- 7.3.7 Def-use chains -- 7.3.8 A little optimization -- 7.3.9 Data contexts and ordered data contexts -- 7.4 Adequacy Criteria Based on Data Flow -- 7.4.1 c-use coverage.</subfield>
  </datafield>
  <datafield tag="505" ind1="8" ind2=" ">
    <subfield code="a">7.4.2 p-use coverage -- 7.4.3 All-uses coverage -- 7.4.4 k-dr chain coverage -- 7.4.5 Using the k-dr chain coverage -- 7.4.6 Infeasible c- and p-uses -- 7.4.7 Context coverage -- 7.5 Control Flow Versus Data Flow -- 7.6 The "Subsumes" Relation -- 7.7 Structural and Functional Testing -- 7.8 Scalability of Coverage Measurement -- 7.9 Tools -- Summary -- Exercises -- Chapter 8: Test Adequacy Assessment using Program Mutation -- 8.1 Introduction -- 8.2 Mutation and Mutants -- 8.2.1 First order and higher order mutants -- 8.2.2 Syntax and semantics of mutants -- 8.2.3 Strong and weak mutations -- 8.2.4 Why mutate ? -- 8.3 Test Assessment Using Mutation -- 8.3.1 A procedure for test adequacy assessment -- 8.3.2 Alternate procedures for test adequacy assessment -- 8.3.3 "Distinguished" versus "killed" mutants -- 8.3.4 Conditions for distinguishing a mutant -- 8.4 Mutation Operators -- 8.4.1 Operator types -- 8.4.2 Language dependence of mutation operators -- 8.5 Design of Mutation Operators -- 8.5.1 Goodness criteria for mutation operators -- 8.5.2 Guidelines -- 8.6 Founding Principles of Mutation Testing -- 8.6.1 The competent programmer hypothesis -- 8.6.2 The coupling effect -- 8.7 Equivalent Mutants -- 8.8 Fault Detection Using Mutation -- 8.9 Types of Mutants -- 8.10 Mutation Operators for C -- 8.10.1 What is not mutated ? -- 8.10.2 Linearization -- 8.10.3 Execution sequence -- 8.10.4 Effect of an execution sequence -- 8.10.5 Global and local identifier sets -- 8.10.6 Global and local reference sets -- 8.10.7 Mutating program constants -- 8.10.8 Mutating operators -- 8.10.9 Binary operator mutations -- 8.10.10 Mutating statements -- 8.10.11 Mutating program variables -- 8.10.12 Structure Reference Replacement -- 8.11 Mutation Operators for Java -- 8.11.1 Traditional mutation operators -- 8.11.2 Inheritence -- 8.11.3 Polymorphism and dynamic binding.</subfield>
  </datafield>
  <datafield tag="505" ind1="8" ind2=" ">
    <subfield code="a">8.11.4 Method overloading.</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">This edition of</subfield>
  </datafield>
  <datafield tag="546" ind1=" " ind2=" ">
    <subfield code="a">English</subfield>
  </datafield>
  <datafield tag="588" ind1=" " ind2=" ">
    <subfield code="a">Description based on publisher supplied metadata and other sources.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Computer software</subfield>
    <subfield code="x">Testing.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="7">
    <subfield code="a">Engineering &amp; Applied Sciences</subfield>
    <subfield code="2">HILCC</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="7">
    <subfield code="a">Computer Science</subfield>
    <subfield code="2">HILCC</subfield>
  </datafield>
  <datafield tag="776" ind1="0" ind2="8">
    <subfield code="z">ISBN 9789332517660</subfield>
  </datafield>
  <datafield tag="776" ind1="0" ind2="8">
    <subfield code="z">ISBN 9332517665</subfield>
  </datafield>
  <datafield tag="906" ind1=" " ind2=" ">
    <subfield code="a">BOOK</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="b">cr</subfield>
  </datafield>
  <datafield tag="924" ind1=" " ind2=" ">
    <subfield code="a">9923198129902884</subfield>
    <subfield code="b">DE-83</subfield>
    <subfield code="c">KOBV</subfield>
    <subfield code="d">c</subfield>
  </datafield>
  <datafield tag="950" ind1=" " ind2=" ">
    <subfield code="s">false</subfield>
  </datafield>
</record>