Reliability
Simplicity is prerequisite for reliability
as reliability is for integrity
when integrity is the essence of trust.
Tackler’s operations and results must always be correct and trustworthy. If there are any errors with journal, then it will fail fast and hard and won’t process dubious input as valid one.
Testing
Foundation of tackler development is that all features must be tested logically and code-wise, and overall test coverage should be almost perfect. Tackler is tested with functional and logical test sets to ensure that all code paths are covered by tests.
Tackler has 111 tracked features, and for these features, it has 444 tracked test cases. Tackler-ng is currently tested with 100 tests vectors, and test results are verified by 327 reference reports.
With cargo run --release -p tackler-core
test run, journal with
one hundred thousand (100 000) transactions is processed
ten times, to verify tackler’s ability handle big journals.
Tackler is stress and performance tested with up to one million (1E6) transactions sets with external test setup.
Performance
On normal laptop, tackler can process 40 000 to 100 000 txn/s. See Performance Overview for details.
Tackler Test Tracking Database
Tackler Test Tracking Database (T3DB) tracks features and tests for those features. T3DB is used to ensure that all features and error paths for those features are tested, that test setup has as little as possible of overlapping tests and prevent duplicate test cases.
T3DB also provides reverse mapping from a test case back to the feature, which is validated by that test case.