This is a draft of test plan template
A test plan ...
extends the “Testing” part of the corresponding JEP and provides all details on how the functionality is to be tested is a document to capture and share thought process on how the JEP functionality should be tested is a place for collaboration on testing methodology and requirements is owned by the team which owns the corresponding JEP should contain some sub-tasks defining test success criteria
Test success criteria
Test success criteria are exit criteria for testing Test success criteria help to see if the testing is successful Test success criteria are handled as sub-tasks of a test plan Test success criteria sub-tasks are closed when satisfied See sub-tasks of this plan template for test success criteria examples
Test plan handling and lifecycle
A test plan should be a "JEP Task", blocking the JEP A test plan should be moved to closed state before the JEP is integrated A test plan can only be closed once test methodology is explained and test success criteria are reached It is recommended that you create a new test plan for a JEP by cloning this template Portions of description in italic are comments and supposed to be removed Optional sections of the test plan can be removed Additional sections or sub-sections should be added as needed All non-applicable test success criteria sub-tasks should be dropped Additional criteria sub-tasks should be added as needed
See linked issues for examples of previously created test plans.
1 Test Methodology
Extends "Testing" section of the JEP. This section could go as deep as necessary explaining what kind of testing should be done for the JEP and why.
2 Test Inventory (optional)
In some cases it helps to spell which tests are to be reused or added to test the feature. In some cases some tests are not longer relevant and should be removed/deprecated. This section can be used to list specific tests, test groups or test types such as unit, functional, integration, manual/automated, negative, etc.
This section should also be used to point to which test groups, tiers, etc, the new tests will be added.
3 Test Configurations (optional)
It is often important to make sure that correct sets of tests be executed in the correct set of configurations, which could be set of platforms or VM flag combinations. Notice that simply repeating JDK supported platforms is redundant, so this section could be used when there are some specific requirements.
4 Potential and relevant sub-tasks from the template JDK-8198710 are:
- 100% public API coverage
- 100% specification change coverage
- 99% test stability
- 80% line coverage for native code
JDK-8202566 Test Plan for JEP 331: Low-Overhead Heap Profiling