Muutke küpsiste eelistusi

E-raamat: Introduction to Combinatorial Testing

(National Institute of Standards and Technology, Gaithersburg, Maryland, USA), (University of Texas at Arlington, USA), (National Institute of Standards and Technology, Gaithersburg, Maryland, USA)
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 88,39 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

"Combinatorial testing of software analyzes interactions among variables using a very small number of tests. This advanced approach has demonstrated success in providing strong, low-cost testing in real-world situations. Introduction to Combinatorial Testing presents a complete self-contained tutorial on advanced combinatorial testing methods for real-world software.The book introduces key concepts and procedures of combinatorial testing, explains how to use software tools for generating combinatorial tests, and shows how this approach can be integrated with existing practice. Detailed explanations and examples clarify how and why to use various techniques. Sections on cost and practical considerations describe tradeoffs and limitations that may impact resources or funding. While the authors introduce some of the theory and mathematics of combinatorial methods, readers can use the methods without in-depth knowledge of the underlying mathematics.Accessible to undergraduate students and researchers in computer science and engineering, this book illustrates the practical application of combinatorial methods in software testing. Giving pointers to freely available tools and offering resources on a supplementary website, the book encourages readers to apply these methods in their own testing projects"--

"Software testing has always faced a seemingly intractable problem: for real-world programs, the number of possible input combinations can exceed the number of atoms in the universe, so as a practical matter it is impossible to show through testing that the program works correctly for all inputs. Combinatorial testing offers a (partial) solution. Empirical data show that the number of variables involved in failures is small. Most failures are triggered by only one or two inputs, and the number of variables interacting tails off rapidly, a relationship called the interaction rule. Therefore if we test input combinations for even small numbers of variables, we can provide very strong testing at low cost. As always, there is no "silver bullet" answer to theproblem of software assurance, but combinatorial testing has grown rapidly because it works in the real world"--

Combinatorial testing of software analyzes interactions among variables using a very small number of tests. This advanced approach has demonstrated success in providing strong, low-cost testing in real-world situations. Introduction to Combinatorial Testing presents a complete self-contained tutorial on advanced combinatorial testing methods for real-world software.

The book introduces key concepts and procedures of combinatorial testing, explains how to use software tools for generating combinatorial tests, and shows how this approach can be integrated with existing practice. Detailed explanations and examples clarify how and why to use various techniques. Sections on cost and practical considerations describe tradeoffs and limitations that may impact resources or funding. While the authors introduce some of the theory and mathematics of combinatorial methods, readers can use the methods without in-depth knowledge of the underlying mathematics.

Accessible to undergraduate students and researchers in computer science and engineering, this book illustrates the practical application of combinatorial methods in software testing. Giving pointers to freely available tools and offering resources on a supplementary website, the book encourages readers to apply these methods in their own testing projects.

Arvustused

"I was prepared at the outset to dislike this book. I expected a different subject. It was written by researchers who may or may not have been able to relate to practitioners. It was about a subject that seemed virtually impossible to make practical. But in the end, it turned out to be on a quite different subject, and the authors overcame all my concerns. I thoroughly recommend it to anyone involved in the practice of software testing." Computing Reviews, March 2014

