CH8 [in final] Flashcards

Software testing

1
Q

__________ is intended to show that a program does what it is intended to do and to discover program defects before it is put into use.

A

Testing

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

T/F: When you test software, you execute a program using artificial data.

A

True

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

T/F: Testing can reveal the abscence of errors NOT their prescence

A

F, can reveal the presence of errors NOT their absence

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

_______ is part of a more general verification and validation process, which also includes static validation techniques.

A

Testing

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

One of the goals of ________ is to demonstrate to the developer and the customer that the software meets its requirements.
This goal leads to __________ testing.

A

Program testing, Validation

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

One of the goals of ________ is to discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification.
This goal leads to __________ testing.

A

Program testing, Defect

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

You expect the system to perform correctly using a given set of test cases that reflect the system’s expected use.
This describes ___________.

A

Validation testing

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

The test cases are designed to expose defects, and can be deliberately obscure and need not reflect how the system is normally used.
This describes ____________ testing.

A

Defect testing

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

T/F: A successful defect test is a test that makes the system perform incorrectly.

A

T, and so it exposes a defect in the system.

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

To discover faults or defects in the software where its behaviour is incorrect or not in conformance with its specification.
This describes _________.

A

Defect testing

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

For (verification/validation), the software should conform to its specification.

A

verification

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

For (verification/validation), The software should do what the user really requires.

A

validation

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

“Are we building the right product”.
This describes (validation/verification)

A

validation

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

__________ is software inspections Concerned with analysis of the static system representation to discover problems

A

Static verification

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

__________ is software testing Concerned with exercising and observing product behaviour

A

Dynamic verification

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

____________ involve people examining the source representation with the aim of discovering anomalies and defects.

A

Software inspections

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

T/F: Software inspections require execution of a system and cannot be used before implementation.

A

F, they do not require execution of a system and may be used before implementation

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

T/F: Because inspection is a static process, you don’t have to be concerned with interactions between errors.

A

True.

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

T/F: Inspections and testing are opposing verification techniques.

A

F, they are complementary and not opposing verification techniques.

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

T/F: Inspections and testing should be used during the V & V process

A

True.

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

T/F: Inspections can check conformance with a specification but not conformance with the customer’s real requirements.

A

True.

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

Inspections cannot check __________ characteristics such as performance, usability, etc.

A

non-functional

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

Name the 3 stages of testing.
1- _____________ where the system is tested during development to discover bugs and defects.
2- _____________ where a separate testing team test a complete version of the system before it is released to users.
3- _____________ where users or potential users of a system test the system in their own environment.

A

Development testing, Release testing, User testing

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

__________ includes all testing activities that are carried out by the team developing the system.

A

Development testing

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

___________, where individual program units or object classes are tested. It should focus on testing the functionality of objects or methods.

A

Unit testing

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

____________, where several individual units are integrated to create composite components. It should focus on testing component interfaces.

A

Component testing

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

__________, where some or all of the components in a system are integrated and the system is tested as a whole. It should focus on testing component interactions.

A

System testing

28
Q

__________ is the process of testing individual components in isolation.

A

Unit testing

29
Q

T/F: User testing is a defect testing process.

A

F, Unit testing not user testing

30
Q

T/F: Inheritance makes it more difficult to design object class tests as the information to be tested is not localised.

A

True.

31
Q

Whenever possible, unit testing should be ________ so that tests are run and checked without manual intervention

A

automated

32
Q

In __________ testing, you make use of a test automation framework (such as JUnit) to write and run your program tests.

A

automated unit

33
Q

Unit testing ________ provide generic test classes that you extend to create specific test cases. They can then run all of the tests that you have implemented and report, often through some GUI, on the success of otherwise of the tests.

A

frameworks

34
Q

Automated test components have a ______where you initialize the system with the test case, namely the inputs and expected outputs part, a _______ part where you call the object or method to be tested, and a _______ part where you compare the result of the call with the expected result.

A

