System Test Design
System Test Design
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 1
Outline of the Chapter
• Test Design Factors
• Requirement Identification
• Test Objective Identification
• Modeling a Test Design Process
• Modeling Test Results
• Test Design Preparedness Metrics
• Test Case Design Effectiveness
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 2
What is system testing ?
• System testing of software or hardware is testing conducted
on a complete, integrated system to evaluate the system's
compliance with its specified requirements.
• System testing is carried out by specialists testers or
independent testers.
• System testing should investigate both functional and non-
functional requirements of the testing.
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 3
What is Functional requirement?
It describes what a software system should do.
It describes the behavior of the system as it relates to the
system’s functionality.
Examples:
• Business Rules
• Transaction corrections, adjustments and cancellations
• Administrative functions
• Authentication
• Authorization levels
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 4
• External Interfaces
• Certification Requirements
• Reporting Requirements
• Legal or Regulatory Requirements
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 5
What is Non-Functional requirement?
It place constraints on how the system will do so.
It elaborates a performance characteristic of the system.
Examples:
• Performance
• Scalability
• Capacity
• Availability
• Reliability
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 6
• Recoverability
• Maintainability
• Serviceability
• Security
• Regulatory
• Manageability
• Environmental
• Data Integrity
• Usability
• Interoperability
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 7
Types of System Testing
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 8
Black box testing
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 9
White box testing
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 10
Gray box testing
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 11
Characteristics of Testable Requirements
• One way to determine the requirement description is testable is as
follows:
• Take the requirement description “The system must perform X.”
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 12
Characteristics of Testable Requirements
• The following items must be analyzed during the review of
requirements:
– Safety
– Security
– Completeness
– Correctness
– Consistency
– Clarity
– Relevance
– Feasibility
– Verifiable
– Traceable
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 13
Characteristics of Testable Requirements
• A functional specification provides
– a precise description of the major functions the system must fulfill the
requirements
– explanation of the technological risks involved
– external interfaces with other software modules
– data flow such as flowcharts, transaction sequence diagrams, and finite-state
machines describing the sequence of activities
– fault handling, memory utilization and performance estimates
– any engineering limitation
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 14
Characteristics of Testable Requirements
• The following are the objectives that are kept in mind while
reviewing a functional specification:
– Achieving requirements
– Correctness
– Extensible
– Comprehensive
– Necessity
– Implementable
– Efficient
– Simplicity
– Consistency with existing components
– Limitations
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 15
Characteristics of Testable Requirements
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 17
Test Objective Identification
• The test objectives are put together to form a test group or a
subgroup after they have been identified
• A set of (sub) groups of test cases are logically combined to form a
larger group
• A hierarchical structure of test groups as shown in Figure 11.2 is
called a test suite
• It is necessary to identify the test groups based on test categories, and
refine the test groups into sets of test objectives
• Individual test cases are created for each test objective within the
subgroups
• Test groups may be nested to an arbitrary depth
• The test grouping may be used to aid system test planning and
execution that are discussed in Chapters 12 and 13, respectively
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 18
Test Objective Identification
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 19
Modeling a Test Design Process
• One test case is created for each test objective
• Each test case is designed as a combination of modular components called test
steps
• Test cases are clearly specified so that testers can quickly understand, borrow, and
re-use the test cases
• Figure 11.6 illustrate the life-cycle model of a test case in the form of a state
transition diagram
• One can easily implement a database of test cases using the test cases schema
shown in Table 11.6
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 22
Modeling Test Results
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 23
Modeling Test Results
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 24
Modeling Test Results
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 25
Test Design Preparedness Metrics
• Metrics are tracked
– To know if a test project is progressing according to schedule
– Plan the next project more accurately
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 26
Test Case Design Effectiveness
• The objective of the test design effectiveness metric is to
– Measure the defect revealing ability of the test suite
– Use the metric to improve the test design process
• A metric commonly used in the industry to measure test case design
effectiveness is the Test Case Design Yield (TCDY)
NPT
TDCY 100%
NPT Number of TCE
Software Testing and QA Theory and Practice (Chapter 11: System Test Design) © Naik & Tripathy 27