【摘要】 NEO
为什么需要用于NEO-CLI的自动化测试框架?
正如我们所知,测试通常可分为3个级别:单元测试、集成测试和系统测试。
NEO-CLI已经覆盖了单元测试,团队也在不断提高单元测试的覆盖率。作为软件测试的其中一个阶段,集成测试中单个软件模块会作为一个组进行组合和测试。由于NEO-CLI是一个整体设计,并且只包含三个核心部分:neo-cli, neo和neo-plugins,这增加了集成测试的复杂性。
NEO-CLI的大多数功能测试是系统测试,即在一个完整的集成系统上进行测试,以评估NEO客户端是否符合其指定的要求、命令行和远程协议调用等。虽然手动测试系统也可以提高测试质量,但这往往是一个耗时的过程。自动化系统测试可以用于每个neo-cli构建工件的回归测试阶段,因此可以让测试人员更专注于错误测试以及设计不同的用户场景。
架 构
NEO客户端会与测试网络服务进行通信,从而执行NEO-CLI命令或者发送远程协议调用请求、部署私有网络等。Test模块位于架构上层,包含测试配置信息和主要的测试用例,可调用下层的API接口。API层封装了命令行基函数以及RPC功能。Utils层包含常见的一些Python库,如logger、task execution和report等。该自动化测试框架已经与Travis-ci平台进行了集成。我们的目标是在未来能实现持续部署。(章淑云)