From 912083ce2dd138778ddb9379165b1398b8851ac4 Mon Sep 17 00:00:00 2001 From: ak Date: Thu, 7 Mar 2019 11:12:25 -0800 Subject: [PATCH] epoch change and other tests --- specs/test/testplan.md | 53 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/specs/test/testplan.md b/specs/test/testplan.md index 2043cd7b5..ee1c3b634 100644 --- a/specs/test/testplan.md +++ b/specs/test/testplan.md @@ -72,6 +72,7 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? N --- + ### consensus * test case # : CS1 @@ -90,6 +91,7 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- + ### drand * test case # : DR1 @@ -100,7 +102,6 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- - * test case # : DR2 * description : * test procedure : @@ -109,6 +110,7 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- + ### smartcontract * test case # : SC1 @@ -119,7 +121,6 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- - * test case # : SC2 * description : deploy ERC721 (non-fungible tokens) smart contract in 1 shard * test procedure : smart contract is deployed in a automated fashion e.g. smart contract like Cryptokitties @@ -147,6 +148,7 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- + ### resharding * test case # : RS1 @@ -158,13 +160,22 @@ It should cover the basic function to pass, to fail, and error conditions. * automated? --- * test case # : RS2 -* description : reshard with 0 new nodes -* test procedure : in a ongoing +* description : reshard with 2 shards +* test procedure : 0 new nodes join the network for the new epoch +* passing criteria : a new leader should be selected +* dependency +* note +* automated? +--- +* test case # : RS3 +* description : reshard with 2 shards with 250 nodes each +* test procedure : 50 to 250 new nodes join the network for the new epoch * passing criteria : a new leader should be selected * dependency * note * automated? --- + ### transaction * test case # : TX1 @@ -175,6 +186,7 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- + ### view change * test case # : VC1 @@ -185,7 +197,6 @@ It should cover the basic function to pass, to fail, and error conditions. * note * automated? --- - * test case # : VC2 * description : change malicious leader * test procedure : started beacon chain with 50 nodes, leader started consensus and offline, after sometime, a new leader is selected @@ -196,14 +207,43 @@ It should cover the basic function to pass, to fail, and error conditions. --- ## stress test + ### protocol level stress + * test case # : STP1 * description : -* test procedure : increase number of txns in block from 1000 to 10,000 +* test procedure : increase number of txns in block from 1000 to 10,000, stepwise +* evaluation: change in block latency per shard/change in transactions per sec, per shard. +* dependency +* note +* automated? +--- +* test case # : STP2 +* description : increasing number of nodes in a shard +* test procedure : increase number of nodes in a shard from 100 to 5000 * evaluation: change in latency per shard/change in transactions per sec, per shard. * dependency * note * automated? +--- +* test case # : STP3 +* description : epoch change with increasing number of nodes in shard +* test procedure : initiate epoch change with increasing number of nodes in a shard from 100 to 1000 +* evaluation: latency in leader election +* dependency +* note +* automated? +--- + +##epoch change stress +* test case # : EC1 +* description : hight waiting nodes +* test procedure : for 5 shards having 200 nodes each initiate epoch change with 10,000 nodes waiting +* evaluation: latency in leader election/resharding +* dependency +* note +* automated? +--- ### networking level stress @@ -214,6 +254,7 @@ It should cover the basic function to pass, to fail, and error conditions. * dependency * note * automated? +--- ### transaction stress