6. Software Testing Flashcards

(27 cards)

1
Q

What are the typical fault rates during coding versus after thorough testing?

A

During coding: 30-85 errors per 1000 LOC; After thorough testing: 0.5-3 errors per 1000 LOC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the primary goal of testing?

A

To discover as many errors as possible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

According to Glen Myers (1979), what is the definition of testing?

A

Testing is the process of executing a program with the intent of finding an error

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Dijkstra’s famous quote regarding software testing?

A

Testing cannot show the absence of errors, only their presence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is ‘Observability’ in software testing?

A

‘What you see is what you test’; having observable outputs, system states, and accessible source code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is ‘Controllability’ in software testing?

A

The ability to control the software’s execution, allowing for automated and optimized testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Black Box testing?

A

Functional testing that checks against requirements (Specification implies Test cases)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is White Box testing?

A

Structural testing that checks internal logic and flow (Program implies Test cases)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the difference between Verification and Validation?

A

Validation: ‘Are we building the right product?’ (User requirements). Verification: ‘Are we building the product right?’ (Phase requirements)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are ‘Drivers’ in Unit Testing?

A

Modules that pass test data to the unit being tested and print or compare the results

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are ‘Stubs’ in Unit Testing?

A

Dummy modules that replace not-yet-implemented modules called by the unit being tested

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Regression Testing?

A

Testing to ensure that new errors are not introduced after changes are made

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Recovery Testing?

A

Checks the system’s ability to recover from failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Security Testing?

A

Verifies that system protection mechanisms prevent improper penetration or data alteration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Stress Testing?

A

Checks how the program deals with abnormal resource demands (quantity, frequency, or volume)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Performance Testing?

A

Designed to test the run-time performance of software, especially real-time software

17
Q

What is Acceptance Testing?

A

A subset of system tests agreed upon by customer and developer, performed at the customer site in their normal environment

18
Q

What is the difference between Alpha and Beta testing?

A

Alpha: Tested by customer at developer’s site. Beta: Tested by customer at their own site without developer present

19
Q

What is Statement Coverage?

A

A white-box criterion where every statement in the program is executed at least once

20
Q

What is Decision (Branch) Coverage?

A

Every decision (diamond/condition) must have a true and false outcome at least once

21
Q

What is Modified Condition/Decision Coverage (MCDC)?

A

Every condition in a decision has taken all possible outcomes, and each condition is shown to affect the decision outcome independently

22
Q

What is Basis Path Testing?

A

A technique to execute every statement and every edge in the program flow at least once by finding linearly independent paths

23
Q

What is Cyclomatic Complexity?

A

A metric measuring logical complexity that defines the upper bound for the number of test cases needed to ensure statement and edge coverage

24
Q

What are the three formulas for Cyclomatic Complexity V(G)?

A
  1. Number of regions. 2. Edges - Nodes + 2. 3. Number of predicate nodes + 1
25
What errors can White Box testing NOT find?
Missing functions, wrong interfaces, data flow errors, missing conditions, or missing statements
26
What is Equivalence Partitioning?
A black-box technique that splits input/output into valid and invalid classes, assuming one test in a class discovers errors for the whole class
27
What is Boundary-Value Analysis?
A technique that selects test cases directly on, above, and beneath the edges of equivalence classes