QUESTIONS AND CORRECT ANSWERS
Quality of design - CORRECT ANSWER encompasses requirements, specifications, and the
design of the system
Quality of conformance - CORRECT ANSWER is an issue focused primarily on
implementation.
User satisfaction - CORRECT ANSWER compliant product + good quality + delivery within
budget and schedule
Software quality - CORRECT ANSWER An effective software process applied in a manner
that creates a useful product that provides measurable value for those who produce it and those who
use it.
Software testing - CORRECT ANSWER a dynamic validation activity to detect defects and
undesirable behavior in the software, and demonstrate that the software satisfies its requirements and
constraints. intended to find errors (But not aimed to finding syntax errors!) with test cases that are
drawn up to have a high probability of finding errors.
Cost of testing - CORRECT ANSWER It amounts to more than half of total development costs
Testers - CORRECT ANSWER often forced to abandon test efforts due to all
changes.
• Most companies' new hires are THESE. (!!)
• "Conflict of interest" exists: THESE vs. developers, THESE vs. management.
Testing work - CORRECT ANSWER Most ________ is manual testing; help from tools is
limited. Testing is often not performed by using systematic testing
methods or techniques.
Unit Testing - CORRECT ANSWER Individual component (class or subsystem)
,Goal: Confirm that the component or subsystem is correctly
coded and carries out the intended functionality
Integration Testing - CORRECT ANSWER Groups of subsystems and eventually the entire
system
Goal: Test the interfaces among the subsystems
System Testing - CORRECT ANSWER The entire system
Goal: Determine if the system meets the requirements (functional and nonfunctional)
Acceptance Testing - CORRECT ANSWER Evaluates the system made by developers
Goal: Demonstrate that the system meets the requirements and is ready to use.
Test to specifications - CORRECT ANSWER (also called black-box, data-driven, functional,
or input/output driven testing)
− Ignore the code — use the specifications to select
test cases
Test to code - CORRECT ANSWER (also called glass(white)-box, logic-driven, structured, or
path-oriented testing)
− Ignore the specifications — use the code to select
test cases
Black-box unit-testing - CORRECT ANSWER Neither exhaustive testing to specifications nor
exhaustive testing to code is feasible
Every test case must detect a previously
undetected fault
The art of testing - CORRECT ANSWER - Select a small, manageable set of test cases to
− Maximize the chances of detecting a fault, while
− Minimizing the chances of wasting a test case
, Equivalence testing - CORRECT ANSWER Any one member of an equivalence class is as
good a test case as any other member of the equivalence class
Boundary value analysis - CORRECT ANSWER Select test cases on or just to one side of the
boundary of
equivalence classes. (This greatly increases the probability
of detecting a fault)
White(glass)-box unit-testing - CORRECT ANSWER - Statement coverage
- Branch coverage
- Path coverage
- More efficient ways
e.g. 1) Linear code sequences
2) All-definition-use path coverage
3) ...
Statement coverage - CORRECT ANSWER Running a set of test cases in which every
statement is executed at least once
Weakness: Branch statements
- Both statements can be executed without the fault showing up
Branch coverage - CORRECT ANSWER Idea: running a set of test cases in which every
branch is
executed at least once (as well as all statements)
Path coverage - CORRECT ANSWER Running a set of test cases in which every path is
executed at least once (as well as all statements)
Problem:
− The number of paths may be very large
- We want a weaker condition than all paths but that shows up more faults than branch coverage