1.区块链底层测试的难点
区块链底层测试与传统的软件测试相比来说:
- 系统边界模糊:传统的软件,不管是是独立的应用程序,还是客户端/服务器模式的应用程序,都有明显的系统边界,可以通过UI用户界面或者客户端去进行测试;区块链底层,则是一个完全去中心化的分布式网络。这个网络有可能跨越多个子网、多个数据中心、多个运营商、甚至多个国家,其边界是模糊的。对于区块链底层的测试,不仅包括前端API与某个区块链节点之间的测试,还涉及大量区块链节点与节点之间的测试。
- 故障类型复杂:区块链故障类型包括宕机故障(Crash Failure)、宕机-恢复故障 (Crash-Recovery Failures)、拜占庭故障 (Byzantine Failures)。
- 区块链类型不同:不同类型在管理、用户身份、最大节点数等平台自身特征方面均有不同,测评需要考虑所有的模式,导致测试方案更加复杂。