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
[edit ]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
[edit ]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.
Alternatively, the concatenation of {\displaystyle X} and {\displaystyle Y}, e.g., {\displaystyle [x_{1},x_{2},y_{1}]}, can be called a test vector.