Lecture 18: Software Testing Flashcards

1
Q

What is testing?

A

A collection of guidelines, methodologies, and tools for examining our products for errors and inconsistencies in stated requirements, implied requirements, and missing requirements

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

Whose job is it to test?

A

Developers, test engineers, customers, and other stakeholders all have responsibilities

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

Debugging vs. Testing

A

Testing uncovers the faults, debugging diagnoses and removes faults

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

What are the types of faults?

A

Omission: Requirements we forgot to include
Commission: Requirements we failed to implement correctly

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

What is the functional testing classification?

A

Black box approach
Concerned with system functionality and features, not concerned with implementation details
Takes the view of user or client

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

What is correctness testing? (functional)

A

Be sure that the systems meets all of its stated and implied requirements

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

What is performance testing? (functional)

A

Determine how well the system meets all of its stated and implied requirements
Determines resource limitations and inefficiencies of the system

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

What is stress testing? (functional)

A

Uncover any hidden faults which may cause the system to be unreliable under high loads or partial system failures

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

What is the structural testing classification?

A

White box approach
Concerned with implementation details
Takes the viewpoint of the developer
Tends to find errors of commission, not omission

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

What is statement coverage testing? (structural)

A

Be sure that all parts (hardware) and all statements (software) are used or executed at least once

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

What is decision coverage testing? (structural)

A

Check to be sure all decision points are exercised at least once for each possible outcome

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

What is path coverage testing? (structural)

A

Ensure all possible paths through the decision points are used at least once

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

Will testing in the real world assure us (100%) that there are no more faults?

A

No, our goal should be to provide enough (risk based) testing to ensure the probability of failure is low enough to be acceptable

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

What is path testing?

A

Based on selecting paths through the software, some % of full path coverage
Good for module level testing

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

What is transaction flow testing?

A

Traces the objects from their birth to their death, and possibly beyond, through the system

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

What is data flow testing?

A

Based on tracing data through the system
Very useful on multiprocessor and parallel programming systems
Looks for initialization and data flow anomalies

17
Q

What is syntax testing?

A

GIGo (Garbage in, garbage out)
Used to test the program and data translation functions of the system

18
Q

What is state testing?

A

Based on finite state or petri net models
Trace state transition behavior of the system
Useful for testing real time systems

19
Q

What is black box testing?

A

Cannot see source code, internal data, design documentation

19
Q

What is domain (random) testing?

A

Requires domain knowledge of how the system is to be used
Input data is either pre-selected or drawn at random

19
Q

What is mutation testing?

A

Test data sets are good if they can detect small random changes to the software
Plant errors in the code and check to see they are detected

20
Q

What is white box testing?

A

Testers have access to system internals