CN117056929B - 鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 - Google Patents
鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 Download PDFInfo
- Publication number
- CN117056929B CN117056929B CN202311311052.6A CN202311311052A CN117056929B CN 117056929 B CN117056929 B CN 117056929B CN 202311311052 A CN202311311052 A CN 202311311052A CN 117056929 B CN117056929 B CN 117056929B
- Authority
- CN
- China
- Prior art keywords
- hong
- monte
- cnn
- time
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 90
- 238000001514 detection method Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000005856 abnormality Effects 0.000 claims abstract description 12
- 230000004927 fusion Effects 0.000 claims description 58
- 239000013598 vector Substances 0.000 claims description 56
- 238000013527 convolutional neural network Methods 0.000 claims description 22
- 238000005457 optimization Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000010606 normalization Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012536 packaging technology Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1918—Fusion techniques, i.e. combining data from various sources, e.g. sensor fusion
Abstract
本发明提出鸿蒙系统上测试自动化和安全检测优化方法、装置和介质,该方法应用于服务器,包括:远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN‑LSTM神经网络模型判断是否存在安全异常;本发明构建远程控制框架,支持终端的录制与回放,实现自动化测试用例快速高效生成并可实现安全检测。
Description
技术领域
本发明涉及自动化测试及安全检测领域,具体涉及一种鸿蒙系统上测试自动化和安全检测优化方法、装置和介质。
背景技术
华为鸿蒙系统(英文:HUAWEI Harmony OS)是一款基于微内核的面向全场景的分布式操作系统,现有的鸿蒙系统自动化测试工具,无法很好识别组件,导致自动化用例执行成功率低,无法满足日常使用。现有鸿蒙系统测试用例主要通过手动编码完成,效率较低,且不支持远程控制设备进行录制回放;现有的鸿蒙系统的方案鲁棒性较差,不同分辨率场景适配性差。并且现有技术中自动化测试工具由于经常会基于远程连接控制实现,如果控制通道被入侵,会导致更高的安全风险,不仅测试数据可能泄露,存在被远程执行破坏操作的危险。
并且现有安全入侵检测手段无法有效识别高级持续性恶意代码;鸿蒙应用程序有可能存在安全漏洞风险,可能导致数据泄露,如何通过保证远程连接控制的安全性的同时实现测试自动化是我们关注的问题。
发明内容
有鉴于此,本发明提供了一种鸿蒙系统上测试自动化和安全检测的方法,应用于服务器,包括:
远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;
接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;
通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常。
特别地,其中向浏览器发送所述鸿蒙智能终端的实时画面包括:对终端的实时画面进行截图,通过WebSocket将截图传输给所述浏览器;所述浏览器发送的操控指令包括:根据所述浏览器实时展示的所述鸿蒙智能终端的实时画面,监控用户对所述实时画面的操作。
特别地,所述生成自动化测试用例包括:将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值;使用图像识别算法获取界面元素的位置,根据识别结果动态生成界面元素的坐标;计算该界面元素相对于其所在界面或该界面元素相对于其上一级界面组件的偏移,实现对不同分辨率的适配。
特别地,通过识别界面中出现的文字信息、图像中出现的文字信息、特定的图像信息确定所述第一自动化测试用例是否被执行成功。
特别地,所述获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常包括:采集所述鸿蒙智能终端上运行的工业网络协议报文数据和所述协议报文数据之间的时间特征信息,对所述报文数据进行one-hot编码及归一化处理;对所述时间特征信息转换为数字特征并进行归一化处理,将归一化处理结果输入所述CNN-LSTM神经网络模型。
在CNN-LSTM神经网络模型训练过程中,CNN模块通过卷积核学习协议报文中的地址、数据格式、字段语义;LSTM模块按时间步输入报文序列,学习报文间时间关系和字段语义概率特征;CNN-LSTM神经网络模型中的Softmax分类器接收来自CNN和LSTM的多维特征,根据概率阈值将协议报文数据划分为正常和异常报文;
输出报文划分结果,不断迭代直至训练完成;
输入新报文,所述CNN-LSTM神经网络模型根据不同字段的语义概率分布,得到是否存在安全异常的结果。
特别地,在所述CNN-LSTM神经网络模型中设置第一权重比例参数;通过所述第一权重比例参数控制报文空间特征和时间特征的权重比例。
特别地,在所述CNN-LSTM神经网络模型中增加多层全连接网络作为融合层,输入协议报文数据特征向量和报文时间特征向量;全连接层中使用非线性激活函数;通过多层非线性变换,学习所述协议报文数据特征向量和报文时间特征向量的复杂非线性融合,输出新的特征表示;在融合层引入注意力权重向量,通过softmax分类器进行归一化处理。
特别地,将所述注意力权重向量和特征向量共同作为所述融合层输入,通过反向传播训练更新注意力权重向量的取值;所述注意力权重向量对所述报文空间特征和时间特征的融合进行动态加权控制。
本发明还提出一种鸿蒙系统上测试自动化和安全检测优化的装置,包括:
远程控制模块,用于远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;
自动化测试用例生成模块,用于接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;
安全检测模块,用于通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常。
本发明还提出一种存储介质,所述存储介质上存储基于鸿蒙系统上测试自动化和安全检测优化的程序,所述程序被处理器执行时实现所述的鸿蒙系统上测试自动化和安全检测优化的方法。
有益效果
1、通过建立远程控制通道结合两种检测方法,既可快速自动地完成大规模功能验证,又可持续监测系统安全状态。保证远程连接控制的安全性的同时实现测试自动化,在全面提高测试效率的同时,也形成对鸿蒙系统功能正确性与安全性的双重验证与检测,大幅提升系统的测试覆盖率与质量,达到检测优化的目的。
2、引入图像识别、参数化等技术手段,提升了测试用例的适配性,增强用例稳定性。
3、支持文本和图片多模式验证,提高了测试判定的准确率,减少误判。
4、应用机器学习技术实现安全检测,保障运行安全。
5、统一的测试框架管理,降低维护和升级成本,闭环测试流程降低人工参与,提升测试效率。
6、模块化和参数化设计,提高框架的灵活性和扩展性,多方位的测试覆盖,提高问题发现率,减少软件缺陷。
7、提供端到端的测试解决方案,减轻研发和测试资源消耗。
附图说明
图1为本发明中提出的鸿蒙系统上测试自动化和安全检测的系统架构图;
图2为本发明中提出的鸿蒙系统上测试自动化流程示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种鸿蒙系统上测试自动化和安全检测的方法,应用于服务器,该方案既保证远程连接控制的安全性的同时实现测试自动化,其系统架构图如图1所示,测试自动化流程如图2所示,包括:鸿蒙智能终端通过WIFI接入局域网,服务器通过IP地址+端口连接鸿蒙智能终端,例如可通过cli完成对终端的控制。cli是command-line interface的缩写,表示命令行界面/命令行接口。在鸿蒙系统中,服务器端可以通过cli命令与鸿蒙设备进行通信,实现对设备的控制。鸿蒙的cli通常基于ssh或telnet等网络协议,通过文本命令实现设备管理。
服务器远程连接鸿蒙智能终端,建立控制通道,可进行周期截屏,并向浏览器发送所述鸿蒙智能终端的实时画面;其中向浏览器发送所述鸿蒙智能终端的实时画面包括:对终端进行截图,通过WebSocket将图片传输给所述浏览器;所述浏览器发送的操控指令包括:根据所述浏览器实时展示的所述鸿蒙智能终端的画面,监控用户对所述实时画面的操作。
接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;鼠标对浏览器上显示的图片进行,点击、滑动、缩放、双击等操作。浏览器将操控指令回传给服务器,服务器解析后通过cli完成对终端的操控。
伴随终端响应浏览器上鼠标的操控,截屏模块将最新的图片实时传递给浏览器,测试人员可以通过浏览器实时看到终端的响应动作。
点击录制按钮,开启录制过程。通过ocr识别终端界面上的文本信息,将文本信息以及对应的坐标值存储备用。录制开始后,录制模块开始记录鼠标和键盘的操作,并生成第一自动化测试用例。操作完成后,点击停止录制,退出录制模块。对于生成的测试用例可进一步优化,提高适配性,例如:将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值;其中具体技术手段可以包括: 将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值运行时根据需要传入不同的参数值这样一个用例模板可以覆盖不同场景;自动化用例参数化,编写python函数,将固定输入的内容进行参数化,比如登录账号,当前时间等等。
使用图像识别算法获取界面元素的位置根据识别结果动态生成元素的坐标;使用图像识别算法获取界面元素的位置根据识别结果动态生成元素的坐标。
即使界面布局变更,也能定位元素。计算显示元素相对于界面或父元素的偏移,实现对不同分辨率的适配。滑动操作的坐标信息,根据屏幕分辨率,按照比例转换为相对坐标。泛化兼容性。
不直接使用元素的绝对坐标而是计算元素相对于界面或父元素的偏移这样坐标对不同分辨率更加适配。另外还可将测试数据存储在外部文件或数据库中用例读取外部数据作为输入参数通过参数化组合测试更多场景;使用高级关键字定义用例步骤,关键字内封装技术实现细节;通过组合关键字可快速实现确定测试需求。
根据实际情况对录制的自动化用例进行定制化修改。可以框选终端显示界面中的任意图片,替换用例中生成的点击坐标值。例如:find_loc_by_img(“<截取任意图片>”)回放过程中会根据选择的图片,生成最新的坐标值,强化测试用例的鲁棒性。即使图片位置发生变动,测试用例依然可以回放成功。
可以通过特定文字获取对应的坐标值,替换掉录制中固定的坐标值。比如:find_loc_by_text(“登录”),识别到登录按钮的坐标值,并完成点击。通过图片识别和ocr实时获取坐标值的方式,可以解决不同分辨率导致坐标值变化,从而导致用例失败的问题。增加校验方式,支持文字和图片两种。根据界面上存在特定文字判断用例成功.以用户登录为例。通过文字判断,”用户登录成功”在终端上正常显示,标示用例成功.或者通过图片存在。比如:用户头像在界面上正常显示,标示测试用例成功。
点击回放,回放调整后的录制用例。通过opencv将find_loc_by_img的图片查找,转变成相对坐标。传给下面的点击或者滑动操作。通过ocr识别终端显示界面,或者录制是截取的对比图片。存在多个相同字符串的情况,根据曼哈顿距离选取最小值。执行用例中嵌入的脚本信息,实例化参数。
根据校验信息,给出用例的成功失败信息。调试完成的录制用例,可以选择保存或是删除。保存的用例直接存储到文件系统,图片与文件分别存储,并记录对应关系。删除,则删除临时信息。可选的还可以勾选所有需要执行的录制用例脚本,批量执行用例,生成完成的测试报告。
同时,本实施例中还可通过所述控制通道,服务器可以获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常。
所述获取鸿蒙智能终端上运行的网络协议报文数据,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常包括:采集工业网络协议报文数据和所述协议报文数据之间的时间特征信息,对所述报文数据进行one-hot编码及归一化处理;对所述时间特征信息转换为数字特征进行归一化处理输入所述CNN-LSTM神经网络模型;
鸿蒙报文包含头部和数据体两部分,头部包含源地址、目的地址、长度、消息类型等字段。数据体为可变长度,包含具体的控制和业务数据。报文在传输时有产生时间和接收时间,两者之差为报文的时延。报文间的时间间隔也是重要特征。数据预处理包括:将报文头和数据体展开成定长向量,报文时间转换为数字特征,进行归一化处理。
模型训练过程中,CNN模块通过卷积核学习报文头和数据体的空间特征和格式特征。LSTM模块按时间步输入报文序列,学习报文间时间关系。Softmax分类器集成CNN和LSTM的特征,区分正常和异常报文。在CNN-LSTM神经网络模型训练过程中,CNN模块通过卷积核学习协议报文中的地址、数据格式、字段语义;LSTM模块按时间步输入报文序列,学习报文间时间关系和字段语义概率特征;CNN-LSTM神经网络模型中的Softmax分类器接收来自CNN和LSTM的多维特征,根据概率阈值划分正常和异常报文;输出报文分类结果,不断迭代直至训练完成。
在对模型进行检测时,输入新的鸿蒙报文,经过CNN-LSTM特征提取,Softmax分类得到检测结果。模型优化时,调整CNN模块卷积核数量和大小,优化报文格式特征学习。或者调整LSTM时间步长,优化报文时间特征学习。
还可以对模型进行评估,例如,评估检测精度、召回率等指标,分析不同报文类型的检测效果。
较佳的,在所述CNN-LSTM神经网络模型中设置第一权重比例参数;通过所述第一权重比例参数控制报文空间特征和时间特征的权重比例。在CNN模块和LSTM模块添加第一权重比例参数时,其可控制报文空间特征和时间特征的融合比例。一开始可以设置其为0.5,即二者权重相同。训练时优化第一权重比例参数,找到最优特征融合比例。当第一权重比例参数接近1时,模型更看重时间特征;α接近0时,模型更看重报文空间特征。通过网格搜索(grid search)等方式遍历找到最佳第一权重比例参数值。
本实例中,也可以使第一权重比例参数成为可训练参数,模型通过反向传播自主学习最优第一权重比例参数;权重共享机制使模型可以自主融合不同类型特征。设置可学习的权重比例,让模型学习报文和时间特征的优化组合比例,可以提升其检测效果,使特征提取和融合更加智能化。相比固定的特征处理方式,具有更好的模型优化空间。
在所述CNN-LSTM神经网络模型中增加多层全连接网络作为融合层,输入包括协议报文数据特征向量和报文时间特征向量;全连接层中使用非线性激活函数;通过多层非线性变换,学习二者的复杂非线性融合,输出新的特征表示;在融合层引入注意力权重向量,通过softmax分类器归一化。当前的CNN-LSTM结构,二者特征尚未融合,是串行提取。权重比例只决定了二者对最终输出的影响程度。但二者特征仍是独立的,未进行融合。
较佳的,还可将所述注意力权重向量和特征向量共同作为所述融合层输入,通过反向传播训练可以更新注意力权重向量的取值;所述注意力权重向量对二者特征融合进行动态加权控制。融合层可以进行非线性变换,得到二者的新特征映射。还可以添加注意力机制,学习二者的动态融合关系。注意力权重向量可以作用于融合层,控制融合程度。
其中,CNN模块和LSTM模块输出为两个向量,分别包含报文空间特征和时间特征。可设计多层全连接网络作为融合层,输入为上述两个特征向量。全连接层中使用非线性激活函数ReLU等。通过多层非线性变换,学习二者的复杂非线性融合,输出新的特征表示。新的特征包含二者的综合信息。
可考虑添加注意力机制,在融合层引入注意力权重向量,通过softmax归一化。例如,向量长度为2,表示报文特征和时间特征的权重。注意力向量α和特征向量共同作为融合层输入。反向传播训练可以更新注意力权重向量的取值。可对二者特征融合进行动态加权控制。当注意力权重向量接近[1,0]时,融合层更关注报文特征。当注意力权重向量接近[0,1]时,融合层更关注时间特征。
具体的,报文1(登录报文):源地址192.168.1.1,目的地址10.0.0.2,协议TCP,端口80,数据体包含用户名密码。报文2(控制报文):源地址10.0.0.2,目的地址192.168.1.1,协议TCP,端口80,数据体包含设备控制指令。
时间特征示例:报文1发送时间T1=10:00:00;报文2发送时间T2=10:00:05
报文间隔时间ΔT=T2-T1=5s;内容+时间融合:报文1为登录报文,发送时间为10:00;5秒后,源地址变为报文1目的地,发送了控制类报文。模型融合分析:CNN分析报文1内容特征,识别为登录报文;LSTM分析T1, T2时间顺序特征;融合层综合两个特征,判断为正常控制流程。
当检测完成后,服务器断开与中断的连接,并停止对中断进行截屏,释放内存,清除临时文件。
本发明还公开了一种鸿蒙系统上测试自动化和安全检测优化的装置,该方案既保证远程连接控制的安全性的同时实现测试自动化,包括:
远程控制模块,用于远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;鸿蒙智能终端通过WIFI接入局域网,服务器通过IP地址+端口连接鸿蒙智能终端,例如可通过cli完成对终端的控制。cli是command-line interface的缩写,表示命令行界面/命令行接口。在鸿蒙系统中,服务器端可以通过cli命令与鸿蒙设备进行通信,实现对设备的控制。鸿蒙的cli通常基于ssh或telnet等网络协议,通过文本命令实现设备管理。
服务器远程连接鸿蒙智能终端,建立控制通道,可进行周期截屏,并向浏览器发送所述鸿蒙智能终端的实时画面;其中向浏览器发送所述鸿蒙智能终端的实时画面包括:对终端进行截图,通过WebSocket将图片传输给所述浏览器;所述浏览器发送的操控指令包括:根据所述浏览器实时展示的所述鸿蒙智能终端的画面,监控用户对所述实时画面的操作。伴随。终端响应浏览器上鼠标的操控,截屏模块将最新的图片实时传递给浏览器,测试人员可以通过浏览器实时看到终端的响应动作。
自动化测试用例生成模块,用于接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;鼠标对浏览器上显示的图片进行,点击、滑动、缩放、双击等操作。浏览器将操控指令回传给服务器,服务器解析后通过cli完成对终端的操控。
点击录制按钮,开启录制过程。通过ocr识别终端界面上的文本信息,将文本信息以及对应的坐标值存储备用。录制开始后,录制模块开始记录鼠标和键盘的操作,并生成第一自动化测试用例。操作完成后,点击停止录制,退出录制模块。对于生成的测试用例可进一步优化,提高适配性,例如:将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值;其中具体技术手段可以包括: 将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值运行时根据需要传入不同的参数值这样一个用例模板可以覆盖不同场景;自动化用例参数化,编写python函数,将固定输入的内容进行参数化,比如登录账号,当前时间等等。
使用图像识别算法获取界面元素的位置根据识别结果动态生成元素的坐标;使用图像识别算法获取界面元素的位置根据识别结果动态生成元素的坐标。
即使界面布局变更,也能定位元素。计算显示元素相对于界面或父元素的偏移,实现对不同分辨率的适配。滑动操作的坐标信息,根据屏幕分辨率,按照比例转换为相对坐标。泛化兼容性。
不直接使用元素的绝对坐标而是计算元素相对于界面或父元素的偏移这样坐标对不同分辨率更加适配。另外还可将测试数据存储在外部文件或数据库中用例读取外部数据作为输入参数通过参数化组合测试更多场景;使用高级关键字定义用例步骤,关键字内封装技术实现细节;通过组合关键字可快速实现确定测试需求。
根据实际情况对录制的自动化用例进行定制化修改。可以框选终端显示界面中的任意图片,替换用例中生成的点击坐标值。例如:find_loc_by_img(“<截取任意图片>”)回放过程中会根据选择的图片,生成最新的坐标值,强化测试用例的鲁棒性。即使图片位置发生变动,测试用例依然可以回放成功。
可以通过特定文字获取对应的坐标值,替换掉录制中固定的坐标值。比如:find_loc_by_text(“登录”),识别到登录按钮的坐标值,并完成点击。通过图片识别和ocr实时获取坐标值的方式,可以解决不同分辨率导致坐标值变化,从而导致用例失败的问题。增加校验方式,支持文字和图片两种。根据界面上存在特定文字判断用例成功.以用户登录为例。通过文字判断,”用户登录成功”在终端上正常显示,标示用例成功.或者通过图片存在。比如:用户头像在界面上正常显示,标示测试用例成功。
点击回放,回放调整后的录制用例。通过opencv将find_loc_by_img的图片查找,转变成相对坐标。传给下面的点击或者滑动操作。通过ocr识别终端显示界面,或者录制是截取的对比图片。存在多个相同字符串的情况,根据曼哈顿距离选取最小值。执行用例中嵌入的脚本信息,实例化参数。
根据校验信息,给出用例的成功失败信息。调试完成的录制用例,可以选择保存或是删除。保存的用例直接存储到文件系统,图片与文件分别存储,并记录对应关系。删除,则删除临时信息。可选的还可以勾选所有需要执行的录制用例脚本,批量执行用例,生成完成的测试报告。
安全检测模块,用于通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常。同时,通过所述控制通道,服务器可以获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常。
所述获取鸿蒙智能终端上运行的网络协议报文数据,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常包括:采集工业网络协议报文数据和所述协议报文数据之间的时间特征信息,对所述报文数据进行one-hot编码及归一化处理;对所述时间特征信息转换为数字特征进行归一化处理输入所述CNN-LSTM神经网络模型;
鸿蒙报文包含头部和数据体两部分,头部包含源地址、目的地址、长度、消息类型等字段。数据体为可变长度,包含具体的控制和业务数据。报文在传输时有产生时间和接收时间,两者之差为报文的时延。报文间的时间间隔也是重要特征。数据预处理包括:将报文头和数据体展开成定长向量,报文时间转换为数字特征,进行归一化处理。
模型训练过程中,CNN模块通过卷积核学习报文头和数据体的空间特征和格式特征。LSTM模块按时间步输入报文序列,学习报文间时间关系。Softmax分类器集成CNN和LSTM的特征,区分正常和异常报文。在CNN-LSTM神经网络模型训练过程中,CNN模块通过卷积核学习协议报文中的地址、数据格式、字段语义;LSTM模块按时间步输入报文序列,学习报文间时间关系和字段语义概率特征;CNN-LSTM神经网络模型中的Softmax分类器接收来自CNN和LSTM的多维特征,根据概率阈值划分正常和异常报文;输出报文分类结果,不断迭代直至训练完成。
在对模型进行检测时,输入新的鸿蒙报文,经过CNN-LSTM特征提取,Softmax分类得到检测结果。模型优化时,调整CNN模块卷积核数量和大小,优化报文格式特征学习。或者调整LSTM时间步长,优化报文时间特征学习。
还可以对模型进行评估,例如,评估检测精度、召回率等指标,分析不同报文类型的检测效果。
较佳的,在所述CNN-LSTM神经网络模型中设置第一权重比例参数;通过所述第一权重比例参数控制报文空间特征和时间特征的权重比例。在CNN模块和LSTM模块添加第一权重比例参数时,其可控制报文空间特征和时间特征的融合比例。一开始可以设置其为0.5,即二者权重相同。训练时优化第一权重比例参数,找到最优特征融合比例。当第一权重比例参数接近1时,模型更看重时间特征;α接近0时,模型更看重报文空间特征。通过网格搜索(grid search)等方式遍历找到最佳第一权重比例参数值。
本实例中,也可以使第一权重比例参数成为可训练参数,模型通过反向传播自主学习最优第一权重比例参数;权重共享机制使模型可以自主融合不同类型特征。设置可学习的权重比例,让模型学习报文和时间特征的优化组合比例,可以提升其检测效果,使特征提取和融合更加智能化。相比固定的特征处理方式,具有更好的模型优化空间。
在所述CNN-LSTM神经网络模型中增加多层全连接网络作为融合层,输入包括协议报文数据特征向量和报文时间特征向量;全连接层中使用非线性激活函数;通过多层非线性变换,学习二者的复杂非线性融合,输出新的特征表示;在融合层引入注意力权重向量,通过softmax分类器归一化。当前的CNN-LSTM结构,二者特征尚未融合,是串行提取。权重比例只决定了二者对最终输出的影响程度。但二者特征仍是独立的,未进行融合。
较佳的,还可将所述注意力权重向量和特征向量共同作为所述融合层输入,通过反向传播训练可以更新注意力权重向量的取值;所述注意力权重向量对二者特征融合进行动态加权控制。融合层可以进行非线性变换,得到二者的新特征映射。还可以添加注意力机制,学习二者的动态融合关系。注意力权重向量可以作用于融合层,控制融合程度。
其中,CNN模块和LSTM模块输出为两个向量,分别包含报文空间特征和时间特征。可设计多层全连接网络作为融合层,输入为上述两个特征向量。全连接层中使用非线性激活函数ReLU等。通过多层非线性变换,学习二者的复杂非线性融合,输出新的特征表示。新的特征包含二者的综合信息。
可考虑添加注意力机制,在融合层引入注意力权重向量,通过softmax归一化。例如,向量长度为2,表示报文特征和时间特征的权重。注意力向量α和特征向量共同作为融合层输入。反向传播训练可以更新注意力权重向量的取值。可对二者特征融合进行动态加权控制。当注意力权重向量接近[1,0]时,融合层更关注报文特征。当注意力权重向量接近[0,1]时,融合层更关注时间特征。
具体的,报文1(登录报文):源地址192.168.1.1,目的地址10.0.0.2,协议TCP,端口80,数据体包含用户名密码。报文2(控制报文):源地址10.0.0.2,目的地址192.168.1.1,协议TCP,端口80,数据体包含设备控制指令。
时间特征示例:报文1发送时间T1=10:00:00;报文2发送时间T2=10:00:05
报文间隔时间ΔT=T2-T1=5s;内容+时间融合:报文1为登录报文,发送时间为10:00;5秒后,源地址变为报文1目的地,发送了控制类报文。模型融合分析:CNN分析报文1内容特征,识别为登录报文;LSTM分析T1, T2时间顺序特征;融合层综合两个特征,判断为正常控制流程。
当检测完成后,服务器断开与中断的连接,并停止对中断进行截屏,释放内存,清除临时文件。
本发明还提出了一种存储介质,所述存储介质上存储基于鸿蒙系统上测试自动化和安全检测优化的程序,所述程序被处理器执行时实现前述的鸿蒙系统上测试自动化和安全检测优化的方法。因该方法在前面实施例中已经描述,故此处不再赘述。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
Claims (8)
1.一种鸿蒙系统上测试自动化和安全检测的优化方法,应用于服务器,其特征在于,包括:
远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;
所述测试自动化的优化过程通过接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;
所述安全检测的优化过程通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常;
其中,向浏览器发送所述鸿蒙智能终端的实时画面包括:对终端的实时画面进行截图,通过WebSocket将截图传输给所述浏览器;所述浏览器发送的操控指令包括:根据所述浏览器实时展示的所述鸿蒙智能终端的实时画面,监控用户对所述实时画面的操作;
所述生成对应的第一自动化测试用例包括:将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值;使用图像识别算法获取界面元素的位置,根据识别结果动态生成界面元素的坐标;计算该界面元素相对于其所在界面或该界面元素相对于其上一级界面组件的偏移,实现对不同分辨率的适配。
2.如权利要求1所述的鸿蒙系统上测试自动化和安全检测的优化方法,其特征在于,通过识别界面中出现的文字信息、图像中出现的文字信息、特定的图像信息确定所述第一自动化测试用例是否被执行成功。
3.如权利要求1所述的鸿蒙系统上测试自动化和安全检测的优化方法,其特征在于,所述获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常包括:采集所述鸿蒙智能终端上运行的工业网络协议报文数据和所述协议报文数据之间的时间特征信息,对所述报文数据进行one-hot编码及归一化处理;对所述时间特征信息转换为数字特征并进行归一化处理,将归一化处理结果输入所述CNN-LSTM神经网络模型;
在CNN-LSTM神经网络模型训练过程中,CNN模块通过卷积核学习协议报文中的地址、数据格式、字段语义;LSTM模块按时间步输入报文序列,学习报文间时间关系和字段语义概率特征;CNN-LSTM神经网络模型中的Softmax分类器接收来自CNN和LSTM的多维特征,根据概率阈值将协议报文数据划分为正常和异常报文;
输出报文划分结果,不断迭代直至训练完成;
输入新报文,所述CNN-LSTM神经网络模型根据不同字段的语义概率分布,得到是否存在安全异常的结果。
4.如权利要求1所述的鸿蒙系统上测试自动化和安全检测的优化方法,其特征在于,在所述CNN-LSTM神经网络模型中设置第一权重比例参数;通过所述第一权重比例参数控制报文空间特征和时间特征的权重比例。
5.如权利要求4所述的鸿蒙系统上测试自动化和安全检测的优化方法,其特征在于,在所述CNN-LSTM神经网络模型中增加多层全连接网络作为融合层,输入协议报文数据特征向量和报文时间特征向量;全连接层中使用非线性激活函数;通过多层非线性变换,学习所述协议报文数据特征向量和报文时间特征向量的复杂非线性融合,输出新的特征表示;在融合层引入注意力权重向量,通过softmax分类器进行归一化处理。
6.如权利要求5所述的鸿蒙系统上测试自动化和安全检测的优化方法,其特征在于,将所述注意力权重向量和特征向量共同作为所述融合层输入,通过反向传播训练更新注意力权重向量的取值;所述注意力权重向量对所述报文空间特征和时间特征的融合进行动态加权控制。
7.一种鸿蒙系统上测试自动化和安全检测优化的装置,其特征在于,包括:
远程控制模块,用于远程连接鸿蒙智能终端,建立控制通道,并向浏览器发送所述鸿蒙智能终端的实时画面;接收浏览器发送的操控指令,解析后通过所述控制通道对终端进行操控;
自动化测试用例生成模块,用于接收录制开始命令,开启自动化测试用例的录制过程,录制用户的鼠标键盘操作,生成对应的第一自动化测试用例;
安全检测模块,用于通过所述控制通道,获取鸿蒙智能终端上运行的网络协议报文数据,通过CNN-LSTM神经网络模型判断是否存在安全异常;
其中,向浏览器发送所述鸿蒙智能终端的实时画面包括:对终端的实时画面进行截图,通过WebSocket将截图传输给所述浏览器;所述浏览器发送的操控指令包括:根据所述浏览器实时展示的所述鸿蒙智能终端的实时画面,监控用户对所述实时画面的操作;
所述生成对应的第一自动化测试用例包括:将测试用例中的静态输入值设计为参数,运行时根据需要传入不同的参数值;使用图像识别算法获取界面元素的位置,根据识别结果动态生成界面元素的坐标;计算该界面元素相对于其所在界面或该界面元素相对于其上一级界面组件的偏移,实现对不同分辨率的适配。
8.一种存储介质,其特征在于,所述存储介质上存储基于鸿蒙系统上测试自动化和安全检测优化的程序,所述程序被处理器执行时实现如权利要求1至6中任一项所述的一种鸿蒙系统上测试自动化和安全检测的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311052.6A CN117056929B (zh) | 2023-10-11 | 2023-10-11 | 鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311052.6A CN117056929B (zh) | 2023-10-11 | 2023-10-11 | 鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056929A CN117056929A (zh) | 2023-11-14 |
CN117056929B true CN117056929B (zh) | 2023-12-26 |
Family
ID=88657536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311311052.6A Active CN117056929B (zh) | 2023-10-11 | 2023-10-11 | 鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056929B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559431A (zh) * | 2016-12-02 | 2017-04-05 | 北京奇虎科技有限公司 | 一种用于汽车安全检测的可视化分析方法和装置 |
CN109697160A (zh) * | 2017-10-23 | 2019-04-30 | 中国舰船研究设计中心 | 一种以太网接口软件自动化测试系统及方法 |
CN110365678A (zh) * | 2019-07-15 | 2019-10-22 | 北京工业大学 | 一种基于反样本的工控网络协议漏洞挖掘方法 |
CN114996168A (zh) * | 2022-08-03 | 2022-09-02 | 荣耀终端有限公司 | 一种多设备协同测试方法、测试设备及可读存储介质 |
CN115328784A (zh) * | 2022-08-16 | 2022-11-11 | 安徽工业大学科技园有限公司 | 一种面向敏捷接口的自动化测试方法及系统 |
-
2023
- 2023-10-11 CN CN202311311052.6A patent/CN117056929B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559431A (zh) * | 2016-12-02 | 2017-04-05 | 北京奇虎科技有限公司 | 一种用于汽车安全检测的可视化分析方法和装置 |
CN109697160A (zh) * | 2017-10-23 | 2019-04-30 | 中国舰船研究设计中心 | 一种以太网接口软件自动化测试系统及方法 |
CN110365678A (zh) * | 2019-07-15 | 2019-10-22 | 北京工业大学 | 一种基于反样本的工控网络协议漏洞挖掘方法 |
CN114996168A (zh) * | 2022-08-03 | 2022-09-02 | 荣耀终端有限公司 | 一种多设备协同测试方法、测试设备及可读存储介质 |
CN115328784A (zh) * | 2022-08-16 | 2022-11-11 | 安徽工业大学科技园有限公司 | 一种面向敏捷接口的自动化测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117056929A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
WO2021114866A1 (zh) | 遮挡图像检测方法、装置、电子设备及存储介质 | |
CN107957940B (zh) | 一种测试日志处理方法、系统及终端 | |
CN114050979B (zh) | 一种工业控制协议安全测试系统及装置 | |
CN107241229A (zh) | 一种基于接口测试工具的业务监控方法及装置 | |
CN115658496A (zh) | 可扩展的Web自动化测试方法、系统、设备及存储介质 | |
CN108365982A (zh) | 设备异常调试方法、装置、设备和存储介质 | |
CN117435506B (zh) | 模糊测试方法、电子设备及计算机可读存储介质 | |
CN117056929B (zh) | 鸿蒙系统上测试自动化和安全检测优化方法、装置和介质 | |
CN117332095A (zh) | 一种基于资产探测的网络空间知识图谱构建方法 | |
CN113760730A (zh) | 一种自动化测试的方法和装置 | |
CN115514677B (zh) | 服务器拨测方法及系统 | |
CN115952020A (zh) | 页面异常检测方法、介质、装置和计算设备 | |
CN115643181A (zh) | 一种基于rpa机器人的通用数据采集系统 | |
CN113158842A (zh) | 一种识别方法、系统、设备及介质 | |
Păduraru et al. | RiverIoT-a framework proposal for fuzzing IoT applications | |
CN117539674B (zh) | 异常处理方法、装置、设备及存储介质 | |
US10740223B1 (en) | Systems and methods for checkpoint-based machine learning model | |
CN112580706B (zh) | 应用于数据管理平台的训练数据处理方法、装置和电子设备 | |
CN113434404B (zh) | 校验灾备系统可靠性的自动化业务验证方法及装置 | |
Fan | Cloud based Intelligent Video Surveillance and Predictive Monitoring Platform | |
CN116340132A (zh) | 一种对象检测方法、装置、电子设备和存储介质 | |
CN116311295A (zh) | 一种文本识别方法、装置及电子设备 | |
CN114297055A (zh) | 一种基于智能学习的WebUI自动化测试方法 | |
CN116743546A (zh) | 云桌面的故障检测方法、装置、服务器和云桌面系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |