作者:资讯 / 来源:PlatON
自动化测试泛指使用程序或工具来代替人工的测试方式。相比人工测试,自动化测试准确度更高,且具有高可复用性,对保障产品质量、缩短测试时间有极大作用。本文分为两部分介绍 PlatON 开展自动化测试的思路与技术实践。本篇将介绍 PlatON 多层面的自动化测试。
多层面的自动化测试
上篇的内容都是围绕 PlatON 网络自动化测试展开,而基于隐私 AI 计算网络衍生的周边产品,如区块链浏览器 PlatScan、区块链钱包 ATON 等,我们也需要对其进行自动化测试。
对于 PlaON 网络,我们主要是调用节点的 RPC 接口来进行自动化测试。而对于周边产品,其涉及的测试范围更加宽泛,涵盖了 UI、接口、数据库等多个测试层面。我们要建立完善的自动化测试,就需要从各个层面,以不同的视角进行切入,来开展分层自动化测试。
** 分层测试原则
**
那么,怎么开展分层自动化测试,又要怎么避免因为存在多个测试层面而导致重复测试相同场景呢?我们梳理了三点分层自动化测试原则:
明确主层:根据业务侧重点,选择 UI、接口等某一个层面作为主层,自动化测试场景倾向于在主层去实现测试。
各层互补:除了主层外,其他层面做为主层的辅助层,用于补充主层的不足。当接口层作为主层时,UI 层就倾向于做 UI 的校验,业务逻辑在接口层进行测试。
多层结合:在检验业务流程的时候,自动化用例应实现端到端的测试,在多个层面进行检查,实现全视角覆盖。每个层面都应该拥有自己的 Case、Fixture 和 Lib,多个层面之间,通过 Fixture 来实现衔接。
自动化测试的应用
PlatON 的自动化测试,涵盖了 2000 余个测试场景,对黑盒测试场景的覆盖率达到了 90%。同时,我们把自动化测试加入到了持续集成的过程中,与研发工作流程相结合,为冒烟测试、迭代测试、版本发布测试工作,贡献了一份独有的力量。