Part III - Software Quality Flashcards

1
Q

What is verification?

A

Ensuring that the system is being built according to the process, that every activity has been carried out correctly - that the thing has been built right

Carried out by testing
- System testing
- Unit testing
- Integration testing
- Regression testing

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

What is validation?

A

ensuring that the system has implemented all of the requirements - the right thing has been built

need to check requirements are correct
customer or acceptance testing required

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

What is system testing?

A

Making sure the architecture/whole design is correct

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

What is unit testing?

A

Implementation is correct - one part at a time

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

What is integration testing?

A

Checking the different bits of the software have been put together correctly

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

What is code correctness?

A

Code does what it is supposed to
Code behaves the way we expect it to
Checks the functionality requirements are met my the code

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

What is regression testing?

A

Making sure that maintenance does not break anything that used to work

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

How do check fitness for purpose?

A

Depends on what artifact we are considering, what part of the lifecycle the artifact comes from and what quality attribute we care about

e.g. artifact - code
lifecycle - implementation, operation
quality - correctness

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

What is an error?

A

When the system is in a state that is different from what it is supposed to be. Will lead to a failure if not dealt with

e.g. if a constructor that has not been properly set up is executed, the system will go into an error state

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

How can you produce fault-free code?

A

Avoid faults by using processes that reduce chance of faults being caused

Detect faults statically - looking over source code

Detect faults dynamically - execute code and see if any failures are occuring (can be done through testing)

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

What is a fault?

A

An abnormal aspect of the code that will put the system into an error state when executed

e.g. forget to initialise a field in one constructor so that it is null when it should not be

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

What is the difference between a fault and a bug?

A

Bug implies that it appeared spontaneously

Faults do not appear spontaneously - caused due to human action e.g. code smells

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

What is a failure?

A

Externally observed incorrect behaviour of code

e.g. a null field leads to a NullPointerException causing the program to crash

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

What is the RIP model?

A

Describes the requirements for a failure to be observed:

Reachability - there must be input that reaches the location of the fault

Infection - having executed the fault, the program must come into an error state

Propagation - the error (infected) state must propagate to cause some output of the program to be incorrect

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

What is the difference between testing and debugging?

A

Testing is trying to produce failures

Debugging is trying to find the fault that caused a failure - find the point in which the program enters the error state

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

What is testing?

A

An activity in which a system or a component is executed under specific conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component

15
Q

What is a unit test?

A

A small and incomplete test which typically tests for a procedure/function/method (an implementation)

15
Q

What is a test suite?

A

A set of tests

16
Q

What is a module test?

A

Testing a file or class typically

17
Q

What is an acceptance test?

A

Tests that are specified by the customer

18
Q

What is the test case?

A

specifies the pretest state of the IUT, the inputs, and the expected state or behaviour

19
Q

What are the stages of testing?

A
  1. Get IUT into the pretest state
  2. Supply test inputs
  3. Execute the IUT with test case values
  4. Perform any necessary post-test actions to terminate the test
  5. Compare observed state or behaviour of the IUT with expected state or behaviour
  6. Report results - if the resulting state or behaviour matches the expected results, then the test has passed, otherwise it fails
20
Q
A
21
Q
A
21
Q
A
22
Q
A
22
Q
A
22
Q
A
22
Q
A
22
Q
A
23
Q
A
24
Q
A