Test Artifacts are simply integral part of software testing. These are generally set of documents, which software project tester gets during STLC (Software Testing Life Cycle). Test artifacts are by-products that are generated or created while performing software testing. These generated test artifacts are then shared with clients and testing team or team managers, team leaders, stakeholders associated with project, and also with members of other team.
A sign-off is taken from client simply so that there is no communication gap in what is required. These artifacts are communicated, engineered, and constructed or developed within same artifact sets as formed product. These artifacts are also implemented in programmable and repeatable formats such as software programs. Establishing transparency between members of team is main goal and purpose of test artifact. So, they are recorded in proper manner with exact and accurate data or information and details.
Due to this, it is very easy and simple to identify and track changes and also be aware of recent progress of activities of testing from requirement, as everything is recorded properly. The developers of these artifacts use tools, techniques, and training same as software engineers use while developing or creating end product.
Types of Test Artifacts :
1. Test Strategy :
Test strategy is generally prepared by Test or Project Manager at management level. It is outline of document that describes testing approach of development cycle of software which enlists how to achieve expected result using resources that are available.
It simply provides easy understanding of targets, tools, techniques, infrastructure, and timing of test activities that are to be performed. It is also used to identify all risk factors that can arise during testing and appropriate solution to reduce or mitigate risk. It also clarifies major important challenges and approach to complete all testing process of project. Test strategy is usually derived from Business Requirement Specification Format. To develop this strategy, there are several points that are needed to be kept in mind. Some of them are given below:
- What is main objective of testing that why you want to perform this testing?
- What are Guidelines that are needed to be followed for performing testing?
- What all are requirements that are needed for testing such as functional requirements, test scenarios, resources, etc. ?
- What are roles and responsibilities of each and every functions and project manager to complete test?
- What are different levels of testing?
- What will be main deliverable of this testing?
- What risks are there regarding testing along with project risks?
- Is there any methods to resolve issues that might arise?
2. Test Plan :
The test plan is detailed document that describes software testing scope, test strategy, test deliverables, risk, objectives, and activities. It is systemic approach generally used for software application testing. It is the most important and essential activity to simply ensure that there is initially list of tasks and milestones in baseline plan to track or identify project progress.
It is dynamic document that generally acts as point of reference and only based on that testing which is carried out within QA (Quality Assurance) team. It is simply blueprint that explains how testing activity is going to take place in project. There are several points that are needed to be kept in mind to develop test strategy. Some of them are given below:
- What is main purpose of testing activities?
- What is future scope of testing i.e., exact path that is needed to be followed or covered while performing testing?
- What is testing approach i.e., how testing would be carried out?
- What all are resources that are required for testing?
- What are exit criteria after completion of testing i.e., set of conditions and activities that are needed to be fulfilled in order to conclude testing?
- How will you manage risks that can arise?
3. Test Scenario :
A test scenario is statement that is used to describe functionality of application that can be tested. It is simply used to make sure that end to end testing of feature or software is working well or not. It is derived from the use cases.
It contains situation or condition in application form which many test cases can be developed. Test Scenario is also called as Test Condition or Test Possibility. One or more test cases can be accommodated in single test scenario. Due to this, test scenario has one-to-many relationship with test cases. It means talking and thinking about requirements in detailed manner.
4. Test Case :
The test case is detailed document that describes cases which will help execution while testing. It is document that consists of test case name, precondition, steps/input condition, and expected results. The development of test cases also helps in identifying or tracking problems or issues in requirement or design of software application.
It is simply set of conditions or variables under which software tester will identify whether or not system under test satisfies requirements or work in proper and correct way. To write good test case, some of points that are needed to be included in test case:
- Write Test case id i.e., unique identification number of test case.
- Write Test case name i.e., strong title for test case.
- Write full details and descriptions regarding test case.
- Write in steps to make it clear and concise i.e., simple.
- Write expected or actual outcome or result of test.
5. Traceability Matrix :
Traceability matrix is matrix that contains tables that shows and explains many to many relationships among requirements and test cases. It is actually document that co-relates any of two-baseline documents that require many to many relationships to check, trace, and maps relationship. It generally helps to ensure transparency and completeness of products of software testing.
It is the tracing of all requirements of clients with test cases and identifying defects. The traceability matrix is of two types: Forward traceability matrix and Backward traceability matrix. Some of parameters that are included in Traceability Matrix are given below:
- Requirement ID.
- Requirement type along with description.
- Status of test design along with execution of test status.
- System and unit test cases.
6. Software Test Report :
A software test report is document that describes all testing activities. It provides detailed information about status of test cases, test suites, or test scripts for given scope. A test report is very much needed to represent test results in formal way that gives opportunity to find out testing results quickly. The test reports can be of many types: Individual test report, team report. The test reports can be generated on daily basis or it can be generated after completion of testing or at end of testing cycle.