一、背景介绍
随钻仪器设备的高速发展与多样化,导致测试软件繁多、迭代速度快,测试仪器软件开发维护工作越来越复杂。
因此,需要建立一套随钻仪器自动化测试软件开发框架。
- 简化测试软件开发流程,提高开发效率
- 减少软件代码修改次数,降低维护成本
- 覆盖缺少仪器的测试场景,完善测试手段
二、设计思路
- 实现仪器协议配置化,方便协议库的扩展与管理;
- 实现测试流程可视化设计,提高测试流程开发效率;
- 算法模块支持挂接,提高算法的可扩展性;
- 基础组件采用MVVM模型,实现框架与业务的低耦合;
- 底层接口模块化,提高灵活性和可维护性;
- 随钻仪器模拟器配置化,可快速实现模拟常规仪器工作流程。
关键技术设计
(1)多版本仪器库配置管理

- 实现多类仪器、多种模块、多个版本的多层级配置管理;
- 实现对多种规则的指令协议进行配置管理;
- 实现对复杂指令的简化配置;
- 实现多人协作时仪器库的导出与合并;
(2)可视化测试流程设计

- 可视化的设计流程;
- 可扩展的流程节点;
- 低代码的运行流程;
(3)可视化模拟器生成

- 通过可视化配置无代码化创建仪器模拟器;
- 模拟不同仪器完成指令自动响应、数据采集等工作;
- 实时更新并展示模拟仪器的状态、参数、内存数据等信息;
- 多版本模拟器可快速切换运行;
- 真实模拟仪器工作;(扩充讲)
(4)可配置生成监控界面

- 低代码生成监控界面机制;
- 提高监控界面开发效率;
- 降低监控界面开发门槛;
- 针对不同测试场景可快速生成个性化监控界面;
- 监控控件可根据需求扩展



(5)模板化报告配置与生成
- 提高报告章节的复用性;
- 提高生成报告的工作效率;
- 提高配置报告的灵活性;
- 覆盖不同测试场景报告的个性化需求;
- 规范化不同报告的通用章节格式;
- 减少手动生成报告可能出现错误的风险;

三、研究成果
(1)协议库管理
维护和管理各仪器的基本信息、模块构成及指令协议。


(2)模拟器管理
维护和管理基于用户配置的状态、参数、采集以及内存。

(3)测试流程管理
维护和管理基于用户配置的Detect、Diagnostics、Final Check流程设计。

(4)读内存管理
通过配置的方式实现自动化读取仪器内存功能。


(5)算法管理
维护和管理基于用户配置的编解码算法和计算算法。

(6)随钻仪器模拟器
随钻仪器模拟器APP主要用于模拟仪器的状态、参数、内存数据等信息。

(7)采集数据
基于用户在管理软件配置的采集字段自动展示已采集数据表格,并且根据用户配置的数据生成规则来以一定时间间隔自动生成数据。

(8)多仪器测试APP
多仪器测试APP可以根据BHA配置动态生成单仪器测试、内存读取,同时提供了多仪器自动化测试和内存读取功能。

—— 控件开发




—— 测试流程运行
通过流程设计器设计出测试流程,再通过测试APP运行,并在界面上展示检测项的输出信息。

—— 内存读取
本框架为内存读取提供了相应的接口,并配套完整的控制功能。


(9)报告生成
报告生成模块为测试APP提供了测试完成后的报告编辑、预览、生成功能,报告模板有着可自定义扩展的特性,满足未来多种多样的报告模板需求。

(10)单仪器测试APP
通过测试APP开发框架结合单仪器测试APP模板,可以快速生成指定仪器的测试APP。

(11)串口桥
通过简单的配置就可以开启串口桥功能,实现真实仪器串、随钻仪器模拟器、测试APP可以通过不同串口进行无障碍通信。
