Block 3 Glossary Flashcards

These cards are a copy of the glossary provided by TM354. Except where definitions are 'see x', these cards have been omitted.

1
Q

Acceptance Testing

A

The formal testing of an entire system, conducted by a customer, to determine whether it satisfies its acceptance criteria and thus whether the customer should accept the system.

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

Adapeter

A

A design pattern that addresses the problem of a class having an interface different from the one the client expects.

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

Adapter Pattern

A

A design pattern used when a client expects to make calls to a particular interface different from the one that is implemented.

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

Analysis Pattern

A

A high-level pattern describing a solution at a conceptual analysis level problem.

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

Analytical Completeness

A

A measure of completeness where only the functional requirements are considered.

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

Applet

A

A small Java program that is downloaded from a server and executes in a container consisting of a Java plug-in installed in the client’s browser.

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

Architectural Pattern

A

Codifies recurrent software architectures by describing the key elements of the architecture and how they fit together. It also describes the qualities of systems that are assembled following the pattern.

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

Arcitectural View

A

A model of the architecture, that captures the concerns of a group of stakeholders of the system.

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

Architecture Specilaisation

A

The process of specialising an architecture by selecting specific components etc.

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

Architecture Specification

A

The specification of the architecture of a system. It is also the third step in the product line process, where reference architectures are produced.

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

Assertion (Handling) Mechanism

A

A programming construct which, at run-time, allows an assertion to be executed, and alerts the user to an assertion violation. Also referred to as an assertion mechanism.

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

Assertion Statement

A

A statement of what must be true at a particular point in the execution of a method.

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

Assume

A

A condition that a component needs, to operate correctly.

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

Asynchronous

A

(communication) When the sender can continue without waiting for an answer from another component.

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

Basis-Path Testing

A

A white box testing technique based on the cyclomatic-complexity metric which ensures that all statements in a method are tested at least once.

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

Blackboard

A

A variant of a data-centred architectural style in which the store is active and informs users of changes, so that communication may be initiated from either end.

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

Black Box Testing

A

Used to test that each aspect of the customer’s requirements is handled correctly by an implementation. Black box testing ‘sees’ a system through its specification – the specification defines what the system should do and, through black box testing, we make sure it does it.

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

Boundary Testing

A

A type of black box testing that focuses on producing test data at the boundaries between partitions of the input data space (also know as fence testing).

Note that the input data space is simply the set of all values that an input can take, and a partition, also known as a subdomain, is simply a set of input values that require essentially the same processing.

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

Bursty Event

A

An event coming in sudden and unpredictable clusters overlaying normally low background activity.

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

Callee

A

Component that receives a procedure call in a call-return architecture.

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

Call-Return Style

A

An architectural style in which one component (the caller) makes a procedure call to another component (often known as the callee) and waits for the call to return.

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

Case Analysis

A

When carrying boundary testing, case analysis is the process used to partition test data into subdomains, i.e. sets of input values that require similar processing.

Case analysis aids the identification of boundaries between subdomains. At these boundaries, the kind of processing required changes.

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

Class Invariant

A

A constraint that must be true at all times, other than during when one of its methods is executing. A statement about the values of the attributes of a class that must hold for all instances of that class.

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

Client-Server

A

An architectural style in which one component (the server) waits for requests from clients, processes each one as it as received, and returns a response to the client.

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

Cloud Computing

A

A model in which software runs on remote facilities provided by a third-party supplier.

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

Completeness

A

The degree to which full implementation of the required functionality has been achieved.

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

CBD

A

Component-Based Development

An approach to the development of software by assembling reusable self-contained software components.

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

Component Collection

A

The fourth step in the product line process where the repository of candidate componentsaccompanying the architecture is gathered together.

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

Component Selection and Specialisation

A

The process of selecting appropriate components for a system and specialising them to the application domain. (See also domain.)

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

Concern

A

Some aspect of the system that is of crucial importance from the point of view of one or more groups of stakeholders.

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

Connector

