Testing and Debugging Flashcards

1
Q

How is test data designed?

A

Systematically

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

What kind of process is debugging?

A

Lateral thinking

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

What is testing?

A

Executing an implementation with dummy data

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

What is a successful test?

A

One which shows an error

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
A system has many...
A package has many...
A class has many ...
A

Packages
Classes
Methods

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

What is top down testing?

A

Test each component before we test those it relies on. Write stubs for lower level components. Simultaneous with top down development. Design errors found early on

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

What is bottom up testing?

A

Test each component before we test any that rely on it. We don’t have to write stubs. Cannot test incrementally with top down development

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

What are test cases? What is test data?

A

Test cases are features we want to test. Test data is used to test them

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

What is black box testing?

A

When we look only at the specification of the behaviour for the component in order to construct test cases and data

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

What is white box testing? (Glass box testing)

A

When we also look at the implementation of the component when we construct the test data

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

What is equivalence partitioning?

A

A technique for constructing test data from the specification (only) of the component. We partition the set of all possible input data into classifications with common properties. We do the same for output data. We identify these classifications as test cases. We choose representative values from the test cases to be used as test data

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

What is structural testing?

A

A technique for constructing test data by looking at the implementation code
Choose data so that every combination of every path through the code is tried
Good technique for checking against many simple run time errors

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

Which testing approach is best?

A

Equivalence partitioning at first adding extra cases from structural testing

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

What is symbolic execution?

A

A symbolic execution covers an infinite number of sets of data. A finite number of symbolic executions is needed to cover all data

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

What are the two parts of debugging?

A

Error location and error elimination

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

What are some common errors?

A
Implicit type casting problems
starting a counter from 1 instead of 0
failing to update an array index
updating array index too early/late
failing to initialise a variable value
variable scope
17
Q

What is a workaround?

A

A quick fix

Anti-bug: fix the symptom not the cause