Software Testing and Quality Assurance: Theory and Practice
This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices.
Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of:
- Practices that support the production of quality software
- Software testing techniques
- Life-cycle models for requirements, defects, test cases, and test results
- Process models for units, integration, system, and acceptance testing
- How to build test teams, including recruiting and retaining test engineers
- Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model
Expertly balancing theory with practice, and complemented with an abundance of pedagogical tools, including test questions, examples, teaching suggestions, and chapter summaries, this book is a valuable, self-contained tool for professionals and an ideal introductory text for courses in software testing, quality assurance, and software engineering.
PRIYADARSHI TRIPATHY, PhD, is a Senior Manager at NEC Laboratories America, Inc., in Princeton, New Jersey, where he designs, coordinates, and conducts software testing for grid-based storage appliances. Dr. Tripathy has worked in the field of software testing and quality assurance for Nortel Networks, Cisco Systems, and Airvana, Inc. He has also contributed to numerous publications in the area of software testing.
Table of Contents
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.
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.
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.7 Unit Testing in extreme Programming.
3.8 JUnit: Framework for Unit Testing.
3.9 Tools for Unit Testing.
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.
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.
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.
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.
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.
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.
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.
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.6 Modeling a Test Design Process.
11.7 Modeling Test Results.
11.8 Test Design Preparedness Metrics.
11.9 Test Case Design Effectiveness.
CHAPTER 12: SYSTEM TEST PLANNING AND AUTOMATION.
12.1 Structure of a System Test Plan.
12.2 Introduction and Feature Description.
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.
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.
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.
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.
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.
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.
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.
Organizations that are looking for security features including identity management, encryption and access control — and at the same time want to take advantage of the cost and flexibility benefits of the cloud —might check into security-as-a-service offerings available now from several vendors. Download now to find out more.
Divx Plus 8 provides you with a Web Player which allows you to watch DivX, AVI and MKV videos in your web brower; you can ...
Cloud computing promises to help midmarket companies reduce cost and complexity in the IT equation – and gain the flexibility and agility they need to thrive. Yet charting a clear course to the cloud isn’t always easy. In this paper, we aim to clear the clouds. We examine different cloud computing models, discuss the types of requirements that each can best address, and consider what midmarket businesses should look for in a cloud solutions provider.
- FTJob Title: Mac Systems/ Enterprise Systems EngineerNZ
- FTTechnical Consulting ManagerNSW
- FTTest Analyst (MS Environment) .netNSW
- FTTest Analyst (MS Environment) .netNSW
- FTTest EngineerVIC
- FTLead Software EngineerSA
- FTFlash / ActionScript Developer - ContractNSW
- FTSenior Python DeveloperNSW
- FTSenior Python DeveloperNSW
- FTR&D EngineerSA
- FTWeb Analyst - WebTrendsVIC
- FTSenior Python Web Applications DeveloperNSW
- FTQuality ManagerSA
- FT1st Line Support EngineerNSW
- FTOS Web Applications DeveloperNSW
- FT.NET - Sitecore Developer - Melbourne - PermNSW