# 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.