...
Table of Contents | ||||
---|---|---|---|---|
|
Core chain and contract development
Development of Foundation-led FIPsBug fixes and minor (non-FIP and non-Project) feature improvements
QA of core chain and contracts
QA for all FIPsbugs fixes and minor feature improvements
Devnet, Testnet, and Mainnet release testing
fio and fio.contracts automated testing
fio and fio.contract QA is covered by the fio.test javascript test harness. New automated tests are created for every new action, endpoint and feature added to the protocol. Full regression tests are run for every release.
...
All features, especially Mainnet features, do not have full regression tests
Testing lags development and impacts releases
Limited QA resources to develop automated tests
No time to focus on test harness architecture
QA not integrated into CI pipeline
Devnet release testing
Devnet release testing is currently done by the development team. It involves deployment and upgrade testing of fio and fio.contracts.
Testnet release testing
Testnet release testing currently consists of:
Running an automated smoketest against Testnet before and after deployment
Some manual testing of Testnet using Cryptonym
Some manual testing of features by development and product teams
Mainnet release testing
Mainnet release testing currently consists of:
Some manual testing of Mainnet using Cryptonym
Some manual testing of features by development and product teams
Centralized
1 x QA Manager
Test harness architectureOversee test development
2.5 FTE
fio.test new and backlog automated tests
Proof’d tests
0.5 FTE release testing
Community / Bounty
1 x QA Manager
Test harness architecture
Oversee test development
Create bounties for:
fio.test new and backlog automated tests
0.5 FTE
release testing
Develop/Maintain Proof’d
Outsource
1 x QA Manager
Test harness architecture
Oversee test development with outsource group
Release testing
Outsource
fio.test new and backlog automated tests
Develop/Maintain Proof’d test scripts
Release management of core chain and contract updates
Release Management for all FIPs
Develop and maintain integration pipeline
Define and manage the software development lifecycle
CI automation for chain and contract development and testing
Manage Devnet deployment and fork testing
Work with BPs to ensure timely Testnet and Mainnet releases
Maintain/upgrade internal FIO nodes (e.g., registration site nodes) to latest release
Ensuring the security of the FIO chain
Security playbook
Maintaining compatibility with and contributing to the EOSIO ecosystem
Work with EOSIO community to ensure FIO compatibility with evolution of EOSIO
Contribute to EOSIO code and tools
Developer outreach and community building
Ensure FIO development community has the resources, motivation and tools they need to excel and deliver high quality software
Ensure that FIO development community is always focused on ease of implementation and ease of use as high priorities
Community bounty program
KPIs
...
Task
...
KPIs
...
Core chain and contract development
...
Maintain release dashboard for FIP development: estimated release dates, current status
...
QA
...
KPIs
Task | KPIs |
---|---|
Chain uptime | Downtime due to faulty code or bugs (does not include Block Producer mishaps).
For impacts to up time resulting from reduced QA resources see: https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/475005006/QA+Strategy |
Code delivery |
|
QA |
|
Release management |
|
Documentation and knowledge sharing |
|
FIO Chain and contract security |
|
EOSIO compatibility and community support | |
Developer outreach and community building |
...