dusk-network / rusk

The reference Dusk platform implementation and tools
Mozilla Public License 2.0
157 stars 59 forks source link

Request for Test Cases #2106

Open HDauven opened 1 month ago

HDauven commented 1 month ago

Summary

As part of our upcoming testnet, we need a comprehensive test plan. It should contain both base cases and edge cases that need to be tested. Each team is responsible for identify potential scenarios that should be covered.

The goal is to create a test plan that can be executed manually and/or semi-automatically, covering all critical paths that might impact the network.

Action required

Each team needs to provide test cases to the Google Sheet shared in our Discord by 23rd August.

What is needed:

Test Case format

1. Test Case ID Unique identifier, like CO-01 or VM-01, where the first two characters refer to the component being tested.

2. Title Descriptive title for the test case.

3. Description Explanation of what we want to validate.

4. Setup Any setup steps before executing the test case.

5. Test steps Step-by-step list of actions the test performs.

6. Teardown Expected outcome of the test, should be as specific as possible.

miloszm commented 4 weeks ago
  1. Test Case ID: DS-01
  2. Title: Deploying smart contracts to Dusk blockchain using Phoenix funds and Moonlight accounts.
  3. Description: To validate that a substantial number of contracts have been correctly deployed and are operational, in a sense that they correctly perform state changing methods as well as queries.
  4. You need to have the following:
    • a running Rusk node
    • a wallet with sufficient Phoenix funds and a seed to access them
    • 8 moonlight accounts with sufficient Dusk funds and 8 secret keys to access them
  5. Test steps:
    1. Run a test tool which deploys N=2000 contracts using Moonlight funds.
    2. Run a test tool which verifies the contracts from step 1 by calling a state changing method and then calling a query to verify that state has been correctly changed.
    3. Make sure disk memory usage for state is as expected, make sure that Rusk node is stable during and after the test.
    4. Repeat the above procedure using Phoenix funds (it will be more time-consuming so you can assume N < 2000)
  6. Teardown:
    1. Stop the Rusk node.
miloszm commented 4 weeks ago
  1. Test Case ID: DS-02
  2. Title: Calling state-changing method of a non-deployed contract.
  3. Description: To validate that a calling a contract which is not deploy does not destabilize the system and produces a correct error scenario.
  4. You need to have the following:
    • a running Rusk node
    • a wallet with sufficient Phoenix funds and a seed to access them
    • moonlight account with sufficient Dusk funds and a secret key to access it
  5. Test steps:
    1. Run a test tool which calls a state changing method.
    2. Make sure system is stable (by deploying a contract and calling its method) and that you've gotten a correct error message.
    3. Repeat the above procedure using Phoenix funds
  6. Teardown:
    1. Stop the Rusk node.