Skip to content

Commit b8034da

Browse files
committed
update maturity model
1 parent 9c676c8 commit b8034da

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

framework/examples/myproject/README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ If the team decides on minimal or no manual testing and the project is trivial,
1414

1515
The team identifies potential integration points with third-party software, blockchain, and external services and document any testing limitations.
1616

17+
If the system is complex and the team wants to test parts of it using mocks, a schema should be provided to outline which components will be separated and include examples of the mocks.
18+
1719
If new components are required, the team implements them following this guide: [Developing Components](https://smartcontractkit.github.io/chainlink-testing-framework/developing/developing_components.html).
1820

1921

@@ -22,10 +24,14 @@ The team maintains a system-level smoke test where all components are deployed u
2224

2325
All on-chain changes are done through [chainlink-deployments](https://github.com/smartcontractkit/chainlink-deployments).
2426

27+
The test should not depend on `chainlink` core types.
28+
2529
The test is readable, and the README clearly explains what is tested.
2630

2731
The test is stable when run with a `-count 10`.
2832

33+
If the team has more than two distinct NodeSets (DONs), system-level tests in ephemeral environments should be limited to two NodeSets to allow for chaos testing later.
34+
2935
If your project includes multiple use cases and functionality suitable for end-to-end testing, you can add additional tests at this level.
3036

3137
## Level 2
@@ -38,7 +44,7 @@ This test deploys specific platform and plugin versions, performs an end-to-end
3844
## Level 3
3945
The team has a baseline performance testing suite.
4046

41-
At this level, the focus is not on improving performance but on detecting any performance degradation, supported by a reliable CI pipeline.
47+
At this level, the focus is not on improving performance but on detecting any performance degradation early, supported by a reliable CI pipeline.
4248

4349
This pipeline runs as needed—nightly or before releases—enabling early detection of performance issues across all critical on-chain and off-chain functionality.
4450

@@ -49,9 +55,17 @@ The team incorporates chaos engineering practices to test the system’s failure
4955

5056
This stage builds on [Level 3](#level-3), as it not only verifies that the system is reliable and can recover from reasonable failures but also ensures an understanding of how these failures impact performance and user experience.
5157

58+
Recommended test cases:
59+
- Component failure (reboot)
60+
- Slow network
61+
- RPC node outage
62+
- Stress test (limiting container resources)
63+
5264
## Level 5
5365
The team has complete ownership of their persistent staging environment.
5466

67+
The team can use [components caching](https://smartcontractkit.github.io/chainlink-testing-framework/framework/components/caching.html) to reuse testing logic on staging and substitute staging environment URLs instead of an ephemeral environment.
68+
5569
They can perform upgrades, data migrations, and run advanced load tests to validate the scalability of their applications.
5670

5771
## Explanation

0 commit comments

Comments
 (0)