Final Exam Key
CpSc 873
Verification and Validation
Name
____________________________________
There are 5 questions. Answer any 4 of them. Answer all parts of the questions you select. Place a large x of the page containing the question you are not answering. Do NOT answer all 5. If you do I will only count the 4 worst answers.
This is an individual effort. You may use the class handouts, sources pointed to in the slides, and your notes. Nothing else and no one else. No laptops, no sharing notes or handouts. You have 75 minutes, from 3 pm until 4:15 pm.
a. Testing is automated; a set of tests are written and grouped into test suites that represent specific needs such as regression testing
b. Test failures, ambiguous specifications and other notes are entered as communication to the development team; similarly communication is sent back. The issue tracker provides a record of the communication for traceability
c. Testers will use more thorough coverage levels for items that pose a higher risk
a. The perceived reliability may change depending on whether there are features that work but are now used less or whether those features are used more.
b. The “For” statement is used to refer to the system element covered by the requirements in that set.
c.
We run a set of tests in which after varying lengths of
time we set q true. If p has remained true the test passes.
3.
a. Testability is the degree to which the software under test can be controlled and observed. Explain the trade-off between testability and modularity.
b. Defect density is a useful measure of quality but describe how it is useful in the testing process.
c. What techniques do we have for identifying hazards? What techniques do we have for documenting them?
d. The more modular the less observable since a module encapsulates
e. As we test if we are not finding faults at the rate indicated by the defect density we should reexamine our test selection and test coverage criteria.
f.
Expert opinion and prior incidents are the two best
ways but also models like Leveson’s control
theory. A fault hazard analysis builds
trees of hazards and their causes
4.
a. Explain
the meaning of each of the following lines:
annex agree {**
assume "A input range"
: Input < 20;
guarantee "A output
range" : Output < 2*Input;
**};
b. Give two examples of faults in a real-time system. Explain how they would be in different categories in an orthogonal defect classification.
c. How does the definition of coverage change from one type of industry to another? From one programming language to another?
a. The annex statement opens a special environment; the assume sets a value for Input that is treated as invariant; the guarantee is the test to be met
b. Late delivery of data and missing data; they are in different hierarchies in the EMV annex
c.
The more life critical the domain the more in-depth the
coverage must be.
5.
a. We separate specification from implementation because we want to have the option to have multiple implementations per specification. What implications does this have for the structure of test suites?
b. A tester is given a “unit” to test. Describe the steps the tester should take to test it. Include any other artifacts that you need before designing the test suite.
c. What can be done to the software design of a product to enhance testability?
a. Tests can be reused by keeping specification-based tests separate from implementation-based
b. (1) analyze the specification of the unit;(2) construct tests for each feature in the spec; (3) run the suite; (4) evaluate coverage; (5) analyze the implementation ; (6) construct tests that will complete the overall coverage of the unit; (7) run the combined test suite
c. Remove information hiding among modules; add methods that set state values to control the product