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 23On-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 261ST 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 18implement the items in Eval4 of the Milestones section of this Document 
3RD QUARTER MENTEE EVALUATION

October 19 - November 10implement the items in Eval4 of the Milestones section of this Document
November 11 - November 29

FINAL MENTEE EVALUATION