JVMTI Based Heap Sampling Testing
--------------------------------------------------
The following test plan covers various elements.
First, the tests should cover:
A) All new JVMTI functions tested
B) All common use-cases tested
C) Accuracy testing of the sampling
D) Stability proven via being used in some simple application
E) Proven to work with all openjdk supported GCs via the tests
Then, the test plan in terms of pass rate and stability are:
E) Test pass rate 100%
F) Test stability >99%
We will run the tests X amount of times in a row to ensure reaching A+B criteria.
Additionally, tests should have the following coverage criteria:
G) Block coverage for new/changed java code 80%
H) Line coverage for new/changed C/C++ code 80%
We will show this via a test coverage pass.
There are a few key tests that need to be implemented:
I) Show that the data is sane via the stacktraces collected and amount of data shown to be collected.
- This shows the accuracy of the sampling
Finally, we will show no overhead was induced by the feature implementation when not used via this criteria:
J) No overhead incurred due to the feature turned off, measured via performance tests