Project Name

advertisement
Project Name
Document Version 1.0
Prepared by Jane Doe, ITS
Last Edited July 23, 2016
PLAN
REQUIREMENTS
SOLUTION
ANALYSIS
DESIGN
BUILD
TEST
TRAIN/DEPLOY MAINTENANCE
TOTHE DOCUMENT OWNER: This template is provided as a guideline and resource. The structure and instructions
give detail about what might go into a completed document. Only you and your team, however, know what will
best fit the needs of your specific effort, and you are encouraged to adapt the template as appropriate to meet
those needs.
Functional Test Plan
The Functional Test plan describes the tests, both manual and automated, that will be performed to
confirm that all functional requirements for the system have been met. The Functional Test Plan
documents the targets and other criteria which will be used to define the specific test cases for each of
the types of testing which were listed in the Comprehensive Test Plan, referring to other documents such
as the Use Cases and Requirements and Traceability Matrix as necessary. This testing includes functional
verification, functional scenario, access control, data testing, and regression tests and will capture
environment and process requirements to complete those tests. This plan is the reference document for
test case / test script creation.
The audiences for the Functional Test Plan include:
• The project team -- Reviews for technical accuracy, completeness, and feasibility
• Other groups which will be involved in testing -- Review for technical accuracy and agree to details
• Customer steering committee -- Provides sign-off on high-level plan
Executive Summary
Summarize the approach, process, and assumptions, dependencies and risks.
The goal of functional testing is to confirm that the <Project> system meets all functional requirements.
The Functional Test Plan includes the tests, both automated and manual, to be conducted by the project
team to confirm that all functional requirements have been met and all pertinent university policies are
observed.
Test Approach
Different projects will require different types of functional testing. Choose the appropriate types for your
project, as outlined in the following sections, and describe the test scenarios, scripts, or use cases for
each type of test, as well as the expected outcome for each type of testing. Include information about
which tests will be automated versus manual.
Page 1 of 5
Project Name
Document Version 1.0
Features to be Tested
Describe the features from the Design documentation to be tested.
Features not to be Tested
Describe the features that will not be tested by this plan along with the reasons.
Functional Verification
These tests use the requirements documentation and design documents to validate that the software is
functioning properly, including interfaces, main path testing, error handling and boundary values. (This
type of testing is sometimes referred to as component testing.)
Functional Scenario
These tests verify the use case functions as described in use case documentation, including main path
and exception paths. These tests are more of an end-to-end test to mimic a user experience. This has
been referred to as functional integration testing.
Access Control
These tests verify that only the authorized roles can perform actions on authorized business objects. This
should include testing of access provisioning and deprovisioning.
Data
This testing should include large-scale data tests to verify that the system functions correctly when many
business objects are present. Additionally, tests for data accuracy, data completeness, data integrity,
data updating/reconciliation processes, and data import and export processes should all be included.
Regression
These tests are used to verify that code is checked in, defects are fixed, and the existing code does not
regress. In addition to this minimal set, tests can be added to an existing regression set depending on
what code is being changed and the importance of the functionality.
System and Integration
It is anticipated that this section is needed to detail what was introduced in the Comprehensive Test Plan.
System and Integration Testing pulls in all the functional components of a project, integrating into the
complete solution, and testing all interfaces. For larger projects, it is common that functional
components are verified and then need to be integrated to provide a complete solution. (This testing has
been referred to as end-to-end testing.) Additionally, functional components may be built to be inserted
into a larger system. If that is applicable, describe the required integration test.
Accessibility
Use this Section if detail in addition to the Comprehensive Test Plan is needed.
Functional Test Plan
Page 2 of 5
Project Name
Document Version 1.0
Test Process
Identify the methods and criteria used in performing test activities. Define the specific methods and
procedures for each type of test. Define the detailed criteria for evaluating test results. Also, the “order
of events” should be documented. If regression testing is done at the end of each phase, then document
it in this paragraph. Are there any dependencies or other elements that will impact the order in which the
tests will be performed? Include skill sets required by the test team.
Test Prep
Identify the set of tasks necessary to prepare for and perform testing activities. Identify any inter-task
dependencies and any specific skills required. Include the build of test scaffolding, test data creation, or
test case automation.
Test Entry Criteria
Identify the set of tasks necessary to prepare for and perform testing activities. Identify any inter-task
dependencies and any specific skills required. An example would be that all test cases need to be written
and documented. Consider items such as staff availability and environment set-up completion. If there is
a phased approach, define the requirements for entry of each phase.
Test Deliverables
Identify the deliverable documents from the test process. This includes Jira issues, test execution logs,
and test summary reports. Identify the location and availability of each of these.
Environment Requirements
Specify both the necessary and desired properties of the test environment, including the physical
characteristics, communications, mode of usage, and testing supplies. Also provide the levels of security
required to perform test activities. Identify special test tools needed and other testing needs.
Hardware and Networking
Identify the computer hardware and network requirements to complete test activities. Document any
differences between the test environment and the production environment.
Software
Identify the software requirements needed to complete test activities.
Test Deliverables
Identify artifacts coming out of this test, including test scripts, updated test plans, test execution results,
issued logged.
Tools
Identify any testing tools or infrastructure that may need to be developed. Identify the software tools
employed, including use of each tool. Include defect tracking tools and any required configurations.
Functional Test Plan
Page 3 of 5
Project Name
Document Version 1.0
Documentation
Identify the documents required to support testing activities.
Assumptions, Dependencies, and Risks
Assumptions
Identify the assumptions associated with this plan, such as “The above environment will be complete.”
Dependencies
Identify the dependencies such as resource availability, hardware availability, code delivery, and
dependencies on external teams.
Risks
Identify the risks associated with this plan, specifying mitigation and/or contingency plans.
Test Case Coverage Matrix
Complete the matrix to indicate how function is covered by test cases, expanding as appropriate for your
system. The functional list should be complete: all functions, all function parameters, and all conditions
of the function parameters should be listed, whether or not a test case exists to cover that condition. This
matrix is to be used for planning purposes and should list the test case name; the actual test cases will
not be stored in this matrix.
Test case defines a set of conditions to be verified and has an expected and repeatable outcome.
Documentation of the test case should also include specific set-up requirements and other entry
conditions. A test script is an automated, semi-automated, or manual set of steps used to implement a
test case. These scripts are used to determine if a function meets expected behavior and delivers an
expected result. There is a 1-1 mapping of a test case to a test script.
Functional Test Plan
Page 4 of 5
Project Name
Document Version 1.0
Function/Action
Parameter
Function (input 1, input 2,…input n)
input 1 valid
input 1 invalid
input 1 upper limit
input 1 lower limit
input 2 valid
input 2 invalid
input 2 null
input 2 too long
input n alpha
input n numeric
input n special char
Test Case name
Use Case Name
testcase a
testcase a
testcase b
testcase a
Activity
create object
edit object
delete object
modify object
Revision History
Identify document changes.
Version
Date
V1
Functional Test Plan
Updater Name
Description
Initial draft completed.
Page 5 of 5
Download