In the context of software development, specification document is the result of the work of a project management team, based on the client’s requirements. There are several types of specification documents:
A requirement specification describes the final product or service as fully as possible. It includes a description of essential functionalities, behavior, and other features. In other words, it is an early stage batch of documented requirements concerning the whole project. A kind of requirement specification is a functional specification which may include a block of functional diagrams.
A design specification describes the main appearance characteristics or aim of the final product.
A product specification describes the way the final product can be built.
A test specification, unlike other specifications types, could be made when the product is already developed. It consists of a batch of test cases needed to determine if the requirements of other specifications have been fulfilled.