1、中国互联网测试开发大会。深圳站MTSC智能合约测试体系建设及实践刘超腾讯支付与金融线高级专项测试工程师主办方:TesterHame#page#MTSC中国互联网测试开发大会PART01区块链智能合约介绍PART02智能合约多维度测试体系PART03测试实践案例FiT照讯金融科技主办方:TesterHame#page#MTSC中国互联网测试开发大会智能合约介绍客户端(钱包,remix,truffle,dapp)RPC数字承诺钱包服务端代码实现达成条件执行区块链网络节点节点节点链上应用合约参数合约参数合约参数去中心化合约虚拟机合约虚拟机合约虚拟机不可算改共识校验共识校验运算结果运算结果运算结果共识
2、校验共识校验区块链数据区块链数据区块链数据FT腾讯金融科技主办方:TesterHame#page#MTSC中国互联网测试开发大会智能合约开发语言版本声明delagaticr开发语言合约主体其他Node.js591596Solidity22%5%合约变量Go29%Java24%1+)合约方法数据来源:TBI测试Solidity智能合约示例腾讯金融科技FiT主办方:TesterHeme#page#MTSC中国互联网测试开发大会PART01区块链智能合约介绍PART02智能合约测试维度PART03测试方法与实践案例FiT照讯金融科技主办方:TesterHame#page#MTSC中国互联网测试开发大
3、会智能合约与传统业务区别传统业务智能合约提测物二进制文件源代码运行环境操作系统区块链链上地址访问地址Server(ip:port)调用方式接口调用区块链交易选代方式全新发布替换升级回退方式可回退无法回退数据变更修改数据库经过全网共识测试手段主要是系统测试大多数是单元测试执行成本消耗GAS物理费用、流量等FiT腾讯金融科技主办方:TesterHame#page#MTSC中国互联网测试开发大会智能合约测试维度CO酒阳安全验证成本审计功能测试FT照讯金融科技主办方:TesterHame#page#MTSC中国互联网测试开发大会智能合约功能测试区块链合约升级功能必要功能合约暂停合约特有请求咨数读写读写
4、状态机据返回事件记录功能测试业务流程业务功能数据校验区块链共识网络参数覆盖QOOE接口测试路径覆盖条件组合覆盖FT照讯金融科技主办方:TesterHeme#page#MTSC中国互联网测试开发大会智能合约安全测试安全事件(2011-2019)第三方机构审计安全审计常见安全漏洞检查源码无法明文读取合约加密源码避免开源合约层,47.50%开发规范开发合约模板规范设计私钥安全保存应用层,45.30%应急暂停数据层,0.36%运维功能升级恢复升级合约共识层,3.02%数学建模形式化验证网络层,3.77%.系统性推理数据来源:自相汇安全研究院中国信通院区块链安全白皮书(2018)FT照讯金融科技主办方:
5、TesterHame#page#MTSC中国互联网测试开发大会智能合约成本审计Transaction details什么是Gas?0x784a45639003e57d9936f246ecd6b9eb7889d6ae5687e574938432433ef6faba计算成本存储成本Hash0x784345639003e57d9936f246ecd6b9eb7889d6ae5687e574938432433ef6fabaBlock10588255 1Confrmation激励矿工Time:2020年8月4日01:48:17(aminuteag)如何减少gas消耗?From0x4C39ADA0340c
6、1Eb3Ce8343F44819323dD29081A9编译优化部署To减少数据规模ValueDETH19US20.05496ETHI521.4Z降低复杂度GasPrice260GWel目标:GasLimit2,000,000减少运营执行合约成本GasUsed211.366ActionsInwokedx84cA8bc799727ning38072Gasof1929038ndingOETHCO0LInwoked0x84cA8bc79972722565Gasof1829410FT腾讯金融科技主办方:TesterHeme#page#MTSC中国互联网测试开发大会PART01区块链智能合约介绍PART