Test vector

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(x_1, x_2, ...)$$ ; 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 = [ x_1, x_2 ]=[u,p] \; ; \; Y = [ y_1 ] $$

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 $$\{X_1, X_2, X_3, ...\}$$. In this context $$X_i$$ is called a test vector.