A

An element of an architecture that establishes the communication between components.

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

Consistency

A

The property of two descriptions agreeing with each other, that is, not making statements that cannot be simultaneously true.

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

Container

A

An object (or component) that exists to encompass other objects and provide operations to access or iterate over its contents. In Java EE, a special run time environment that provides components with supporting services (for example, life-cycle management, security, deployment, and run-time services).

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

Context Dependency

A

A service required by a module in order for it to work.

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

Controller

A

In the MVC, the controller is the component that handles all user inputs which affect the model.

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

CBO

A

Coupling Between Objects Metric

For a given class, CBO is defined as the number of relationships the class has with other classes. The more relationships a class has, and so the higher the value of this metric, the more difficult it is to understand the use of the given class.

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

Cyclomatic-Compexity Metric

A

A measure of the complexity of a method by counting the number of independent paths through a method body.

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

Data-Centred

A

Architectural style where there is a data provider which is a centralised store of persistent data.

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

Data-Centred Style

A

An architectural style in which there is a centralised data provider, together with a number of clients who are data consumers. If the provider simply responds to client requests it is called a database. A variant in which the data store informs clients when a change occurs is known as a blackboard.

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

Data-Flow Style

A

An architectural style in which each component (called a filter) accepts a stream of data, processes it, and passes the result on to the next filter. A filter has no knowledge of other filters upstream or downstream but simply operates on the data it is given.

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

Data Loss

A

The amount of data lost because the system fails to record it.

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

Defensive Programming

A

A design philosophy that says preconditions should always be checked. Each operation is responsible for making sure that it is safe to proceed. The checking is placed very close to the code that depends on it.

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

Dependency Injection

A

A Java EE container service that creates and manages an EJB object ‘injecting’ the necessary references into the client.

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

Deployment Model

A

A UML model describing how the components of a system are to be mapped onto different machines and how they will communicate.

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

DIT

A

Depth-of-Inheritance-Tree

For a given class, this is defined as its number of ancestors. Because of inheritance, a method in the given class can be defined in any of its ancestors. DIT is, therefore, a measure of the number of classes essential to the understanding of the methods of the given class. The deeper a class is in an inheritance tree, and so the higher the value of this metric, the more difficult the class may be to understand.

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

DbC

A

Design by Contract

The process of developing software based on the notion of contracts between objects, which are expressed as assertions.

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

Design Pattern

A

A middle-level pattern describing a solution at a software design level.

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

Developmental Testing

A

One of the four major types of software testing which checks that developmental activities have been carried out correctly, and ideally is performed by development staff and checked by quality assurance (QA) staff.

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

EJB Container

A

A run-time environment where EJB components are deployed.

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

Enterprise Architectures

A

Software systems designed to meet the business needs of large organisations.

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

Error Guessing

A

An informal but successful black box testing technique in which the wildest test data that can be thought of is presented to the program unit.

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

Executable Assertion

A

An assertion that has been coded and can be executed at run-time.

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

Executable Documentation

A

Executable documentation is documentation tht allows code to be automatically checked against documention at run time. It should have no effect on program logic, and should be able to be switched on or off globally - so as not to impact performance. Not all aspects of documentation can be checked in this way, but Design by Contract and Test Driven Development are two different systematic approaches to executable documentaion.

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

XP

A

Extreme Programming

An agile software development method.

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

Factory

A

A specialised object for creating and initialising objects needed by clients.

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

Factory Method

A

A variant of the Factory pattern particularly useful in the definition of frameworks in which application-specific factories and products can be defined based on the interfaces defined in the framework.

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

Factory Pattern

A

A pattern to define a specialised object for the creation and initialisation of other objects.

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

Filter

A

Element in a pipe and filter architecture that takes some data and processes it to produce a result.

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

Fixture

A

The state in place and the data to be used on a test case.

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

Flexibility

A

The property of a software system that indicates how easily the system can be modified.

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

Foreign Key

A

In a database table, a column that holds a key from a different table.

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

