Introduction to Software Testing Flashcards

1
Q

What are 3 reasons why we test code?

A
  • to understand the code
  • to gain measurable confidence
  • to get a sense of actual program behavior
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a fault?

A

anomaly in code

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

What is an error?

A

runtime effect of executing a code, which may result in a failure

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

What is a failure?

A

manifestation of an error external to the program

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

What is the relation between fault, error and failure? Draw a diagram to illustrate

A

Simply put, fault and error could still lead to successful execution of program

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

What is a test case?

A

group of input values that cause programs to do something specific; often measured through the output produced

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

What is a test suite?

A

collect of test case

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

What is a test oracle?

A

mechanism for determining actual behavior of a test case

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

What is an example of a test oracle?

A

a mathematical formula

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

What is test effectiveness?

A

extent to which testing reveals fault or other objectives

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

What is a test plan?

A

document describing scope, approach, resources and schedule of intended testing activity

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

What’s the difference between testing and debugging?

A

testing reveals faults, debug remove/fix faults

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

What is a root-cause?

A

the actual fault

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

What is a manifestation?

A

observable incorrect output or crash

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

What is an “expected behavior”?

A

a constraint or an expected output value

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

What are some traits of oracles?

A
  • not all programs have oracle, i.e. non-testable

- useful for reliability testing: i.e. probability of failure free operation over some period of time

17
Q

What are 5 types of testing?

A
  1. unit
  2. integration
  3. system
  4. acceptance
  5. regression
18
Q

What is unit testing?

A

testing a single simple component; i.e. procedure or class

19
Q

What is integration testing?

A

testing of inter-dependent components; emphasizing on interfaces

20
Q

What is system testing?

A

testing of a complete stand-alone system

21
Q

What is acceptance testing?

A

customer’s evaluation of a system

22
Q

What is regression testing?

A

automated running of test upon system changes