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

Tackler test coverage is better than 99.8%.

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 106 tracked features. For those features, tackler has 571 test cases, tackler-cli is executed 181 times by test setup, and results are verified by 454 reference reports.

With every integration 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 laptop, tackler can process over 40 000 txn/s. On server systems, tackler can easily read and process 50-60 thousand transactions per second. Tackler’s performance scales almost linearly with available CPU and memory.

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.