Software Testing and Quality Assurance
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Reviews / Votes
"The text is user friendly, very clear, and supported byappropriate tables and process figures, combined with examples andprocess execution steps. There are useful detailed explanationsinside text boxes and table, with nicely designed and explainedfigures, as well as generated software code samples.This is avery advanced book that I highly recommend to all software testingand QA practioners." (Computing Reviews, November 5, 2008) This book provides a comprehensive review of topics dealing withsoftware testing and quality assurance. The writing style is plainbut efficient, while the content covers theoretical (to someextent) and practical concepts in this field. Naik (Univ. ofWaterloo, Ontario, Canada) and Tripathy (NEC Laboratories AmericaInc.) seem to have limited exposure to current research in softwaretesting, but they adequately cover the fundamentals. The literaturereview sections are useful for researchers who wish to expand theirknowledge on a specific topic, with references well placed at theend of individual chapters. The rather basic exercises are notreally helpful for instructors. The work would benefit by a fewmore supportive examples, although the ones present are welldesigned to illustrate the theory, where available. Softwaretesting may be considered a relatively specialized computer sciencetopic, existing in the few departments where a software-testingexpert resides or in academic institutions offering a softwareengineering degree. However, it is nevertheless an importantsubject, with extended applications in industry, the concepts ofwhich are covered adequately here. This volume would be useful forinstructional purposes at the undergraduate level and forprofessionals seeking references to more specialized information.Summing Up: Recommended. Upper-division undergraduates,faculty, researchers, and practitioners. - D.Papamichail, University of Miami (Choice, 2009)More details
Other editions
Additional editions


