基于Robot、等开源框架和技术,成功打造通用自动化测试持续集成管理平台
发表时间:2023-11-22 11:02:56
文章来源:炫佑科技
浏览次数:140
菏泽炫佑科技
基于Robot、等开源框架和技术,成功打造通用自动化测试持续集成管理平台
基于Robot等开源框架和技术,我们成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显着提升了测试质量和测试用例执行效率。
01
设计目标
02
架构设计
平台采用组件化思想和分层架构,共分为4层。 每层实现特定的功能并提供接口供其他层调用:
图1 平台架构设计
03
平台实施
在自动化框架选择方面,我们选择Robot(以下简称“RF”)作为自动化测试平台的核心底层框架,作为持续集成和任务调度平台,同时我们选择Robot, 、等作为扩展测试库,以应对不同的测试。 需要。
(1)射频框架
RF是一个功能丰富且高度可扩展的开源自动化测试框架,主要用于多轮回归测试。 框架通过关键字的组合形成测试逻辑,*终通过各个底层测试库与被测系统交互,完成测试工作。
RF框架提供了标准的底层关键字API,用于APP、Web、接口、数据库测试等,测试人员只需根据这些关键字开发自定义脚本即可满足自己的测试需求。
图2 射频架构图
(2)
它是一个开源、跨平台、多语言的测试框架。 与其他框架相比,它支持iOS和平台上的原生、Web和混合应用程序自动化测试。 它可以在平台之间重用代码,并且不需要编写测试脚本和运行测试。 重新编译源代码在脚本编写和实现上不需要太多的编程语言,测试也更加轻量和灵活。
是基于RF框架的第三方扩展应用测试库,可支持证券公司移动证券APP的自动化测试和开发。
图3 架构图
(3)
它是专门为实现多平台Web应用程序测试而设计的自动化测试工具套件。 它具有可扩展性、跨平台和多浏览器支持等功能。 2 是集成的,可以通过本机浏览器支持或浏览器扩展直接控制浏览器。 测试人员可以根据不同的平台、不同的浏览器选择不同的进行测试。
是一个基于RF框架的Web测试库,可以支持券商商城、网上大厅等Web应用的自动化测试和开发。
图4 架构图
(4)
接口测试一般用于多个系统之间的交互开发,或者是多个子系统的应用系统开发的测试。 它采用开源协议语言编写,基于HTTP库,可以满足HTTP接口测试需求。 它是RF框架下的API测试库,可以支持券商IFS或其他自定义开发接口的自动化测试和开发。
(5)桌面应用测试
它是一个用于自动化GUI操作的软件。 它可以模拟键盘按键、鼠标移动以及窗口或控件操作来实现自动化任务。 是一个基于RF框架的Win32桌面应用测试库,可以支持券商核心柜台、网上交易等桌面应用系统的自动化测试和开发。
图5 识别GUI对象示例
(6)持续集成
它是一个开源的持续集成工具,支持svn、Git等SCM配置管理工具。 它可以根据项目需求设置定时构建(例如每小时、每个间隔或每天晚上什么时间)或触发构建(例如每小时、每个间隔或每天晚上什么时间)。 如源码提交触发),支持Shell脚本、批处理、Ant构建等多种构建方式,以满足在不同操作系统上运行的需要。
支持分布式构建(类似Grid),可以实现多主机、多任务并行执行。 它还提供了丰富的插件支持。 安装Robot插件后,您可以执行RF自动化测试用例。
图6+RF+自动化测试示例
04
平台创新点
1、平台架构灵活,适应场景广泛,可以满足多种不同类型的自动化测试。
该平台基于轻量级射频开源框架,具有良好的可扩展性。 通过集成不同的开源扩展测试库,可以满足不同类型、平台和应用的测试需求:
因此,该平台具有相当的灵活性、兼容性和易用性,特别适合于核心柜台、网上交易、移动证券等界面变化不大、软件生命周期长、新版本较多的产品的自动化测试。经常推出。 2、平台实现端到端自动化测试管理和信息一站式图形展示。
平台支持用例管理、脚本开发与调试、分布式任务调度与执行、测试报告呈现的全流程。
图7 平台测试管理
图8 测试日志和报告
3、基于数据和关键词驱动的自动化测试,灵活响应被测系统的变化
该平台克服了传统自动化框架录制和播放模式脚本耦合度高的缺点,具有高健壮性、高复用性和良好的可维护性:
图9 分层自动化测试
05
平台实施效果
1、提高测试用例设计质量和业务场景覆盖率
东莞证券自动化测试项目实施以来,用例粒度和覆盖率得到大幅提升。 移动APP交易、界面、Web(网上大厅/商城/有财贷)、核心柜台、网上交易测试用例分别达到1645个和1645个。 153、76、569、1168,用例规模平均增长近8倍,基本覆盖所有交易业务。 平均自动化率达到65%以上,极大增强了产品研发团队的质量信心。 2、提高测试用例执行效率,加快产品上线速度
自动化测试提高了测试用例执行的效率和准确性,降低了生产应用系统的故障率。 另外,持续集成尽早介入,减少版本发布延迟的可能性。 以东莞证券手机APP交易自动化测试为例。 之前版本的迭代周期为2-3个月,进行自动化测试后缩短为1个月。 上一轮耗时15人天的手动测试,自动化执行后改为不到2人。 天空。 按平均每月一次迭代计算,全年可节省近150人日的测试资源。 如果连接独立的测试计数器(支持7*24执行)并添加多台设备并行执行,可以大大提高自动化测试的效率; 项目已投入近20轮版本迭代测试自动化软件开发,发现缺陷17个。
06
总结
东莞证券基于开源RF框架建立了从0到1的通用自动化测试系统基于Robot、等开源框架和技术,成功打造通用自动化测试持续集成管理平台,并在手机APP、核心柜台、网上交易、接口、商城、网上大厅等项目中实施。 同时,它结合了自动化测试的持续集成和分布式构建,有效支持敏捷快速的迭代过程。
由于篇幅限制,本文不详细讨论APP、Web、桌面应用、界面等自动化测试开发方法,而是提供一种建立通用自动化测试持续集成管理平台的思路,希望能给大家提供一些启发和帮助。供其他证券公司参考。 意义。