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 __

A

automated

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
Q

What is the focus of system testing?

A

To test interactions between components

26
Q

What is use case testing?

A
27
Q

What is regression testing?

A

Tests the system to check that changes haven’t broken previously broken code

28
Q

What is release testing?

A

Tests a particular release of a system that’s intended for use outside of the development team

29
Q

What is the primary goal of the release testing process?

A

Convince the supplier of the system that is good enough for use

30
Q

What is requirements based testing?

A

Examines each requirement and develops tests for it

31
Q

What is performance testing?

A

Tests the emergent properties of a system (EX. performance, reliability)

32
Q

What __ is a form of performance testing where the system is __

A
  • Stress testing
  • Deliberately overloaded to test its failure behavior
33
Q

What is user testing?

A

Users provide input and advice on system testing

34
Q

What are the stages in the acceptance testing process?

A
  • Define acceptance criteria
  • Plan acceptance testing
  • Derive acceptance tests
  • Run acceptance tests
  • Negotiate test results
  • Reject/accept system