Persons
Content
List of Figures.
List of Tables.
CHAPTER 1: BASIC CONCEPTS AND PRELIMINARIES.
1.1 Quality Revolution.
1.2 Software Quality.
1.3 Role of Testing.
1.4 Verification and Validation.
1.5 Failure, Error, Fault, and Defect.
1.6 Notion of Software Reliability.
1.7 Objectives of Testing.
1.8 What Is a Test Case?
1.9 Expected Outcome.
1.10 Concept of Complete Testing.
1.11 Central Issue in Testing.
1.12 Testing Activities.
1.13 Test Levels.
1.14 Sources of Information for Test Case Studies.
1.15 White-Box and Black-Box Testing.
1.16 Test Planning and Design.
1.17 Monitoring and Measuring Test Execution.
1.18 Test Tools and Automation.
1.19 Test Team Organization and Management.
1.20 Outline of Book.
References.
Exercises.
CHAPTER 2: THEORY OF PROGRAM TESTING.
2.1 Basic Concepts in Testing Theory.
2.2 Theory of Goodenough and Gerhart.
2.3 Theory of Weyuker and Ostrand.
2.4 Theory of Gourlay.
2.5 Adequacy of Testing.
2.6 Limitations of Testing.
2.7 Summary.
Literature Review.
References.
Exercises.
CHAPTER 3: UNIT TESTING.
3.1 Concept of Unit Testing.
3.2 Static Unit Testing.
3.3 Defect Prevention.
3.4 Dynamic Unit Testing.
3.5 Mutation Testing.
3.6 Debugging.
3.7 Unit Testing in extreme Programming.
3.8 JUnit: Framework for Unit Testing.
3.9 Tools for Unit Testing.
3.10 Summary.
Literature Review.
References.
Exercises.
CHAPTER 4: CONTROL FLOW TESTING.
4.1 Basic Idea.
4.2 Outline of Control Flow Testing.
4.3 Control Flow Graph.
4.4 Paths in a Control Flow Chart.
4.5 Path Selection Criteria.
4.6 Generating Test Input.
4.7 Examples of Test Data Selection.
4.8 Containing Infeasible Paths.
4.9 Summary.
Literature Review.
References.
Exercises.
CHAPTER 5: DATA FLOW TESTING.
5.1 General Idea.
5.2 Data flow Anomaly.
5.3 Overview of Dynamic Data flow Testing.
5.4 Data Flow Graph.
5.5 Data Flow Terms.
5.6 Data Flow Testing Criteria.
5.7 Comparison of Data Flow Test Selection Criteria.
5.8 Feasible Paths and Test Selection Criteria.
5.9 Comparison of Testing Techniques.
5.10 Summary.
Literature Review.
References.
Exercises.
CHAPTER 6: DOMAIN TESTING.
6.1 Domain Error.
6.2 Testing for Domain Errors.
6.3 Sources of Domain.
6.4 Types of Domain Errors.
6.5 ON and OFF Points.
6.6 Test Selection Criterion.
6.7 Summary.
Literature Review.
References.
Exercises.
CHAPTER 7: SYSTEM INTEGRATION.
7.1 Concept of Integration Testing.
7.2 Different Types of Interfaces and Interface Errors.
7.3 Granularity of System Integration Testing.
7.4 System Integration Techniques.
7.5 Software and Hardware Integration.
7.6 Test Plan for System Integration.
7.7 Off-the Shelf Component Integration.
7.8 Summary.
Literature Review.
References.
Exercises.
CHAPTER 8: SYSTEM TEST CATEGORIES.
8.1 Taxonomy of System Tests.
8.2 Basic Tests.
8.3 Functionality Tests.
8.4 Robustness Tests.
8.5 Interoperability Tests.
8.6 Performance Tests.
8.7 Scalability Tests.
8.8 Stress Tests.
8.9 Load and Stability Tests.
8.10 Reliability Tests.
8.11 Regression Tests.
8.12 Documentation Tests.
8.13 Regulatory Tests.
8.14 Summary.
Literature Review.
References.
Exercises.
CHAPTER 9: FUNCTIONAL TESTING.
9.1 Functional Testing Concepts of Howden.
9.2 Complexity of Applying Functional Testing.
9.3 Pairwise Testing.
9.4 Equivalence Class Partitioning.
9.5 Boundary Value Analysis.
9.6 Decision Tables.
9.7 Random Testing.
9.8 Error Guessing.
9.9 Category Partition.
9.10 Summary.
Literature review.
References.
Exercises.
CHAPTER 10: TEST GENERATION FROM FSM MODELS.
10.1 State-Oriented Model.
10.2 Points of Control and Observation.
10.3 Finite-State Machine.
10.4 Test Generation from an FSM.
10.5 Transition Tour Method.
10.6 Testing with State Verification.
10.7 Unique Input-Output Sequence.
10.8 Distinguishing Sequence.
10.9 Characterizing Sequence.
10.10 Test Architecture.
10.11 Testing and Test Control Notation Version 3 (TTCN-3).
10.12 Extended FSMs.
10.13 Test Generation from EFSM Models.
10.14 Additional Coverage Criteria for System Testing.
10.15 Summary.
Literature review.
References.
Exercises.
CHAPTER 11: SYSTEM TEST DESIGN.
11.1 Test Design Factors.
11.2 Requirement Identification.
11.3 Characteristics of Testable Requirements.
11.4 Test Objective Identification.
11.5 Example.
11.6 Modeling a Test Design Process.
11.7 Modeling Test Results.
11.8 Test Design Preparedness Metrics.
11.9 Test Case Design Effectiveness.
11.10 Summary.
Literature Review.
References.
Exercises.
CHAPTER 12: SYSTEM TEST PLANNING AND AUTOMATION.
12.1 Structure of a System Test Plan.
12.2 Introduction and Feature Description.
12.3 Assumption.
12.4 Test Approach.
12.5 Test Suite Structure.
12.6 Test Environment.
12.7 Test Execution Strategy.
12.8 Test Effort Estimation.
12.9 Scheduling and Test Milestones.
12.10 System Test Automation.
12.11 Evaluation and Selection of Test Automation Tools.
12.12 Test Selection Guidelines for Automation.
12.13 Characteristics of Automated Test Cases.
12.14 Structure of an Automated Test Case.
12.15 Test Automation Infrastructure.
12.16 Summary.
Literature Review.
References.
Exercises.
CHAPTER 13: SYSTEM TEST EXECUTION.
13.1 Basic Ideas.
13.2 Modeling Defects.
13.3 Preparedness to Start System Testing.
13.4 Metrics for Tracking System Test.
13.5 Orthogonal Defect Classification.
13.6 Defect Causal Analysis.
13.7 Beta Testing.
13.8 First Customer Shipment.
13.9 System Test Report.
13.10 Product Sustaining.
13.11 Measuring Test Effectiveness.
13.12 Summary.
Literature Review.
References.
Exercises.
CHAPTER 14: ACCEPTANCE TESTING.
14.1 Types of Acceptance Testing.
14.2 Acceptance Criteria.
14.3 Selection of Acceptance Criteria.
14.4 Acceptance Test Plan.
14.5 Acceptance Test Execution.
14.6 Acceptance Test Report.
14.7 Acceptance Testing in extreme Programming.
14.8 Summary.
Literature Review.
References.
Exercises.
CHAPTER 15: SOFTWARE RELIABILTY.
15.1 What is Reliability?
15.2 Definitions of Software Reliability.
15.3 Factors Influencing Software Reliability.
15.4 Applications of Software Reliability.
15.5 Operational Profiles.
15.6 Reliability Models.
15.7 Summary.
Literature Review.
References.
Exercises.
CHAPTER 16: TEST TEAM ORGANIZATION.
16.1 Test Groups.
16.2 Software Quality Assurance Group.
16.3 System Test Team Hierarchy.
16.4 Effective Staffing of Test Engineers.
16.5 Recruiting Test Engineers.
16.6 Retaining Test Engineers.
16.7 Team Building.
16.8 Summary.
Literature Review.
References.
Exercises.
CHAPTER 17: SOFTWARE QUALITY.
17.1 Five Views of Software Quality.
17.2 McCall's Quality Factors and Criteria.
17.3 ISO 9126 Quality Characteristics.
17.4 ISO 9000:2000 Software Quality Standard.
17.5 Summary.
Literature Review.
References.
Exercises.
CHAPTER 18: MATURITY MODELS.
18.1 Basic Idea in Software Process.
18.2 Capability Maturity Models.
18.3 Test Process Improvement.
18.4 Testing Maturity Model.
18.5 Summary.
Literature Review.
References.
Exercises.
GLOSSARY.
INDEX.
LIST OF FIGURES
1.1 Shewhart cycle
1.2 Ishikawa diagram
1.3 Examples of basic test cases
1.4 Example of a test case with a sequence of < input, expected outcome >
1.5 Subset of the input domain exercising a subset of the program behavior
1.6 Different activities in program testing
1.7 Development and testing phases in the V model
1.8 Regression testing at different software testing levels. (From ref. 41. © 2005 John Wiley & Sons.)
2.1 Executing a program with a subset of the input domain
2.2 Example of inappropriate path selection
2.3 Different ways of comparing power of test methods: (a) produces all test cases produced by another method; (b) test sets have common elements.
2.4 Context of applying test adequacy
3.1 Steps in the code review process
3.2 Dynamic unit test environment
3.3 Test-first process in XP. (From ref. 24. © 2005 IEEE.)
3.4 Sample pseudocode for performing unit testing
3.5 The assertTrue() assertion throws an exception
3.6 Example test suite
4.1 Process of generating test input data for control flow testing
4.2 Symbols in a CFG
4.3 Function to open three files
4.4 High-level CFG representation of openfiles(). The three nodes are numbered 1, 2, and 3.
4.5 Detailed CFG representation of openfiles(). The numbers 1-21 are the nodes
4.6 Function to compute average of selected integers in an array. This program is an adaptation of "Figure 2. A sample program" in ref. 10. (With permission from the Australian Computer Society.)
4.7 A CFG representation of ReturnAverage(). Numbers 1-13 are the nodes.
4.8 Dashed arrows represent the branches not covered by statement covering in Table 4.4
4.9 Partial CFG with (a) OR operation and (b) AND operations
4.10 Example of a path from Figure 4.7
4.11 Path predicate for path in Figure 4.10
4.12 Method in Java to explain symbolic substitution [11]
4.13 Path predicate expression for path in Figure 4.10
4.14 Another example of path from Figure 4.7
4.15 Path predicate expression for path shown in Figure 4.14
4.16 Input data satisfying constraints of Figure 4.13
4.17 Binary search routine
5.1 Sequence of computations showing data flow anomaly
5.2 State transition diagram of a program variable. (From ref. 2. © 1979 IEEE.)
5.3 Definition and uses of variables
5.4 Data flow graph of ReturnAverage() example
5.5 Relationship among DF (data flow) testing criteria. (From ref. 4. © 1988 IEEE.)
5.6 Relationship among FDF (feasible data flow) testing criteria. (From ref. 4. © 1988 IEEE.)
5.7 Limitation of different fault detection techniques
5.8 Binary search routine
5.9 Modified binary search routine
6.1 Illustration of the concept of program domains
6.2 A function to explain program domains
6.3 Control flow graph representation of the function in Figure 6.2
6.4 Domains obtained from interpreted predicates in Figure 6.3
6.5 Predicates defining the TT domain in Figure 6.4
6.6 ON and OFF points
6.7 Boundary shift resulting in reduced domain (closed inequality)
6.8 Boundary shift resulting in enlarged domain (closed inequality)
6.9 Tilted boundary (closed inequality)
6.10 Closure error (closed inequality)
6.11 Boundary shift resulting in reduced domain (open inequality)
6.12 Boundary shift resulting in enlarged domain (open inequality)
6.13 Tilted boundary (open inequality)
6.14 Closure error (open inequality)
6.15 Equality border
6.16 Domains D1, D2 and D3
7.1 Module hierarchy with three levels and seven modules
7.2 Top-down integration of modules A and B
7.3 Top-down integration of modules A, B, and D
7.4 Top-down integration of modules A, B, D, and C
7.5 Top-down integration of modules A, B, C, D, and E
7.6 Top-down integration of modules A, B, C, D, E, and F
7.7 Top-down integration of modules A, B, C, D, E, F and G
7.8 Bottom-up integration of modules E, F, and G
7.9 Bottom-up integration of modules B, C, and D with E, F, and G
7.10 Bottom-up integration of module A with all others
7.11 Hardware ECO process
7.12 Software ECO process
7.13 Module hierarchy of software system
8.1 Types of system tests
8.2 Types of basic tests
8.3 Types of functionality tests
8.4 Types of robustness tests
8.5 Typical 1xEV-DO radio access network. (Courtesy of Airvana, Inc.)
9.1 Frequency selection box of Bluetooth specification
9.2 Part of form ON479 of T1 general-2001, published by the CCRA
9.3 Functionally related variables
9.4 Function in context
9.5 (a) Obtaining output values from an input vector and (b) obtaining an input vector from an output value in functional testing
9.6 Functional testing in general
9.7 System S with three input variables
9.8 (a) Too many test inputs; (b) one input selected from each subdomain
9.9 Gold standard oracle
9.10 Parametric oracle
9.11 Statistical oracle
10.1 Spectrum of software systems
10.2 Data-dominated systems
10.3 Control-dominated systems
10.4 FSM model of dual-boot laptop computer
10.5 Interactions between system and its environment modeled as FSM
10.6 PCOs on a telephone
10.7 FSM model of a PBX
10.8 FSM model of PBX
10.9 Interaction of test sequence with SUT
10.10 Derived test case from transition tour
10.12 Finite-state machine G1 (From ref. 5. © 1997 IEEE.)
10.11 Conceptual model of test case with state verification
10.13 UIO tree for G1 in Figure 10.12. (From ref. 5. © 1997 IEEE.)
10.14 Identification of UIO sequences on UIO tree of Figure 10.13
10.15 Finite-state machine G2
10.16 Distinguishing sequence tree for G2 in Figure 10.15
10.17 FSM that does not possess distinguishing sequence. (From ref. 11. © 1994 IEEE.)
10.18 DS tree for FSM (Figure 10.17)
10.19 Abstraction of N-entity in OSI reference architecture
10.20 Abstract local test architecture
10.21 Abstract external test architecture
10.22 Local architecture
10.23 Distributed architecture
10.24 Coordinated architecture
10.25 Remote architecture
10.26 Structure of module in TTCN-3
10.27 Definitions of two subtypes
10.28 Parameterized template for constructing message to be sent
10.29 Parameterized template for constructing message to be received
10.30 Testing (a) square-root function (SRF) calculator and (b) port between tester and SRF calculator
10.31 Defining port type
10.32 Associating port with component
10.33 Test case for testing SRF calculator
10.34 Executing test case
10.35 Comparison of state transitions of FSM and EFSM
10.36 Controlled access to a door
10.37 SDL/GR door control system
10.38 Door control behavior specification
10.39 Door control behavior specification
10.40 Transition tour from door control system of Figures 10.38 and 10.39
10.41 Testing door control system
10.42 Output and input behavior obtained from transition tour of Figure 10.40
10.43 Test behavior obtained by refining if part in Figure 10.42
10.44 Test behavior that can receive unexpected events (derived from Figure 10.43)
10.45 Core behavior of test case for testing door control system (derived from Figure 10.44)
10.46 User interface of ATM
10.47 Binding of buttons with user options
10.48 Binding of buttons with cash amount
10.49 FSM G
10.50 FSM H
10.51 FSM K
10.52 Nondeterministic FSM
11.1 State transition diagram of requirement
11.2 Test suite structure
11.3 Service interworking between FR and ATM services
11.4 Transformation of FR to ATM cell
11.5 FrAtm test suite structure
11.6 State transition diagram of a test case
11.7 State transition diagram of test case result
12.1 Concept of cycle-based test execution strategy
12.2 Gantt chart for FR-ATM service interworking test project
12.3 Broad criteria of test automation tool evaluation
12.4 Test selection guideline for automation
12.5 Characteristics of automated...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.