Framework

A

A collection of classes that together provide behaviour common to a variety of applications. The programmer creates a new application by extending and, perhaps, overriding the behaviour of the classes contained in the framework.

Also, the part of an architecture that can be reused.

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

Guarantee

A

A condition that a component promises to other components.

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

Heuristic Evaluation

A

User interface code should always be user tested. However, heuristic testing allows preliminary testing of interaction designs without users. Heuristic evaluation involves analysing interaction designs against recognised checklists for good practice (‘heuristics’).

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

HTTP

A

Hyper Text Transer Protocol

A protocol for communication of data in the Web.

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

Idiom

A

A pattern that applies within a programming language.

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

Ilities

A

Quality attributes, for instance security, reliability, availability, usability etc.

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

Independent Components

A

Architectural style where components execute concurrently and are decoupled as far as possible, but can communicate by messages that allow them to exchange data or coordinate their operations.

69
Q

Independent Components Style

A

An architectural style in which components are largely decoupled and execute concurrently, but coordinate with one another or exchange data by means of asynchronous messages.

70
Q

Inertial Convention

A

The assumption that state components not explicitly described as having changed in a postconditionwill remain unchanged by a method call.

71
Q

Integration and Release

A

The process of bringing items together into a unified whole, and then releasing to a customer.

72
Q

Integration Testing

A

The second stage of developmental testing in which previously tested units are tested together as an integrated whole.

73
Q

Interface

A

In general, this refers to the operations (methods), including their syntax and semantics, that a software system/subsystem/module provides to the clients of the system. In the object-oriented approach, the public operations associated with an object are referred to as its interface, or its interface operations. In Java, an interface is a construct similar to a class, which provides a specification (in the form of method headings but no implementation) of the methods for which classes implementing the interface must provide implementations.

74
Q

Interface Testing

A

Unit testing in which test data is chosen to check that the flow of information into and out from an object of the class is correct. Also a form of system testing, in the case where the systemcommunicates with other systems in the outside world, that tests its interaction with the communication system; in this context it is also referred to as protocol testing.

75
Q

Java EE

A

Java Enterprise Edition

A framework for constructing enterprise systems.

76
Q

Jitter

A

The amount of variation in latency, for example, are some responses very quick but others take much longer?

77
Q

LCOM

A

Lack-Of-Cohesion-In-Methods Metric

The number of pairs of methods that make reference to the same attributes minus the number of pairs of methods that do not; or zero should this be negative. In highly cohesive classes, methods will manipulate the same attributes.

78
Q

Latency

A

The time taken to process a stimulus, for example, how long does a search engine take to respond to a query?

79
Q

Layered Style

A

An architectural style in which the system is structured as a series of layers, each layer communicating only with the layers immediately above and below it.

80
Q

LOC

A

Lines-Of-Code Metric

A very simple measure of the complexity of a system description is given by counting the number of lines in a piece of code.

81
Q

Location Transparency

A

In a service-oriented architecture (SOA) it allows consumers to make use of the service without being aware of where the service is actually located, i.e. on which machine or even in which business organisation. The requester of the service and the service itself are only loosely bound; in particular, the requester has no knowledge of the service implementation or its platform, and they only communicate through messages. It is also possible for components to be location transparent and be invoked using a logical name rather than a physical address.

82
Q

MTTC

A

Mean Time To Change

The average of the time it takes to analyse a bug report, design an appropriate modification, implement the change, test it, and distribute the change to all users. In general, the lower the MTTC (for equivalent types of changes), the more maintainable the software product is.

83
Q

Miss Rate

A

Measures the proportion of events that are not responded to.

84
Q

Model

A

A simplification of reality, created in order to understand an aspect or viewpoint of the system being created. In the MVC, the model the component that does the processing.

85
Q

MVC

A

Model-View-Controller

