Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CX_HARDENING] - Document and Audit Testing Frameworks #3168

Open
jparr721 opened this issue May 15, 2024 · 0 comments
Open

[CX_HARDENING] - Document and Audit Testing Frameworks #3168

jparr721 opened this issue May 15, 2024 · 0 comments
Labels
cappuccino cappuccino-sprint2 consensus-hardening Hardening the consensus protocol and adaquate testing.

Comments

@jparr721
Copy link
Contributor

jparr721 commented May 15, 2024

What is this task and why do we need to work on it?

The various testing apparatus that are used in the codebase are opaque, and very few team members know fully how they work. Furthermore, these tests, such as memory_network, lack clear documentation explaining what is going on, and what is actually being tested, leading to complexities when these tests fail while making changes. We need to document and audit the code that is running our integration tests because we cannot be sure yet that they are as correct as possible.

Consider as an example the recent testing instability. Part of that was due to a bug in the testing framework, which was fixed in this PR. The reliance on knowledge gained over time is useful when considering logical changes. But our testing needs to be robust, well-documented, and thorough such that a new team member can contribute without concern of introducing instability into the codebase. Right now, only seasoned team members would have likely been able to fix this issue due to a lack of overall knowledge of the tests. As a result, it is imperative that we get these systems documented, ideally as a post-hoc design document that outlines the why. This will not only give new-hires and current employees a much clearer understanding of how these tests work, but also empower the team to suggest improvements, and devise better tests of our core systems.

What work will need to be done to complete this task?

We need a notion design document (found in the consensus team page) that outlines in detail the exact inner workings of the integration and logical testing frameworks. We should provide a patient written record of how these systems work and their known shortcomings. Ideally, we should definitely get some tickets out of this for improvements to the tests that can be made as well.

Are there any other details to include?

No response

What are the acceptance criteria to close this issue?

One or two notion design documents (following the template) which give a thorough deep dive of the testing system, and shared with the team.

Branch work will be merged to (if not the default branch)

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cappuccino cappuccino-sprint2 consensus-hardening Hardening the consensus protocol and adaquate testing.
Projects
None yet
Development

No branches or pull requests

1 participant