In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
and
engineering
Engineering is the use of scientific method, scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad rang ...
, a test vector is a set of inputs provided to a system in order to test that system. In
software development
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development inv ...
, test vectors are a methodology of
software testing
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
and
software verification and validation
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may a ...
.
Rationale
In computer science and engineering, a system acts as a
computable function
Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can d ...
. An example of a specific function could be
where
is the output of the system and
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
; however, we can generalize this equation to a general form
where
is the result of the system's execution,
belongs to the set of
computable function
Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can d ...
s, and
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
A user is a person who utilizes a computer or network service.
A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), account ...
field and a
password
A password, sometimes called a passcode (for example in Apple devices), is secret data, typically a string of characters, usually used to confirm a user's identity. Traditionally, passwords were expected to be memorized, but the large number of ...
field. In that case, the login system can be described as:
with
and
, with
designating login successful, and
designating login failure, respectively.
Making things more generic, we can suggest that the function
takes input as a 2-dimensional
vector
Vector most often refers to:
*Euclidean vector, a quantity with a magnitude and a direction
*Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematic ...
and outputs a one-dimensional vector (
scalar).
This can be written in the following way:-
with
In this case,
is called the input vector, and
is called the output vector.
In order to test the login page, it is necessary to pass some sample input vectors
. In this context
is called a test vector.
See also
*
Automatic test pattern generation
References
*Test Vector Guidelines.
*Test Vector Considered Harmful.
Computer engineering
Test items