Describes a high-level solution to the general problem of human–computer interaction, relating what the user sees on a screen and does with a keyboard, mouse or other interaction device, to the functions of an application and the data that it stores. The ‘model’ is the internal workings of the program, the ‘view’ is how the user sees the state of the model and the ‘controller’ is how the user changes the state or provides input. Whenever some input through a controller changes the primary data of the model, the model then informs all views and all controllers so that they in turn can update their representation of the data.

86
Q

Notification Style

A

An architectural style in which one kind of component, the observer, registers itself with another component, the subject, in order to be notified when some particular event occurs at the subject’s end.

87
Q

NOC

A

Number-Of-Children Metric

For a given class, NOC is defined as the number of children for that class. This metric is a measure of the number of classes that will be affected by changes to a given parent clas

88
Q

Observable

A

In the Observer pattern the object, also called the subject, that keeps objects registered with it informed when its state changes.

89
Q

Observer

A

In the Observer pattern objects register themselves with a Observable, in order to receive notifications when the latter’s state changes.

90
Q

Partitoning

A

This black box testing technique focuses on producing test data at the boundaries between partitions of the input data space (or input domain). Partitioning is based on the observation that common errors are often caused by a data item being just one out, or a loop being executed one too many or one too few times, for example; such errors are most visible at the boundaries of the input data space. (Also referred to as equivalence partitioning.)

91
Q

Path Parameter

A

Part of a path to be replaced by the corresponding element in the actual URI the client uses when making a request.

92
Q

Peer-To-Peer

A

An architecture where there is no clear distinction between clients and servers.

93
Q

Peer-To-Peer Style

A

An architectural style in which all components are both clients and servers and any component can request services from any other component.

94
Q

Performance

A

The ability of a system to process service requests.

95
Q

Performance Testing

A

System testing that tests that the system meets all specified operating requirements for speed, number of concurrent users permitted, etc.

96
Q

Pipe

A

Element in a pipe and filter architecture that is a conduit along which the data flows.

97
Q

Pipes and Filters

A

An architecture where filters are the elements that take some data and process it to produce a result, and pipes are the conduits along which the data flows. Also known as data-flow.

98
Q

Polymorphism

A

In object oriented programming, when a program specifies that some message is to be sent to some object, it is not always possible at compile time to determine which of several candidate methods should correspond to the message. This is because, for inheritance or other reasons, there may be several classes of object with a common interface, and the identity of the class of the receiver may not be determined till run time.

Such a message is said to be polymorphic.

99
Q

Postcondition

A

A constraint that must be true at the completion of an operation, or use case.

100
Q

Precondition

A

A constraint that must be true when an operation is invoked, or when a use case is carried out.

101
Q

Presentation Layer

A

In a layered architecture, the layer concerned with the user interface.

102
Q

Primary Key

A

In a database table, a column that uniquely identifies each row of the table.

103
Q

Product

A

In the Factory design pattern the object the factory produces.

104
Q

Product Line

A

A set of related software products for different customers, reusing major parts of the software from customer to customer, with only those parts peculiar to the particular customer being different.

105
Q

Product-Line Initiation

A

This is the first step in the product line process, where it is recognised that there is a class of commonly recurring software systems where solutions do not differ much from each other.

106
Q

Product Operation Requirements

A

How a product will be used

107
Q

Product Revision Requirements

A

How a product will be maintained.

108
Q

Product Transition Requirements

A

How a product will be modified for different operating environments.

109
Q

Profession

A

‘A form of employment, esp. one that is possible only for an educated person and after training (such as law, medicine or teaching) and that is respected in society as honourable.’ (Longman Dictionary of Contemporary English, 1987.)

110
Q

Provided Interface

A

The set of operations a component makes available to other components.

111
Q

Publisher

A

Component, in a publish-subscribe architecture, that notifies other components of updates.

112
Q

Publish-Subscribe

A

Architectural style where subscribers register to receive updates (often messages) whenever a publisher posts a new item.

113
Q

Quality Attribute Scenario

A

A tool which allows specification of non-functional requirements in a more precise and detailed form which can be used to help make architectural decisions.

