When we hear the term documentation, several questions arise in our mind:
- What does it mean?
- Why is it required?
- What is its purpose?
- Who will do it?
- Are we going to share those documents with the clients? Is it necessary?
- Is it a waste of time?
While these questions are natural, documentation is the most important and vital part of any project. Usually people don’t talk much about documentation in software testing because they do not want to waste time preparing documents. They want to spend all their time on the more functional aspects of their job. After all, software testing is a vital cog in Software Development Life Cycle.
Hopeful after reading this piece, you may start to look at documentation a little differently. Now let us examine the importance of documents. Good documentation and planning always leads to better quality software testing and products. Most successful organizations give a lot of emphasis to software testing documents since it is key to a successful project.
In many cases, project even get rejected in the proposal/acceptance phase for lack of documentation. This can result in a bad name for the organization in the market. It would not be wrong to say that documentation is a bridge between the organization and the client.
Here is a list of some important documents provided by IEEE, which should be used and maintained regularly:
- Software requirement specification document
- Test design document
- Test case specification
- Test procedure specification
- Test strategy
- Test summary reports
- Test log document
- Test plan document
- Bug reports document
- Test data document
- document of weekly status report
- User documents
- Document of user acceptance report
- Test incident or problem report
- Report of risk assessment
- Test analysis
Here is a short description of some of these documents:
- SRS Document: SRS (Software Requirement Specification) is the most important document in the project cycle. All the requirements should be properly documented and should be approved by the client.
- Test Plan Document: This is also a very important document from the testing point of view. It includes testing schedule, team structure, H/W-S/W specification, environment specifications, risk analysis and scope of testing among other points.
- Test Case Specification Document: It contains test cases according to the SRS document. The document helps us understand whether the software is working as per requirement.
- Bug Report Document: It contains information related to bugs such as Bug description, priority, proper steps to reproduce the bug, developer name, reporter name, among others.
- Weekly status Report: This is very important document which keeps projects on track. It includes the status of all bugs and requirements. This document helps in improving the quality of the product.
- Test Data Document: This document helpful for regression and retesting. If you keep test data ready, it will be easy to perform one round of testing.
- User Acceptance Document: This is a very vital report at the time of product delivery to the client. It is an acknowledgement from the client that the product is accepted and is as per the requirements stated in the SRS document.
In addition to this, you should document all requirement changes proposed/ requested by the client. You should get those documents approved from the client as well. This practice can be extremely helpful in the future. If you face any problem regarding product delivery, you can use this document as evidence for the delay. This helps avoid misunderstandings and improves transparency. These measures go a long way in establishing a successful relationship with the client.
I hope this information has thrown light on the importance of documentation. Now you need to see whether the documents are prepared correctly or not. To examine this, you need to perform document testing.
Documentation testing is a non-functional type of software testing. Poor quality documentation shows badly on the quality of the product and vendor. You should include documentation testing at the start of the project to make it a cost-effective process. It takes a lot lesser to fix defects at an early stage. In fact, proper documentation is a proactive way to find defects and save project costs.
Document testing is performed by reviewing some important documents. Those documents are:
- Test case specifications document
- Test incident report document
- Test log document
- Test plan Document
- Test procedures document
- Test report document.
Advantages of preparing documentation:
- Project documents can make project testing easy and systematic
- It saves organization time as well as cost
- You can deliver a quality product to the client within the specified time limits
- It leads to client satisfaction
- Understand the scope better
- Increased business opportunities with the same client.
- Improved transparency with the client.
- Maintain a good relationship with the client.
Disadvantages of not preparing documentation:
- You cannot keep track of changes requested by the client
- Poor documentation directly reflects badly on quality of the product and the vendor
- Difficult to deliver a product within the deadline
- Client may be unhappy with the product
- Misunderstanding between client and the organization
- You can even lose the project and client
- Unhealthy atmosphere among team members