In the software engineering field, the term 'documentation' may be inferred as the official paperwork required in the process of development or testing process, and may involve practical approaches, plans, strategies, requirements, resources and all such things on papers. It is better to write than to memorize. An effective and proper plan can make you win half of the battle. Similarly, a well-defined and cleared documentation can majorly contribute towards the success of the software development project.
It simply, refers to the examination of all the documented objects of software artifacts that are involved prior and during the development of the software product. The testing technique is used to evaluate the documentation from all different perspectives; user or business-perspective.
Documentation testing may be seen as a non-functional testing technique, used to check out the documentation part of the development process. Besides documentation work pertaining to development phase, scope of documentation testing may be extended to testing phase also.
Whether development or testing, both requires a proper documentation, which works as a resource, and guide or directs these process or their respective teams to efficiently and effectively carry out the process. Documentation work always acts as the base for any type of processes to execute. However, a fault or an error in the documentation may adversely affect or even leads to failure of the whole process.
Let us consider a simple example, where a client communicates his needs to develop a software application that should work with all the operating system and their different versions including all other different types of requirements, to the business team.
Business team begins to work on the gathered requirements to come up with the software documentation. However, even with full-dedication & attentiveness, the team forget to add iOS platform in the documentation work.
Since, the entire development process is based on the documentation plan; the software application got developed accordingly, and is being handed over to the client.
After using the software application, it was found by the client that the developed application lacks the compatibility with iOS platform.
Even after communicating the requirements, the development organization fails to achieve the desired product. This was not acceptable by the client and he decides not to do any further business with the organization. This brings lots of embarrassment to the organization along with the degradation of its market value and brand.
This situation would not have been aroused, if the documentation work was tested and cross-checked with the requirements.
This type of testing does not require any specific test tool, test strategy or plan, etc. It may be carried out simply through following activities:
"Creating and maintaining proper and effective documentation is the key to software development project's success, and thereby needs separate & careful examination or testing of the documented artifacts to ensure flawless and impeccable foundation for project."