Release Notes — v0.3.0
pytest support + DPP fix + coverage retention analysis
New Features
- pytest plugin — Activate with
pytest --diverse-k=20. Supports all 5 selection strategies, marker filtering (--diverse-include-markers), parametrized test grouping (--diverse-group-parametrize), and embedding caching. - pytest CLI integration —
testcase-select run --framework pytestfor the full vectorize/select/execute pipeline. - AST-based text representation — Extracts function calls, assertion types, fixtures, and markers from Python test files for high-quality embeddings.
Fixes
- DPP kernel stability — Switched from cosine to RBF kernel with eigenvalue clamping. Falls back to FPS when exact k-DPP sampling is unstable (k > N/3).
Coverage Retention Analysis
Benchmarked all 6 strategies (fps, fps_multi, kmedoids, dpp, facility, random) at 50%, 20%, 10% selection levels on robotframework-doctestlibrary (594 pytest tests, 126 Robot tests).
| Selection | Best Strategy | Coverage Retention | Speedup |
|---|---|---|---|
| 50% | fps | 93.9% | 3.4x |
| 20% | facility | 83.6% | 7.5x |
| 10% | fps_multi | 67.9% | 18.5x |
Install
pip install robotframework-testselection[all]