CSC 481 Spring
2002
02/21/02 Midterm
Exam Test Form A
Name:
Instructions:
Answer all questions in the answer sheet
provided. On Multiple Choice, choose the ONE BEST ANSWER.
Remember to put the letter of your test
form on the top of your answer sheet.
Hand in Test, Answer Sheet, and Help
Sheets, all with your name.
Multiple Choice (3 points each)
1. Which of
the following is true about program testing:
A) When tests are no longer finding errors,
you can be confident that customers will not find errors.
B) A test plan should include testing all
possible combinations of paths that a program could follow.
C) Only can reveal the presence of errors,
cannot show their absence.
D) All of the above
E) None of the above
2. Which of
the following is true about planning verification and validation?:
A) It is generally a waste of effort to
create detailed plans since the specification is likely to change
B) Planning should start early in the
development process
C) A validation plan should not be changed
after it is created, to discourage lobbying by developers for plan changes
D) Only testing needs to be planned, not
inspections
E) All of the above
F) None of the above
3. Which of
the following is NOT and advantage of doing daily system “builds”?
A) component interaction problems tend to be
found sooner than otherwise
B) encourages thorough unit testing by
developers because problems are very visible
C) easier version management
D) All of the above
4. When using
a version management tool, what happens if somebody attempts to check out something
(such as a code module) that has already been checked out?
A) the person who has checked it out is
messaged with an indication that the file is needed
B) access is granted to both people
C) the second person cannot check out the
file
D) All of the above
E) None of the above
True/False - If false, explain why. (3 points each)
5. The best
way to validate non-functional requirements is via formal design inspections.
6. In a
program (code) inspection, focus should be on the detection of errors, not on
correcting them.
7. It is
crucial for the success of program code inspections for participants to prepare
in advance (by reading code).
8. When
determining whether a proposed change should be made, the crucial factor in the
decision is whether it is the best technical approach.
9. The
decision to distribute a new release may be impacted by the quality of the
competitions’ products
10. System
building tools (among other things) keep track of which modules are dependent
on which other modules, so only those modules that have to be recompiled are
recompiled.
Completion (fill in the blank) (mostly
key terms (not all of which are a single word)) (3
points each)
11. A(n)
________ test is a test done to ensure that changes have not created defects in
previously working code. A set of test cases that have been previously found to
be handled successfully are re-run to ensure that they still work.
12. The
________ software development process is a new approach in which inspections
replace unit testing. A formal specification is developed, the specification is
transformed into code using methods known to be correct, and mathematical
arguments are made that the transformation from specification to code was
correct.
13. ________
is an approach to testing in which the test cases are based on the system
specification; no attempt is made to look at the code to see what it is doing.
14. A(n)
________ is a group of related values (say, prospective inputs) for which a
program will behave the same way for each member of the group. Identifying
these can aid in identifying test cases to do.
15. A(n)
________ is a tool that can be used to help determine how well your program has
been tested – by reporting how many times each program statement has been
executed during running of your test cases.
16. In
________, the load on a system (frequently simulated number of users) is
gradually increased until it is beyond the system’s maximum design load
handling capabilities, in order to determine at what level of load the system
will fail, and whether the system will fail gracefully or not.
17. A means for version management tools to save
multiple versions of files without using excess disk space, ________ keeps the
full copy of the latest version, and lists of revisions that were made in moving
from version to version.
Short Answer
(5 points per
question except where specified otherwise)
(4 points)
18. Why is
check in / check out capabilities an important part of version management
systems?
19. Why are
code inspections a valuable part of software verification? What advantages are
there to code inspections over dynamic program testing?
20. How can
the problems localizing errors during integration testing be limited?
(4 points)
21. Why might
code inspections aid in the elimination of errors in the interface between
components?
(4 points)
22. Why does
inheritance make planning and designing tests more challenging?
23. Why is it
desirable to have software tools involved in the change management system for
your project?
24. Why is it
beneficial if comments in changed code identify the change # for which the
modifications were done?
Problems
(points as
specified)
(9 points)
26. A manager
decides to use the reports of program inspections as an input to the staff
appraisal process. These reports show who made and who discovered program
errors. What difference might this make in the inspection process (at least 3
things that might happen)?
(8 points)
27. To
calculate tuition due, students taking 1-11 credits are part time, and are
charged $500 per credit. Students taking from 12-21 credits are full time, and
are charged $5000 flat tuition regardless of credits. Other numbers of credits
are invalid. What values for number of credits should be used to test the
program? Explain.