Preface, xiii
Authors, xvii
Note of Appreciation, xix
Nomenclature, xxi
Chapter 1 Combinatorial Methods in Testing 1(20)
1.1 Software Failures And The Interaction Rule
1(7)
1.2 Two Forms Of Combinatorial Testing
8(3)
1.2.1 Configuration Testing
9(1)
1.2.2 Input Testing
10(1)
1.3 Covering Arrays
11(4)
1.3.1 Covering Array Definition
12(1)
1.3.2 Size Of Covering Arrays
13(2)
1.4 The Test Oracle Problem
15(1)
1.5 Quick Start: How To Use The Basics Of Combinatorial Methods Right Away
16(1)
1.6
Chapter Summary
17(1)
Review
18(3)
Chapter 2 Combinatorial Testing Applied 21(16)
2.1 Document Object Model
21(9)
Carmelo Montanez-Rivera
D. Richard Kuhn
Mary Brady
Rick Rivello
Denise Reyes Rodriguez
Michael Powers
2.1.1 Constructing Tests For DOM Events
22(3)
2.1.2 Combinatorial Testing Approach
25(1)
2.1.3 Test Results
25(4)
2.1.4 Cost And Practical Considerations
29(1)
2.2 Rich Web Applications
30(5)
Chad M. Maughan
2.2.1 Systematic Variable Detection In Semantic URLs
31(1)
2.2.2 Javascript Fault Classification And Identification
31(2)
2.2.3 Empirical Study
33(2)
2.3
Chapter Summary
35(2)
Chapter 3 Configuration Testing 37(14)
3.1 Runtime Environment Configurations
37(2)
3.2 Highly Configurable Systems And Software Product Lines
39(5)
3.3 Invalid Combinations And Constraints
44(4)
3.3.1 Constraints Among Parameter Values
44(2)
3.3.2 Constraints Among Parameters
46(2)
3.4 Cost And Practical Considerations
48(1)
3.5
Chapter Summary
49(1)
Review
50(1)
Chapter 4 Input Testing 51(20)
4.1 Partitioning The Input Space
51(4)
4.2 Input Variables Versus Test Parameters
55(2)
4.3 Fault Type And Detectability
57(4)
4.4 Building Tests To Match An Operational Profile
61(3)
4.5 Scaling Considerations
64(2)
4.6 Cost And Practical Considerations
66(1)
4.7
Chapter Summary
67(1)
Review
68(3)
Chapter 5 Test Parameter Analysis 71(42)
Eduardo Miranda
5.1 What Should Be Included As A Test Parameter
72(2)
5.2 Combination Anomalies
74(2)
5.3 Classification Tree Method
76(5)
5.4 Modeling Methodology
81(22)
5.4.1 Flexible Manufacturing System Example
81(8)
5.4.2 Audio Amplifier
89(5)
5.4.3 Password Diagnoser
94(9)
5.5 Selecting The System Under Test
103(3)
5.6 Combinatorial Testing And Boundary Value Analysis
106(5)
5.7
Chapter Summary
111(1)
Review
111(2)
Chapter 6 Managing System State 113(30)
George Sherwood
6.1 Test Factor Partitions With State
114(5)
6.1.1 Partitions For Expected Results
115(1)
6.1.2 Partitions With Constraints
116(1)
6.1.3 Direct Product Block Notation
116(3)
6.2 Test Factor Simplifications
119(3)
6.2.1 All The Same Factor Value
119(1)
6.2.2 All Different Factor Values
119(1)
6.2.3 Functionally Dependent Factor Values
119(2)
6.2.4 Hybrid Factor Values
121(1)
6.3 Sequence Unit Replay Model
122(4)
6.4 Single Region State Models
126(7)
6.5 Multiple Region State Models
133(4)
6.6
Chapter Summary
137(3)
Review
140(3)
Chapter 7 Measuring Combinatorial Coverage 143(20)
7.1 Software Test Coverage
144(1)
7.2 Combinatorial Coverage
145(7)
7.2.1 Simple t-Way Combination Coverage
146(1)
7.2.2 Simple (t+k)-Way
147(1)
7.2.3 Tuple Density
148(1)
7.2.4 Variable-Value Configuration Coverage
149(3)
7.3 Using Combinatorial Coverage
152(4)
7.4 Cost And Practical Considerations
156(4)
7.5 Analysis Of (t+1)-Way Coverage
160(1)
7.6
Chapter Summary
161(1)
Review
161(2)
Chapter 8 Test Suite Prioritization By Combinatorial, Coverage 163(16)
Renee Bryce
Sreedevi Sampath
8.1 Combinatorial Coverage For Test Suite Prioritization
163(3)
8.2 Algorithm
166(1)
8.3 Prioritization Criteria
167(2)
8.4 Review Of Empirical Studies
169(4)
8.4.1 Subject Applications
169(1)
8.4.2 Prioritization Criteria
169(4)
8.4.2.1 Test Cases
170(1)
8.4.2.2 Faults
170(1)
8.4.2.3 Evaluation Metric
171(1)
8.4.2.4 Results
171(2)
8.5 Tool: Combinatorial-Based Prioritization For User-Session-based Testing
173(1)
8.5.1 Apache Logging Module
173(1)
8.5.2 Creating A User Session-Based Test Suite From Usage Logs Using CPUT
173(1)
8.5.3 Prioritizing And Reducing Test Cases
173(1)
8.6 Other Approaches To Test Suite Prioritization Using Combinatorial Interactions
174(1)
8.7 Cost And Practical Considerations
175(1)
8.8
Chapter Summary
176(1)
Review
176(3)
Chapter 9 Combinatorial Testing And Random Test Generation 179(14)
9.1 Coverage Of Random Tests
180(4)
9.2 Adaptive Random Testing
184(2)
9.3 Tradeoffs: Covering Arrays And Random Generation
186(3)
9.4 Cost And Practical Considerations
189(1)
9.5
Chapter Summary
190(1)
Review
191(2)
Chapter 10 Sequence-Covering Arrays 193(10)
10.1 Sequence-Covering Array Definition
193(2)
10.2 Size And Construction Of Sequence-Covering Arrays
195(3)
10.2.1 Generalized t-Way Sequence Covering
197(1)
10.2.2 Algorithm Analysis
197(1)
10.3 Using Sequence-Covering Arrays
198(1)
10.4 Cost And Practical Considerations
199(1)
10.5
Chapter Summary
199(3)
Review
202(1)
Chapter 11 Assertion-Based Testing 203(10)
11.1 Basic Assertions For Testing
204(4)
11.2 Stronger Assertion-Based Testing
208(1)
11.3 Cost And Practical Considerations
209(1)
11.4
Chapter Summary
210(1)
Review
210(3)
Chapter 12 Model-Based Testing 213(14)
12.1 Overview
214(1)
12.2 Access Control System Example
215(1)
12.3 SMV Model
216(2)
12.4 Integrating Combinatorial Tests Into The Model
218(4)
12.5 Generating Tests From Counterexamples
222(2)
12.6 Cost And Practical Considerations
224(1)
12.7
Chapter Summary
225(1)
Review
225(2)
Chapter 13 Fault Localization 227(10)
13.1 Fault Localization Process
228(3)
13.1.1 Analyzing Combinations
229(1)
13.1.2 New Test Generation
230(1)
13.1.2.1 Alternate Value
230(1)
13.1.2.2 Base Choice
230(1)
13.2 Locating Faults: Example
231(4)
13.2.1 Generating New Tests
234(1)
13.3 Cost And Practical Considerations
235(1)
13.4
Chapter Summary
236(1)
Review
236(1)
Chapter 14 Evolution From Design Of Experiments 237(10)
14.1 Background
237(2)
14.2 Pairwise (Two-Way) Testing Of Software Systems
239(6)
14.3 Combinatorial t-Way Testing Of Software Systems
245(1)
14.4
Chapter Summary
246(1)
Chapter 15 Algorithms For Covering Array Construction 247(14)
Linbin Yu
Yu Lei
15.1 Overview
247(2)
15.1.1 Computational Approaches
247(1)
15.1.2 Algebraic Approaches
248(1)
15.2 Algorithm AETG
249(3)
15.3 Algorithm IPOG
252(3)
15.4 Cost And Practical Considerations
255(3)
15.4.1 Constraint Handling
255(1)
15.4.2 Mixed-Strength Covering Arrays
256(1)
15.4.3 Extension Of An Existing Test Set
257(1)
15.5
Chapter Summary
258(1)
Review
258(3)
Appendix A Mathematics Review, 261(6)
A.1 Combinatorics
261(4)
A.1.1 Permutations And Combinations
261(1)
A.1.2 Orthogonal Arrays
262(1)
A.1.3 Covering Arrays
263(1)
A.1.4 Number Of Tests Required
264(1)
A.2 Regular Expressions
265(12)
A.2.1 Expression Operators
265(1)
A.2.2 Combining Operators
266(1)
Appendix B Empirical Data On Software Failures, 267(6)
Appendix C Resources For Combinatorial Testing, 273(4)
Appendix D Test Tools, 277(16)
D.1 Acts User Guide
278(15)
D.1.1 Core Features
278(1)
D.1.1.1 t-Way Test Set Generation
278(1)
D.1.1.2 Mixed Strength
278(1)
D.1.1.3 Constraint Support
279(1)
D.1.1.4 Coverage Verification
279(1)
D.1.2 Command Line Interface
279(3)
D.1.3 The GUI
282(11)
D.1.3.1 Create New System
284(4)
D.1.3.2 Build Test Set
288(1)
D.1.3.3 Modify System
289(2)
D.1.3.4 Save/Save As/Open System
291(1)
D.1.3.5 Import/Export Test Set
291(1)
D.1.3.6 Verify t-Way Coverage
292(1)
References, 293(16)
Index, 309
D. Richard Kuhn, Raghu N. Kacker, Yu Lei