Title: CIS-74 Computer Software Quality Assurance
1CIS-74 Computer Software Quality Assurance
- Systematic Software Testing
- Chapter 5
- Analysis and Design
2Creating an Inventory
- 1. Gather reference materials
- 2. Form a brainstorming team
- 3. Determine test objectives
- 4. Prioritize objectives
- ltcontinued on next slidegt
3Creating an Inventory
- 5. Parse (organize) objectives into lists.
- Create an inventory tracking matrix
- Left-hand column of objectives should be in
prioritized order from step 4. - This step known as requirements traceability.
- ltcontinued on next slidegt
4Creating an Inventory
- 7. Identify tests for unaddressed conditions,
adding/modifying test cases as needed. - Evaluate each inventory item for adequacy. (And
add/modify test cases as needed.) - Maintain the testing matrix.
5Black-Box vs. White-Box
- Black-box testing - testing done without
knowledge of the internal workings of the
program/system being tested. - White-box testing - testing done with knowledge
of the internal workings of the program/system
being tested. - White-box testing is also called structural
testing because its based on structure of the
code.
6Black-Box Science Equivalence Partitioning
- An equivalence class is formed by a group of
tests which - All test the same thing.
- If one catches a bug, the others do too.
- If one doesnt catch a bug, the others wont
either.
7Black-Box Science Boundary Value Analysis
- Test for
- Exact boundaries
- Value immediately above upper boundary
- Value immediately below lower boundary
8Black-Box Science State-Transition Diagrams
- A state machine is a thing which depends not just
on current input, but also on past input, for
determining output. - A transition occurs when a state is changed by
its input from one state into another. - To use in black-box testing
- Create a state-transition diagram.
- Create a test case for every arrow (transition)
from the diagram.
9Black-Box Science Orthogonal Arrays
- An Lx(Yz) orthogonal array is a two-dimensional
array with - X rows
- Z columns
- 1..y in cells of matrix
10Black-Box Science Orthogonal Arrays
- Useful with compatibility testing in particular
- What text did not say
- How to create an orthogonal array
- How to use an orthogonal array when the variables
do not all have the same number of values (as did
the example in Table 5-9)
11Black-Box Art Ad Hoc Testing
- Often based on systematic techniques
- Test cases should be created for all bugs found
- Can locate an entire class of tests missed using
more formal means - Fun!
12Black-Box Art Random Testing
- All data fields generated randomly, often with a
tool - Can lead to too many negative tests - those with
an invalid input, and expected results of an
error message - Not very useful
- At best, useful for crash-proofing
13Black-Box Art Semi-Random Testing
- Random combinations of legitimate values for
variables - Gives a little added confidence to systematic
testing
14Black-Box Art Exploratory Testing
- Test design and execution occur concurrently
- Test results may prompt user to delve deeper into
that area - Neither ad hoc nor random in nature
- Productive areas of test are immediately expanded
- Viewed as complementary to structured testing by
authors
15White-Box Science White-Box Testing
- White-box should be clear-box or glass-box
in authors views. (Why?) - Normally viewed as a technique for unit testing,
but can also be used with integration system
testing - Primarily about path testing (paths through the
code)
16White-Box Science Coverage Techniques
- Statement coverage - of lines of code executed
by the tests - Decision or branch coverage - of decisions
executed by the tests - Path coverage - of paths executed by the tests
17Test Design DocumentationIEEE Test Design
Specification
- One TDS per feature from the Features to be
Tested from the corresponding test plan - Test identification section includes test case
ids and high-level description for each test
case but not info on how to execute them.
18Test Design DocumentationIEEE Test Design
Specification
- Test cases may not be sequential because TDS
covers all tests necessary to test one
feature--some tests for other features may be
reusable. - Feature pass/fail criteria establish success or
failure for the TDSs feature--not individual
test cases.
19Test Design DocumentationTest Case Specification
- Two approaches
- IEEE Template for Test Case Specification
- Focuses on the what
- Spreadsheet
- Very common method
- Can also be used to record results
20Test Design DocumentationIEEE Test Procedure
Specification
- Focuses on how tests will be run
- Can be run via scripts--automated test
procedures. These scripts are normally written
in a scripting language such as Perl or a
UNIX/Linux shell language. - Scripts also refer to testing instructions for
manually-executed tests.
21Review Questions
22Which test design technique was covered in depth
by the first part of Chapter 5?
23Which test design technique was covered in depth
by the first part of Chapter 5? Inventories
24What are the column headers in an inventory
tracking matrix?
25What are the column headers in an inventory
tracking matrix? Test case identifiers.
26How are the objectives/inventory items in the
column of an inventory tracking matrix
ordered?
27How are the objectives/inventory items in the
column of an inventory tracking matrix
ordered? Priority order (highest to lowest)
28With respect to an inventory tracking matrix,
what is the name for the process of adding Xs
to those non-header cells which represent test
case coverage of an objective/inventory-item?
29With respect to an inventory tracking matrix,
what is the name for the process of adding Xs
to those non-header cells which represent test
case coverage of an objective/inventory-item? Re
quirements traceability
30What is the name for testing based upon the
requirements, i.e., the internal workings of the
system under test are unknown?
31What is the name for testing based upon the
requirements, i.e., the internal workings of the
system under test are unknown? Black-box
testing
32What is another name for black-box testing?
33What is another name for black-box
testing? Behavioral testing.
34What is white-box testing?
35What is white-box testing? Testing in which the
internal workings of the system under test are
known to the tester.
36What is another name for white-box testing?
37What is another name for white-box
testing? Structural testing. (Why?) Glass-box
testing Clear-box testing Translucent-box
testing
38What is coincidental correctness?
39What is coincidental correctness? Right results
for wrong reason. (A test case passes even
though the input was processed incorrectly.)
40What are the three defining aspects of a group of
tests making up an equivalence class?
41- What are the three defining aspects of a group of
tests making up an equivalence class? - They all test the same thing
- If one catches a bug, the others will too.
- If one fails to catch a bug, the others will also
fail.
42What are the three areas to test when using
boundary analysis?
43- What are the three areas to test when using
boundary analysis? - The exact boundaries
- The value immediately above the upper boundary
- The value immediately below the lower boundary
44Which black-box science technique involves
creating a table which lists all possible inputs
and outputs?
45Which black-box science technique involves
creating a table which lists all possible inputs
and outputs? Decision tables
46In a state-transition diagram, how are the states
and transitions depicted?
47In a state-transition diagram, how are the states
and transitions depicted? State - circle with
label inside Transition - directed arc between
two states
48What is an orthogonal array?
49What is an orthogonal array? A two-dimensional
array of integers Any two columns contain all
combinations of the integers contained in the
array
50What is meant by L9(34)?
51What is meant by L9(34)? An orthogonal array
with 9 rows, 4 columns, and cell contents ranging
from 1 through 3, inclusively.
52What is an example of a pair-wise defect?
53What is an example of a pair-wise defect? A web
site that does not work properly with a
particular browser and OS even though it works on
many other browser/OS combinations. Example Bug
7019
54What kind of testing involves generating
miscellaneous data, often using a tool?
55What kind of testing involves generating
miscellaneous data, often using a tool? Random
testing
56What is the name for a test in which the tester
supplies an invalid input in the expectation of
receiving an error message?
57What is the name for a test in which the tester
supplies an invalid input in the expectation of
receiving an error message? Negative test
58What is the name for testing in which the test
design and test execution are conducted
concurrently?
59What is the name for testing in which the test
design and test execution are conducted
concurrently? Exploratory testing
60How do the authors view exploratory testing vs.
structured testing?
61How do the authors view exploratory testing vs.
structured testing? As a complementary
process
62What names do the authors claim are better than
white-box testing?
63What names do the authors claim are better than
white-box testing? Clear-box testing or
glass-box testing.
64What metric describes the complexity of a
software module?
65What metric describes the complexity of a
software module? Cyclomatic Complexity
66End of Chapter 5