Project Plan - Hyperledger Caliper testability and robustness improvement.
Abstract
Hyperledger Caliper is a blockchain benchmark platform that allows you to analyze different blockchain implementations in a variety of dimensions, such as performance, scalability, and latency. This project aims to increase Caliper's testability, test coverage, and robustness. To achieve this, the current testing framework of Caliper will be assessed for pain points and the need for improvement, and then comprehensive test suites will be designed and implemented.
Mentor and Mentee
Mentor: Attila Klenik
Timezone: CET
Mentee: Babatunde Sanusi
Timezone: WAT(GMT +1)
Project repo:
https://github.com/hyperledger/caliper
Deliverables
- Comprehensive Test Suites that covers all aspects of hyperledger caliper and ensures high test coverage
- Document details of the testing framework, test cases, and guides for future contribution to easily maintain test quality
- Implement CI/CD pipeline that automates the testing process, and ensures every contribution is thoroughly tested
- Detail the internal workings of caliper components to facilitate future contribution
Milestones
Eval 1:
- Bump up the test framework and tools to the latest version
- Fix inconsistencies in test structure
- Add a section in the contributor.md document detailing the test framework and tools and their uses
- Using an example test suite, describe the methodology to add a test suite
Eval 2:
- add test for the untested modules in the folder: caliper-core/lib/worker/rate-control/
- add test for the untested modules in the folder: caliper-core/lib/worker/tx-observers/
- add test for the untested modules in the folder: caliper-core/lib/worker/worker-message-handler
Eval 3:
- add test for the untested modules in the folder: caliper-core/lib/manager/test-observers
- add test for the untested modules in the folder: caliper-core/lib/manager/monitors/
- add test for the untested modules in this folder: caliper-core/lib/manager/orchestrators/
- add test for the untested modules in this folder: caliper-core/lib/manager/report/
Eval 4:
- work on the CI/CD and test reporting for the project
- add test for the untested modules in the folder: caliper-core/lib/common/
Timeline
Week | Task/Plan | Status |
---|---|---|
June 03 - June 23 | On-boarding/orientation sessions. Meet with the mentors, discuss project implementation details, deliverables and scope. Prepare the project plan. | |
June 24 - July 7 | Implement the points highlighted in Eval1 in the Milestone section of this document | |
July 8 - July 19 | Implement the points highlighted in Eval1 in the Milestone section of this document | |
July 22 - July 26 | 1ST QUARTER MENTEE EVALUATION | |
July 27 - August 18 | Implement the points highlighted in Eval2 in the Milestone section of this document | |
August 19 - September 01 | implement the items in Eval2 of the Milestones section of this Document | |
September 02 - September 06 | Round up the items in Eval 2 MIDTERM EVALUATIONS | |
September 08 - September 22 | implement the items in Eval3 of the Milestones section of this Document | |
September 23 - October 19 | implement the items in Eval3 of the Milestones section of this Document | |
October 14 - October 18 | implement the items in Eval4 of the Milestones section of this Document 3RD QUARTER MENTEE EVALUATION | |
October 19 - November 10 | implement the items in Eval4 of the Milestones section of this Document | |
November 11 - November 29 | FINAL MENTEE EVALUATION |