Software testing: Lecture 12 Flashcards
1
Q
Reasons for testing
A
- Detection of defects
- Support the design and implementation of a module
- Prevent the introduction of defects
- Document the behaviour of a system
- Demonstrate that a system meets it specification
2
Q
Testing concepts
A
- Interfaces describes the expected service of a system: (e.g. inputs, outputs, non-functional characteristics)
- Failures are observations of a system implementation’s deviation from expected behaviour
- Defects (or bugs, faults) are the deduced causes of failure in a system, an incorrect variable assignment, or an invalid pointer reference, for example
- Slips (or errors) are the actions by programmers that introduce defects into a software system.
3
Q
Scales of testing
A
- Unit tests
- Integration tests
- Acceptance (or system) tests
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