setup, call, assertion

35
Q

Name the two testing strategies.
__________, where you identify groups of inputs that have common characteristics and should be processed in the same way.
____________, where you use testing guidelines to choose test cases.

A

Partition testing, Guideline-based testing

36
Q

___________ test software with sequences which have only a single value.

A

Testing guidelines (sequences)

37
Q

T/F: Testing guidelines use sequences of different sizes in different tests.

A

True.

38
Q

Objectives of ____________ are to detect faults due to interface errors or invalid assumptions about interfaces.

A

Interface Testing

39
Q

Name the interface type.
- ________ where sub-systems request services from other sub-systems.
- _________where a block of memory is shared between procedures or functions.

A

Message passing interfaces, Shared memory interfaces

40
Q

Name the interface type.
- ________ where data is passed from one method or procedure to another.
- _________ where sub-system encapsulates a set of procedures to be called by other sub-systems.

A

Parameter interfaces, Procedural interfaces

41
Q

____________ where a calling component calls another component and makes an error in its use of its interface e.g. parameters in the wrong order.

A

Interface misuse

42
Q

__________ where a calling component embeds assumptions about the behaviour of the called component which are incorrect.

A

Interface misunderstanding

43
Q

___________ where the called and the calling component operate at different speeds and out-of-date information is accessed.

A

Timing errors

44
Q

Use stress testing in message passing systems.
This is an ___________ guideline.

A

Interface testing

45
Q

Always test pointer parameters with ____ pointers.
This is an interface testing guideline.

A

null

46
Q

_________ during development involves integrating components to create a version of the system and then testing the integrated system

A

System testing

47
Q

T/F: System testing checks that components are compatible, interact correctly and transfer the right data at the right time across their interfaces.

A

True.

48
Q

T/F: System testing tests the emergent behaviour of a system.

A

True.

49
Q

Exhaustive system testing is impossible so __________ which define the required system test coverage may be developed.

A

testing policies

50
Q

____________ is an approach to program development in which you inter-leave testing and code development

A

Test-driven development (TDD)

51
Q

T/F: TDD was introduced as part of agile methods such as Extreme Programming.

A

True.

52
Q

During ________, you develop code incrementally, along with a test for that increment. You don’t move on to the next increment until the code that you have developed passes its test.

A

Test-driven development

53
Q

_________ is testing the system to check that changes have not ‘broken’ previously working code.

A

Regression testing

54
Q

________ is the process of testing a particular release of a system that is intended for use outside of the development team.

A

Release testing

55
Q

The primary goal of the ________ testing process is to convince the supplier of the system that it is good enough for use.

A

release

56
Q

T/F: User testing is usually a black-box testing process where tests are only derived from the system specification.

A

F, Release testing not user testing

57
Q

Part of _________ testing may involve testing the emergent properties of a system, such as performance and reliability.

A

release

58
Q

__________ is a form of performance testing where the system is deliberately overloaded to test its failure behaviour.

A

Stress testing

59
Q

_________ testing is a stage in the testing process in which users or customers provide input and advice on system testing.

A

User or customer

60
Q

Name the 3 types of user testing.

A

Alpha, beta, and acceptance testing.

61
Q

__________ where a release of the software is made available to users to allow them to experiment and to raise problems that they discover with the system developers.

A

Beta testing

62
Q

____________ where users of the software work with the development team to test the software at the developer’s site.

A

Alpha testing

63
Q

___________ where customers test a system to decide whether or not it is ready to be accepted from the system developers and deployed in the customer environment. Primarily for custom systems.

A

Acceptance testing

64
Q

T/F: In agile methods, the user/customer is part of the development team and is responsible for making decisions on the acceptability of the system

A

True.

65
Q

T/F: In agile methods, there is a separate acceptance testing process.

A

F, there is no acceptance testing process

66
Q

In agile methods, tests are defined by the ________ and are integrated with other tests in that they are run automatically when changes are made.

A

user/customer