[Shipped] Quality control strategy to minimize oversight for Q2 2020

What is the problem you’re solving?

Incognito’s growing fast, new features/functions are constantly being added.

While we rapidly grow, the weight put on quality assurance also grows, which raises a big question: “How do we keep both the product growing and quality moving forward together as Incognito grows bigger every day?”

What is the solution?

  • Define Testcases, perform manual tests for every new function, find and report defects, and verify quality control actions taken.

  • Review Unittest cases of Developer for each feature.

  • Implement and maintain CD/CI processes into testing. We need to spend more time on automation testing by building a fully automatic testing system that will help us perform the regression tests on the current functions. Meanwhile, we can focus on assuring quality for the new functions.
    image

  • Working Process:
    image

Who are you?

We are @khanhj @hardy and @Rocky, a group of experienced quality control engineers, who enjoy breaking things but want to do it in smarter ways.

Why do you care?

As quality control engineers who are also community members and users of the product, we want to make sure Incognito is the best it can be. More importantly, we want to ensure the quality can keep up with the pace of the growing project.

What’s your plan? What’s your schedule?

Test plan for May 2020:

Ship Date Status Task Goal
May 13 delivered New Vault Smart Contract code analysis Zero bug on Vault Smart Contract
May 13 delivered New ZRX KBN trading SC code analysis Zero bug on ZRX KBN Smart Contract
May 15 delivered Testing full-flow pKyber Agreegator Trading No bug in pKyber trading RPC
May 22 in-progress Unit & Integration test Portal v2 (Trustless Bridge) on Testnet No bug in Portal v2 RPC
May 31 in-progress Integration test Consensus v2 (multiview) on Testnet Ensure all chain function working properly before launching Consensus v2 on mainnet
May 31 Scheduled Setup Staging test environment Provide a stable staging environment for App team implement Regression/Automation Test

What are the key results?

For May 2020:

  • No bug on mainnet of Incognito-chain for new feature launch: pKyber.
  • No bug on mainnet of Incognito-chain’s released features: Send Transaction, Reward, Staking, Bridge and pDEX.

What’s your budget?

The project will be undertaken by 3 quality control engineers.
Budget plan for May 2020:

Resource Cost Quantity Monthly Cost
Quality control engineer 1,000 PRV 2 2,000 PRV
Quality control platform engineer 2,000 PRV 1 2,000 PRV
TOTAL 4,000 PRV

Is there an existing conversation around this idea?

Is there anything else you would like the community to know?

We’re in this together. Let us know what you think! You can find more at the link below.

Reference

Github Incognito Chain Testing
Github Bridge Ethereum

8 Likes

Hi Khanh! this was funded with 5/5 votes! great month ahead and be sure to update us weekly progress!

I’ve just updated Proposal’s goal.
Here is the progress this week:

  • Portal v2:
    • portal RPC manual test: 30/34
    • portal business flow testing: 30/60
    • portal automation implement: add 400+ line of code to testing framework
    • run manual test portal v2 for BTC (Deposit Custodial; Porting/redeem request; Liquidation )
    • disscuss the business logic flow of portal with dev => update new tech flow => retest all testcase again next week
    • start code automation test for portal (20%)
  • Testing hotfix: increase transaction fee - Testnet (done)
  • Smart Contract code analysis after dev team resolved previous issue: Slither (done), MythX (on-going)
  • Bug found: 3 - #898
3 Likes

Will these new smart contracts also get 3rd party security code reviews???

Yes, since our SC will holding a large amount of token, i do think we need 3rd party service to review/audit the smart contract. But before doing that we was trying free analysis tool and execute unit test.
@duybao, anh @duy any ideas?

1 Like

1/ @hardy @Rocky please commit that we will local testing completely before 13-May for portalv-2 bugs so that we can deploying consensus-v2 multiview(fixing block proposor) continuously.

2/ @khanhj Because we can not test consensus-v2 multiview(fixing block proposor) on testnet, please continue test non-fixing block proposor(bft2) on local.

Note: This week, we may deploy kyber feature on mainnet which we’re late on Apr for checking more security smart contract. Please spend more time to work arround again on it

1 Like

hi @thaibao, After discussed with dev team, we need to update some improve to optimize function. So, we need to continue local testing until 22 May.

1 Like

Hi everyone,
My update on testing status of new features this week: (May 11-15)

  • Portal v2:
    • Portal RPC testing: request/response (done)
    • Portal business flow testing for BTC (on hold)
    • Portal business flow testing for BNB: Deposit Custodial; Porting/redeem request; Liquidation; Withdraw Reward (done)
    • Automation test for portal (50%)
    • Other enhancements was discussed and will be implemented in next version of Portal
  • New Unit Transaction Fee on Testnet: last week it was 200000 per KB, we reduced it to 100000 per KB (testing done)
  • Smart Contract code analysis and unit test case review (testing done)
  • New Smart Contract deployed on ETH Kovan, prepared for mainnet: we try to retest pKyper Trading feature, no issue so far (testing done)
  • Consensus v2 - multiview is deployed on Testnet (under testing - 50%)
  • Consensus v2 - bft2 is deployed on local env (under testing - 30%)
  • Bug found: #904 #905 #903
5 Likes

My update on testing status last week (May 18 - 22)

  • Portal v2:

    • Portal business flow testing for BTC (on hold)
    • Portal business flow testing for BNB: Deposit Custodial; Porting/redeem request; Liquidation; Withdraw Reward (done)
    • Automation test for portal (65%)
  • New Unit Transaction Fee will not be deployed on Mainnet: We’ll keep Incognito as the cheapest way to transfer your token.

  • New Smart Contract deployed on ETH Kovan, prepared for mainnet: we try to retest pKyper/0x Trading feature, no issue so far (testing done)

  • Consensus v2 - multiview is deployed on Testnet (done)

  • Consensus v2 - bft2 is deployed on local env: Stake, pDEX, Transaction (under testing - 70%)

  • Bug found: #904 #916 #911

4 Likes