Test vector explained

In computer science and engineering, a test vector is a set of inputs provided to a system in order to test that system. In software development, test vectors are a methodology of software testing and software verification and validation.

Rationale

In computer science and engineering, a system acts as a computable function. An example of a specific function could be

y=f(x)

where

y

is the output of the system and

x

is the input; however, most systems' inputs are not one-dimensional. When the inputs are multi-dimensional, we could say that the system takes the form

y=f(x1,x2,...)

; however, we can generalize this equation to a general form

Y=C(X)

where

Y

is the result of the system's execution,

C

belongs to the set of computable functions, and

X

is an input vector. While testing the system, various test vectors must be used to examine the system's behavior with differing inputs.

Example

For example, consider a login page with two input fields: a username field and a password field. In that case, the login system can be described as:

y=L(u,p)

with

y\in\{true,false\}

and

u,p\in\{String\}

, with

true

designating login successful, and

false

designating login failure, respectively.

Making things more generic, we can suggest that the function

L

takes input as a 2-dimensional vector and outputs a one-dimensional vector (scalar).This can be written in the following way:-

Y=L(X)

with

X=[x1,x2]=[u,p];Y=[y1]

In this case,

X

is called the input vector, and

Y

is called the output vector.

In order to test the login page, it is necessary to pass some sample input vectors

\{X1,X2,X3,...\}

. In this context

Xi

is called a test vector.

See also

References