114
Q

Quantity Patterns

A

A pattern which provides useful guidance on how to represent dimensioned quantities, that is, values plus their units of measurement.

115
Q

Random Testing

A

A black box testing technique in which test data is randomly generated within the input data space.

116
Q

Realisation

A

An implementation of an interface.

117
Q

Record

A

A row of a database table.

118
Q

Refactoring

A

The reorganisation of code structure for reasons such as clarity or maintainability, while making no change to the external behaviour.

119
Q

Regression Testing

A

One of the four major types of software testing, which occurs during developmental testing and system maintenance, and which checks that fixing one bug has not introduced others.

120
Q

Repository

A

Centralised store of persistent data in a data-centred architecture.

121
Q

Required Interface

A

The set of operations a component needs from other components.

122
Q

Requirements-Based Testing

A

One of the four major types of software testing which checks that a system meets the customer’s requirements, and is carried out by QA staff in conjunction with the customer.

123
Q

Requirements Pattern

A

A description of knowledge used in the elicitation of requirements.

124
Q

RFC

A

Responces-For-A-Class Metric

For a given class, RFC is defined as the size of the response set for the class. Classes with high values for this metric will be more difficult to understand than classes with low values.

125
Q

Response Set

A

All the methods of a class, including those inherited, and those it invokes.

126
Q

Restart Testing

A

System testing that tests the ability of the system to recover from errors of internal state.

127
Q

RESTful

A

A web service that uses a uniform interface consisting only of a set of standard methods which are always the same for every service.

128
Q

Reusability

A

A software quality factor affecting product transition requirements which determines the extent to which a system (or system component) can be reused in other applications, that is, how easy it is to reuse some of the software to make future developments more cost-effective.

129
Q

Security Testing

A

System testing that tests that the system does not offer opportunities to breach security.

130
Q

Self Consistency

A

System descriptions are said to be self consistent if they make no self contradictory statements.

131
Q

Service Consumer

A

Component accessing a service.

132
Q

Service Orchestration

A

Coordination of services invocation.

133
Q

SOA

A

Service-Oriented Architecture

SOA is an approach to build enterprise systems that deliver application functionality either as services to end-user applications or to build other services. In this approach, services are software assets, which are described and interact in a standard way, so that the focus of application development is the assembly of services as building blocks.

134
Q

SOCCA

A

Service-Oriented Cloud Computing Architecture

An architecture to address the integration of the principles of SOA with those of cloud computing.

135
Q

Service-Oriented Style

A

An architectural style in which set of service providers makes services available to a set of service consumers. Consumers can combine services in order to carry out business processes.

136
Q

Service Provider

A

Component implementing a service.

137
Q

Signature

A

In general, the combination of name, parameters and return type of an operation. In Java, the combination of name and formal parameters in a method heading (that is, excluding method’s return type).

138
Q

Singleton

A

A design pattern used where there should be only one instance of a class.

139
Q

Singleton Pattern

A

A pattern to ensure that a class has only one instance, and to provide a global point of access to it.

140
Q

Software Architecture

A

‘… the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.’ (Bass, Clements and Kazman, 2012.)

141
Q

Software Metrics

A

Measurable quantities that can be used to infer values for the software quality factors.

142
Q

SQF

A

Software Quality Factor

An attribute of a software product affected by product operation requirements, product revision requirements and product transition requirements. There are 11 such attributes: correctness, reliability, efficiency, integrity, usability, maintainability, flexibility, testability, portability, reusabilityand interoperability.

143
Q

Specific-Requirements Capture

A

Capturing the specific requirements for a new product, when using a product-line process. These are captured as specialisations and extensions of the domain model.

144
Q

Sporadic Event

A

An event that is infrequent and isolated.

145
Q

Start-Up Testing

A

System testing that tests the system’s ability to be started in a working hardware/software configuration. Following such tests, all configurations should be fully system tested individually.

Also referred to as initialisation testing.

146
Q

Statelessness

A

A property of a component when it responds to each request as a ‘one-off’, without retaining any memory of previous requests.

147
Q

Stochastic Event

A

An event that occurs randomly but according to a well-defined probability distribution: for example heads coming up when a coin is flipped.

148
Q

Straight-Through Path

A

Basis-path testing is a white box testing technique that involves choosing test data to exercise all of the paths in code.

In order to enumerate basis-path test cases, a first stp is typically to identify the straight-through path. This is the path where all loop and if conditions evaluate to false, and only default cases are selected in switch statements.

149
Q

Stress Testing

A

System testing that tests that the system can operate reliably at the limits of each of its resources (for example, to stress test a web server, we may simulate the accesses of hundreds or thousands of users all at the same time to see if it can cope with the load).

150
Q

Subdomain

A

Simply a set of input values that require essentially the same processing. Subdomains may be found by means of case analysis.

151
Q

Subscriber

A

Component, in a publish-subscribe architecture, that registers to receive updates from another component (the publisher).

152
Q

Subsitutability

A

Substitutability means that an object of one type is legitimately substitutable for an object of another type. This is allowed in Java when objects are related through inheritance (that is, an object of the child class may be substituted for an object of the parent class). However, substitutability is only sensible when the objects are related as subtype to supertype (that is, when the inheritance is inheritance for specialisation and not inheritance for construction).

153
Q

System Testing

A

The third stage of developmental testing in which the completed system is tested against the customer’s requirements.

154
Q

Tactic

A

A reusable solution to the problem of achieving particular qualities.

155
Q

Test Case

A

The set of conditions and data used to determine whether a system is working as intended.

156
Q

Test-Driven Development

A

Test driven development demands that, before any code is written, tests should be written for that code to meet. Just enough code should be written to pass those tests, and the further tests should be written and so on. On each iteration, all the tests should be run. Test driven development eases the business of making late changes to code, because the accumulated tests provide assurance that changes have not broken the code.

157
Q

Throughput

A

The number of events dealt with in a given time.

158
Q

To Do List

A

In Test-driven development, when coding anything that turns out to need more than two or three TDD cycles, it can be useful to maintain a short to do list that can feed into the first steps of future cycles. This list should be kept short.

159
Q

Unit Testing

A

The first stage of developmental testing in which units of functionality (for example, the classes in an object-oriented system) are tested in isolation.

160
Q

Usability Testing

A

One of the four major types of software testing in which the functionality and user interface are tested to ensure that they are fit for the intended users. This generally involves selected users undertaking carefully designed tasks so that measures of usability can be calculated and fed back into the development process.

161
Q

User-Command Testing

A

System testing that tests all user commands from the point of view of tolerance to syntax errors and data input errors. Also referred to as operator testing.

162
Q

User-Defined Type

A

A data type defined by the programmer using predefined types provided by the programming language.

163
Q

Validation

A

The process of checking that a software system is consistent with the customer’s requirements; that is, the developer is building the ‘right’ product. (See also verification.)

164
Q

Verification

A

A process of ensuring that the design of a system corresponds to its specification, and that the system is correctly coded according to its design; that is, all the different system descriptions are consistent and complete with respect to each other. If validation is about building the ‘right’ product, then verification is about the product being built ‘right’.

165
Q

View

A

In the MVC, the view is the representation of the model in the user interface: it displays the output from the system and is what the user perceives of the model’s state.

166
Q

Viewpoint

A

A perspective on a system from the point of view of a particular person or group of people.

167
Q

WMPC

A

Weighted-Methods-Per-Class Metric

A measure of the complexity of behaviour of a given class. It is defined as the sum of the cyclomatic complexities of each method of the class. The relationship between this metric and complexity is that a class with many simple methods may be as difficult to understand as a class with a few complicated methods.

168
Q

White Box Testing

A

Used to check that the details of an implementation are correct. White box testing ignores the ‘big picture’ of the requirements, and instead looks to detailed designs to check that the system does what it is supposed to do, correctly.