Ch. 8: Software testing Flashcards

1
Q

What are the goals of testing software?

A
  • Demonstrate to the developer and the customer that the software meets its requirements
  • Discover situations where the behavior of the software is incorrect, undesirable or doesn’t conform to its specification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does your first goal lead to?

A

Validation testing

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

What does your second goal lead to?

A

Defect testing

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

What does validation testing do?

A

Demonstrates that the software meets its requirements

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

What does defect testing do?

A

Discovers faults of defects in the software where it’s behavior is incorrect with it’s specification

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

What does a successful validation test show?

A

That the system operates as intended

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

What does a successful defect test show?

A

Exposes a defect in the system

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

What is the difference between verification and validation?

A

Verification: Software should conform to its specification

Validation: Software should do what the user really requires

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

What is the aim of verification and validation?

A

To establish confidence that the system is fit for purpose

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

What is software inspections concerned with?

A

The analysis of the static system representation to discover problems

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

What is software testing concerned with?

A

Exercising and observing product behavior

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

What are the advantages of inspections?

A
  • Don’t have to be concerned with interactions between errors
  • Incomplete versions of a system can be inspected without additional costs
  • Can consider broader quality attributes of a program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What verification techniques should be used during the verification and validation process?

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

What are the stages of testing?

A
  • Development testing
  • Release testing
  • User testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is development testing?

A

System is tested during development to discover bugs and defects

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

What is release testing?

A

Separate testing team tests a complete version of the system before its released to users

17
Q

What is user testing?

A

Users of a system test the system in their own environment

18
Q

What type of tests are used in development testing?

A
  • Unit testing
  • Component testing
  • System testing
19
Q

What is unit testing?

A

Testing individual components in isolation

20
Q

Whenever possible unit testing should be __

21
Q

What are the general testing guidelines?

A
  • Choose inputs that force the system to generate all error messages
  • Design inputs that cause input buffers to overflow
  • Repeat the same input or series of inputs numerous times
  • Force invalid outputs to be generated
  • Force computation results to be too large or too small
22
Q

What are the objectives of interface testing?

A

To detect faults due to interface errors or invalid assumptions about interfaces

23
Q

What the are types of interfaces?

A
  • Parameter interfaces
  • Shared memory interfaces
  • Procedural interfaces
  • Message passing interfaces
24
Q

What are the interface testing guidelines?

A
  • Design tests so that parameters to a called procedure are at the extreme ends of their ranges
  • Always test pointer parameters with null pointers
  • Design tests which cause the component to fail
  • Use stress testing in message passing sysems
  • In shared memory systems, vary the order in which components are activated
25
What is the focus of system testing?
To test interactions between components
26
What is use case testing?
27
What is regression testing?
Tests the system to check that changes haven't broken previously broken code
28
What is release testing?
Tests a particular release of a system that's intended for use outside of the development team
29
What is the primary goal of the release testing process?
Convince the supplier of the system that is good enough for use
30
What is requirements based testing?
Examines each requirement and develops tests for it
31
What is performance testing?
Tests the emergent properties of a system (EX. performance, reliability)
32
What __ is a form of performance testing where the system is __
- Stress testing - Deliberately overloaded to test its failure behavior
33
What is user testing?
Users provide input and advice on system testing
34
What are the stages in the acceptance testing process?
- Define acceptance criteria - Plan acceptance testing - Derive acceptance tests - Run acceptance tests - Negotiate test results - Reject/accept system