Verification & Validation Flashcards

1
Q

What is the difference between verification and validation?

A

Validation: have we built the right system?
- check all requirements are satisfied;find missing funtionality

Verification; have we built the system right?
- check system behave correctly; check for consistency and completeness

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

3 methods of validation?

A
  • Check every use case handled by system
  • simulate system using CRC cards
  • check use case scenarios using UML sequence diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

3 goals of verification?

A
  • prove models are correct before coding
  • consistent
  • complete
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe breifly 4 different kinds of testing

A
  • Unit testing; check each class works infdivually
  • Integration testing; checks whole system works after assembly
  • Regression testing; checks a system still works after modification
  • Acceptance testing; is system intuitive for end-users?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the oracle problem?

A
  • code based testing relies on seeing if anything unusual happens when executing code paths, but what is correct?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the oracle test?

A

-assumes code must conform to some correct specification

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

Describe 3 different testing strategies

A

Manual; user written tests
Random; tools randomly generate test sequences
Model-based; test sets generate automatically

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

What is testing coverage?

A

How much of the software is validated by the test set

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

3 different levels of software coverage that can be achieved by white-box testing?

A
  • Full statement coverage; every program node
  • Decision coverage; every program branch
  • Condition coverage; every boolean sub-expression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

2 methods of black-box testing

A
  • equivalence partition testing; test all distinct sets of arguments that trigger different otucomes
  • state-based testing; exercise the complete state space (reach every state and fire every transition)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How do we write positive and negative OCL tests using preconditions?

A

+ supply a test satisfying all preconditions

- supply a test violating each condition

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

How do we write positive and negative OCL tests using postconditions?

A

supply tests whose argument shsould trigger each kind of outcome
- supply tests whose inputs dont satisfy any of the postconditions

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

How do we write positive and negative OCL tests using invariants?

A

+ does invariant hold after construction?

- force object into an inconsistent state and evaluate

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

WHat method do we use to test from a state machine?

A

Generate test sequences to reach every state
Exercise every method once in every state
Check we reach the desired next state

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

What is meant by the state cover?

A

Set of shortest sequences that is guaranteed to reach every state (after reset)

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

What is meant by the characertization set?

A

smallest set of shortest sequences that will uniquely distinguish being in each state