# 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 ${\displaystyle y=f(x)}$ where ${\displaystyle y}$ is the output of the system and ${\displaystyle 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 ${\displaystyle y=f(x_{1},x_{2},...)}$ ; however, we can generalize this equation to a general form ${\displaystyle Y=C(X)}$ where ${\displaystyle Y}$ is the result of the system's execution, ${\displaystyle C}$ belongs to the set of computable functions, and ${\displaystyle 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:

${\displaystyle y=L(u,p)}$

with ${\displaystyle y\in \{true,false\}}$ and ${\displaystyle u,p\in \{String\}}$, with ${\displaystyle true}$ designating login successful, and ${\displaystyle false}$ designating login failure, respectively.

Making things more generic, we can suggest that the function ${\displaystyle L}$ takes input as a 2-dimensional vector and outputs a one-dimensional vector (scalar). This can be written in the following way:-

${\displaystyle Y=L(X)}$

with ${\displaystyle X=[x_{1},x_{2}]=[u,p]\;;\;Y=[y_{1}]}$

In this case, ${\displaystyle X}$ is called the input vector, and ${\displaystyle Y}$ is called the output vector.

In order to test the login page, it is necessary to pass some sample input vectors ${\displaystyle \{X_{1},X_{2},X_{3},...\}}$. In this context ${\displaystyle X_{i}}$ is called a test vector.

## References

• Test Vector Guidelines. [1]
• Test Vector Considered Harmful. [2]