Software Testing Documentation
What types of documents are needed in software testing?
Requirements: Requirements explain about the client needs to develop software or a software application. Without creation of requirements or understanding the requirements, it is impossible to create software test plan or test strategy or test case or test scripts or requirement traceability matrix. Usually the development team and testing team understands the requirements from documents like System Requirement Specification (SRS), Functional Requirement Specification (FRS), USE Cases apart from discussing with Business Analysts, and Smart Management Experts (SME).
- SRS: It is a document that has information about the complete behavior of the software system. It provides information about Hardware, Software, Middle-ware, Functional Requirements (overview), and Non-Functional Requirements (overview) etc.
- FRS: It is a document that has information about the requirements. Functional requirements are explained in a detail manner. In some projects, FRS will be included in SRS itself.
- USE Cases: The functionality of the software is explained with objective, actors, precondition, normal course, additional course and exceptional course.
Note: At times, understanding requirements is a difficult one because of incomplete information in SRS/FRS/Use Cases or non-availability of those documents. To get more knowledge on the domain (mortgage, insurance, telecom, retail, financial instruments trading) that you are working you can read books and search on the internet.
What is Software Test Plan?
It is a document which provides information about testing activities and a systematic approach to complete software testing and hand over to maintenance. Test Plan is similar like project planning. Unit Test Plan, Integration Test Plan, Acceptance Test Plan, System Plan are different types of Test plans created by testing team.
Software Test Plan Includes:
- What project features has to be tested.
- What project features not be tested (Project features out of scope).
- What are the test deliverables (Test Cases, Test Reports etc.)
- What are the phases and tasks?
- How to schedule phases and tasks? Scheduling means when it will start and end.
- Test Strategy (What is the approach?)
What is Test Strategy?
It describes the testing approach to complete the software testing life cycle. It explains about the testing levels (unit testing, integrating testing, system testing and acceptance testing) and who does the testing for the testing levels. It also explains the roles and responsibilities of the entire team.
What is a Test Case?
Test case is a document which contains 1 or more test conditions (Test Scenario). A good test case will capture more errors so that the software or application is bug free. Test Cases are designed based on the test conditions and they are executed manually or automatically. Each requirement will have at least one test case. Test procedures can run the test cases in a sequential order.
Fact tables, Look up tables, History Tables, XRef Tables, Security Table, Performance related tables etc are few tables present in the databases. For testing, you need some sample data which is called as TEST DATA. For performance testing also, you need test data.
Requirement Traceability Matrix:
In software development life cycle, there are requirements related to release, design, development, and testing etc. New requirements are created and updated as and when required. Requirement Traceability Matrix is a document which traces the requirements.
What is Test Execution Reports?
It is a report run on the test cases execution.
- How many test cases have been executed?
- How many test cases have passed?
- How many test cases have failed?
- How many test cases have been blocked?
- How many test cases have errors?