Software testing: Lecture 12 Flashcards

1
Q

Reasons for testing

A
  1. Detection of defects
  2. Support the design and implementation of a module
  3. Prevent the introduction of defects
  4. Document the behaviour of a system
  5. Demonstrate that a system meets it specification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Testing concepts

A
  1. Interfaces describes the expected service of a system: (e.g. inputs, outputs, non-functional characteristics)
  2. Failures are observations of a system implementation’s deviation from expected behaviour
  3. Defects (or bugs, faults) are the deduced causes of failure in a system, an incorrect variable assignment, or an invalid pointer reference, for example
  4. Slips (or errors) are the actions by programmers that introduce defects into a software system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Scales of testing

A
  1. Unit tests
  2. Integration tests
  3. Acceptance (or system) tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Behaviour Driven Development (BDD) User Stories

A

Narrative: [description]
As an [actor]
I want to [action]
So that [rationale]

Narrative: manage account balance
As a bank account holder
I want to make transactions on my bank account
So that I can manage my cashflow

Scenario: [description]
Given [how things begin]
When [action taken]
Then [outcome]
And [more outcomes...]

Scenario: transfer an amount to another account
Given a bank account for “Tony”
When I transfer $100 to the bank account for “Tony”
Then the balance for “Tony” should be $100
And my balance should be $0

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