05 Software Testing and Validation Flashcards
1
Q
What are test cases
A
description of a set of actions performed on software and expected outcome
2
Q
what are tests
A
- execution of test case
2. produces outcome
3
Q
what is Testing
A
practice of creating, maintaining, executing, evaluating test cases
4
Q
What is software testing
A
- process to execute program using data to simulate user input
- process of locating, identifying bugs before delivery to user
- part of general verification and validation
5
Q
what are program testing goals
A
- demonstrate to stakeholders that software meets requirements
- discover which behaviour is incorrect, undesirable, does not conform to specifications
6
Q
What is a “good” test
A
- high probability of finding error
- neither too simple nor complex
- not redundant
- detect maximum number of errors
7
Q
How to ensure accuracy of software
A
- verification
- check consistency of an output of software with its input - validation
- assess how software fulfills its requirement - defect testing
- discover faults in software that does not conform with specification
8
Q
verification examples
A
- is the software built right
- does software meets functionality
- takes place first
- goal: application and architecture
- static activities
- use reviews and walkthroughs
9
Q
validation examples
A
- are we building the right product
- does functionality meet intended behaviour
- after verification
- goal: actual product
- dynamic activities and execution of code
- use black/white box testing, nonfunctional test
10
Q
static analysis
A
inspection:
- requirement specification
- architecture
- UML design
- database schema
- program
- unable to check nonfunctional such as performance and usability
11
Q
dynamic analysis
A
testing:
- exercising
- observing product behaviour
12
Q
static/dynamic testing differences
A
static
- find bug without code execution
- verification stage
- cost effective
- done with reviews, walkthroughs, inspections
dynamic
- execute code to find result
- validation stage
- expensive
- done with unit, system, integration tests
13
Q
software testing process
A
- design test cases
- prepare test data
- run program with test data
- compare result to test cases
inputs: preconditions
expected: post conditions, actual output
14
Q
stages of testing
A
- development testing
- unit test
- integration test
- system test - release testing
- separate testing team test before release to user - user test
- customer test solution on their own environment
15
Q
debugging process
A
- identify problems
- identify cause of problems
- fix problems
- evaluate solution