Introduction to Software Testing
Námskeið
- T-631-SOE2 Hugbúnaðarfræði II - Prófanir
Lýsing:
This extensively classroom-tested text takes an innovative approach to explaining software testing that defines it as the process of applying a few precise, general-purpose criteria to a structure or model of the software. The book incorporates cutting-edge developments, including techniques to test modern types of software such as OO, web applications, and embedded software. This revised second edition significantly expands coverage of the basics, thoroughly discussing test automaton frameworks, and it adds new, improved examples and numerous exercises.
The theory of coverage criteria is carefully and cleanly explained to help students understand concepts before delving into practical applications, while extensive use of the JUnit test framework gives students practical experience in a test framework popular in the industry. Exercises, meanwhile, feature specifically tailored tools that allow students to check their own work. The book's website also offers an instructor's manual, PowerPoint slides, testing tools for students, and example software programs in Java.
Annað
- Höfundar: Paul Ammann, Jeff Offutt
- Útgáfa:2
- Útgáfudagur: 2016-12-13
- Hægt að prenta út 2 bls.
- Hægt að afrita 2 bls.
- Format:Page Fidelity
- ISBN 13: 9781316774366
- Print ISBN: 9781107172012
- ISBN 10: 1316774368
Efnisyfirlit
- Half-title
- Title page
- Copyright information
- Table of contents
- List of figures
- List of tables
- Preface to the Second Edition
- Part 1 Foundations
- 1 Why Do We Test Software?
- 1.1 When Software Goes Bad
- 1.2 Goals of Testing Software
- 1.3 Bibliographic Notes
- 2 Model-Driven Test Design
- 2.1 Software Testing Foundations
- 2.2 Software Testing Activities
- 2.3 Testing Levels Based on Software Activity
- 2.4 Coverage Criteria
- 2.5 Model-Driven Test Design
- 2.5.1 Test Design
- 2.5.2 Test Automation
- 2.5.3 Test Execution
- 2.5.4 Test Evaluation
- 2.5.5 Test Personnel and Abstraction
- 2.6 Why MDTD Matters
- 2.7 Bibliographic Notes
- 3 Test Automation
- 3.1 Software Testability
- 3.2 Components of a Test Case
- 3.3 A Test Automation Framework
- 3.3.1 The JUnit Test Framework
- 3.3.2 Data-Driven Tests
- 3.3.3 Adding Parameters to Unit Tests
- 3.3.4 JUnit from the Command Line
- 3.4 Beyond Test Automation
- 3.5 Bibliographic Notes
- 4 Putting Testing First
- 4.1 Taming the Cost-of-Change Curve
- 4.1.1 Is the Curve Really Tamed?
- 4.2 The Test Harness as Guardian
- 4.2.1 Continuous Integration
- 4.2.2 System Tests in Agile Methods
- 4.2.3 Adding Tests to Legacy Systems
- 4.2.4 Weaknesses in Agile Methods for Testing
- 4.3 Bibliographic Notes
- 4.1 Taming the Cost-of-Change Curve
- 5 Criteria-Based Test Design
- 5.1 Coverage Criteria Defined
- 5.2 Infeasibility and Subsumption
- 5.3 Advantages of Using Coverage Criteria
- 5.4 Next Up
- 5.5 Bibliographic Notes
- 1 Why Do We Test Software?
- 6 Input Space Partitioning
- 6.1 Input Domain Modeling
- 6.1.1 Interface-Based Input Domain Modeling
- 6.1.2 Functionality-Based Input Domain Modeling
- 6.1.3 Designing Characteristics
- 6.1.4 Choosing Blocks and Values
- 6.1.5 Checking the Input Domain Model
- 6.2 Combination Strategies Criteria
- 6.3 Handling Constraints Among Characteristics
- 6.4 Extended Example: Deriving an IDM from JavaDoc
- 6.4.1 Tasks in Designing IDM-Based Tests
- 6.4.2 Designing IDM-Based Tests for Iterator
- Task 1: Determine the characteristics of Iterator
- Task 2: Define the test requirements for Iterator
- Task 3: Refine Tests into Automated Tests
- Analysis and iteration: Another possible exception
- 6.1 Input Domain Modeling
- 6.5 Bibliographic Notes
- 7.1 Overview
- 7.2 Graph Coverage Criteria
- 7.2.1 Structural Coverage Criteria
- 7.2.2 Touring, Sidetrips, and Detours
- Dealing with Infeasible Test Requirements
- Finding Prime Test Paths
- 7.2.3 Data Flow Criteria
- 7.2.4 Subsumption Relationships Among Graph Coverage Criteria
- 7.3 Graph Coverage for Source Code
- 7.3.1 Structural Graph Coverage for Source Code
- 7.3.2 Data Flow Graph Coverage for Source Code
- 7.4 Graph Coverage for Design Elements
- 7.4.1 Structural Graph Coverage for Design Elements
- Application to Modules
- Inheritance and Polymorphism
- 7.4.2 Data Flow Graph Coverage for Design Elements
- Concrete Example
- Inheritance and Polymorphism (Advanced topic)
- 7.4.1 Structural Graph Coverage for Design Elements
- 7.5.1 Testing Sequencing Constraints
- 7.5.2 Testing State Behavior of Software
- Deriving Finite State Machine Graphs
- 7.6.1 Use Case Scenarios
- 8.1 Semantic Logic Coverage Criteria (Active)
- 8.1.1 Simple Logic Expression Coverage Criteria
- 8.1.2 Active Clause Coverage
- 8.1.3 Inactive Clause Coverage
- 8.1.4 Infeasibility and Subsumption
- 8.1.5 Making a Clause Determine a Predicate
- A Direct Definitional Method for Determination
- A Tabular Shortcut for Determination
- 8.1.6 Finding Satisfying Values
- 8.2 Syntactic Logic Coverage Criteria (DNF)
- 8.2.1 Implicant Coverage
- 8.2.2 Minimal DNF
- 8.2.3 The MUMCUT Coverage Criterion
- 8.2.4 Karnaugh Maps
- 8.3 Structural Logic Coverage of Programs
- 8.3.1 Satisfying Predicate Coverage
- 8.3.2 Satisfying Clause Coverage
- 8.3.3 Satisfying Active Clause Coverage
- 8.3.4 Predicate Transformation Issues
- 8.3.5 Side Effects in Predicates
- 8.4 Specification-Based Logic Coverage
- 8.5 Logic Coverage of Finite State Machines
- 8.6 Bibliographic Notes
- 9.1 Syntax-Based Coverage Criteria
- 9.1.1 Grammar-Based Coverage Criteria
- 9.1.2 Mutation Testing
- 9.2 Program-Based Grammars
- 9.2.1 BNF Grammars for Compilers
- 9.2.2 Program-Based Mutation
- Testing Programs with Mutation
- Designing Mutation Operators
- Subsumption of Other Test Criteria (Advanced Topic)
- 9.3.1 BNF Integration Testing
- 9.3.2 Integration Mutation
- 9.4.1 BNF Grammars
- 9.4.2 Specification-Based Mutation
- Mutations and Test Cases
- 9.5.1 BNF Grammars
- XML Example
- 9.5.2 Mutating Input Grammars
- XML Example
- 10 Managing the Test Process
- 10.1 Overview
- 10.2 Requirements Analysis and Specification
- 10.3 System and Software Design
- 10.4 Intermediate Design
- 10.5 Detailed Design
- 10.6 Implementation
- 10.7 Integration
- 10.8 System Deployment
- 10.9 Operation and Maintenance
- 10.10 Implementing the Test Process
- 10.11 Bibliographic Notes
- 11 Writing Test Plans
- 11.1 Level Test Plan Example Template
- 11.2 Bibliographic Notes
- 12 Test Implementation
- 12.1 Integration Order
- 12.2 Test Doubles
- 12.2.1 Stubs and Mocks: Variations of Test Doubles
- 12.2.2 Using Test Doubles to Replace Components
- 12.3 Bibliographic Notes
- 13 Regression Testing for Evolving Software
- 13.1 Bibliographic Notes
- 14 Writing Effective Test Oracles
- 14.1 What Should Be Checked?
- 14.2 Determining Correct Values
- 14.2.1 Specification-Based Direct Verification of Outputs
- 14.2.2 Redundant Computations
- 14.2.3 Consistency Checks
- 14.2.4 Metamorphic Testing
- 14.3 Bibliographic Notes
UM RAFBÆKUR Á HEIMKAUP.IS
Bókahillan þín er þitt svæði og þar eru bækurnar þínar geymdar. Þú kemst í bókahilluna þína hvar og hvenær sem er í tölvu eða snjalltæki. Einfalt og þægilegt!Rafbók til eignar
Rafbók til eignar þarf að hlaða niður á þau tæki sem þú vilt nota innan eins árs frá því bókin er keypt.
Þú kemst í bækurnar hvar sem er
Þú getur nálgast allar raf(skóla)bækurnar þínar á einu augabragði, hvar og hvenær sem er í bókahillunni þinni. Engin taska, enginn kyndill og ekkert vesen (hvað þá yfirvigt).
Auðvelt að fletta og leita
Þú getur flakkað milli síðna og kafla eins og þér hentar best og farið beint í ákveðna kafla úr efnisyfirlitinu. Í leitinni finnur þú orð, kafla eða síður í einum smelli.
Glósur og yfirstrikanir
Þú getur auðkennt textabrot með mismunandi litum og skrifað glósur að vild í rafbókina. Þú getur jafnvel séð glósur og yfirstrikanir hjá bekkjarsystkinum og kennara ef þeir leyfa það. Allt á einum stað.
Hvað viltu sjá? / Þú ræður hvernig síðan lítur út
Þú lagar síðuna að þínum þörfum. Stækkaðu eða minnkaðu myndir og texta með multi-level zoom til að sjá síðuna eins og þér hentar best í þínu námi.
Fleiri góðir kostir
- Þú getur prentað síður úr bókinni (innan þeirra marka sem útgefandinn setur)
- Möguleiki á tengingu við annað stafrænt og gagnvirkt efni, svo sem myndbönd eða spurningar úr efninu
- Auðvelt að afrita og líma efni/texta fyrir t.d. heimaverkefni eða ritgerðir
- Styður tækni sem hjálpar nemendum með sjón- eða heyrnarskerðingu
- Gerð : 208
- Höfundur : 6276
- Útgáfuár : 2016
- Leyfi : 380