660 likes | 781 Views
CIS-74 Computer Software Quality Assurance. Systematic Software Testing Chapter 5: Analysis and Design. Creating an Inventory. 1. Gather reference materials 2. Form a brainstorming team 3. Determine test objectives 4. Prioritize objectives <continued on next slide>.
E N D
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 5: Analysis and Design
Creating an Inventory 1. Gather reference materials 2. Form a brainstorming team 3. Determine test objectives 4. Prioritize objectives <continued on next slide>
Creating 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. <continued on next slide>
Creating 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.
Black-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 it’s based on structure of the code.
Black-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 doesn’t catch a bug, the others won’t either.
Black-Box Science: Boundary Value Analysis Test for: • Exact boundaries • Value immediately above upper boundary • Value immediately below lower boundary
Black-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.
Black-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
Black-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)
Black-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!
Black-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”
Black-Box Art: Semi-Random Testing • Random combinations of legitimate values for variables • Gives a little added confidence to systematic testing
Black-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
White-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)
White-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
Test Design Documentation:IEEE Test Design Specification • One TDS per feature from the “Features to be Tested” from the corresponding test plan • Test identification section includes test case id’s and high-level description for each test case but not info on how to execute them.
Test Design Documentation:IEEE 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 TDS’s feature--not individual test cases.
Test Design Documentation:Test 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
Test Design Documentation:IEEE 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.
Which test design technique was covered in depth by the first part of Chapter 5?
Which test design technique was covered in depth by the first part of Chapter 5? Inventories
What are the column headers in an inventory tracking matrix?
What are the column headers in an inventory tracking matrix? Test case identifiers.
How are the objectives/inventory items in the column of an inventory tracking matrix ordered?
How are the objectives/inventory items in the column of an inventory tracking matrix ordered? Priority order (highest to lowest)
With respect to an inventory tracking matrix, what is the name for the process of adding “X”s to those non-header cells which represent test case coverage of an objective/inventory-item?
With respect to an inventory tracking matrix, what is the name for the process of adding “X”s to those non-header cells which represent test case coverage of an objective/inventory-item? Requirements traceability
What is the name for testing based upon the requirements, i.e., the internal workings of the system under test are unknown?
What is the name for testing based upon the requirements, i.e., the internal workings of the system under test are unknown? Black-box testing
What is another name for black-box testing? Behavioral testing.
What is white-box testing? Testing in which the internal workings of the system under test are known to the tester.
What is another name for white-box testing? Structural testing. (Why?) Glass-box testing Clear-box testing Translucent-box testing
What is coincidental correctness? Right results for wrong reason. (A test case passes even though the input was processed incorrectly.)
What are the three defining aspects of a group of tests making up an equivalence class?
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.
What are the three areas to test when using boundary analysis?
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
Which black-box science technique involves creating a table which lists all possible inputs and outputs?
Which black-box science technique involves creating a table which lists all possible inputs and outputs? Decision tables
In a state-transition diagram, how are the states and transitions depicted?
In a state-transition diagram, how are the states and transitions depicted? State - circle with label inside Transition - directed arc between two states
What is an orthogonal array? A two-dimensional array of integers Any two columns contain all combinations of the integers contained in the array