DSNTK | Decision Toolkit
Metrics presented in this repository are intended to provide objective measures of the Decision Toolkit maturity, based on a range of performance and reliability criteria.
To assess the maturity of Decision Toolkit, the following key performance indicators has been adopted:
- Number of passing compatibility tests
- Percentage of source code coverage
- Evaluation time of decision model
Edwards W. Deming said:
"It is wrong to suppose that if you can’t measure it, you can’t manage it – a costly myth."
It could be possible to manage a project like Decision Toolkit without any measurements, but it is essential to track such key indicators like the number of passing compatibility tests, percentage of code coverage, and the model execution time, to maintain a high level of quality that meets user expectations.
The first goal is reaching the full DMN™ standard conformance at level 3. Successfully passing compatibility tests provides a high level of confidence that the project is on track to achieve this goal. Surely, until Technology Compatibility Kit for the Decision Model and Notation (DMN) standard does not provide the complete compatibility testing suite, it can't be assured, that this conformance level is achieved in 100%. Supporting the development of compatibility tests is one of key priorities.
The second goal is to be able to optimize and refactor the code base without the risk of spoiling the existing functionality. Large set of unit tests provides a high level of code coverage, which means, that when something goes wrong, the failing test will raise an alert.
The third goal is the excellent performance. Performance optimization is easier, when all business functionality is implemented, code coverage is high and extensive testing points out the performance bottlenecks. This way the focus can be on performance improvements without the risk of spoiling functionalities users already love.
version | date | compatibility tests |
lines coverage |
functions coverage |
perf 90% |
perf 99% |
---|---|---|---|---|---|---|
v0.0.4 | 2024-02-04 | 3400/0 100.00% | 97.4% | 93.0% | ≤ 5µs | ≤ 47µs |
v0.0.3 | 2023-12-31 | 3339/13 99.61% | 97.5% | 92.9% | ≤ 5µs | ≤ 49µs |
v0.0.1 | 2023-11-11 | 3255/55 98.31% | 97.7% | 93.9% | ≤ 6µs | ≤ 51µs |
Licensed under either of
- MIT license (see LICENSE-MIT) or
- Apache License, Version 2.0 (see LICENSE and NOTICE)
at your option.
Any contributions are greatly appreciated. If you would like to get involved, please don't hesitate to reach out to us. All contributions intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.