一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种BIOS自动化测试系统及方法与流程

2022-05-18 08:03:33 来源:中国专利 TAG:

一种bios自动化测试系统及方法
技术领域
1.本发明属于计算机固件技术领域,具体涉及一种bios自动化测试系统及方法。


背景技术:

2.bios用于对计算机处理器平台进行初始化和操作系统加载,其基本功能包括,在硬件平台上电后,获得系统控制权,初始化处理器、内存、芯片组等关键部件,枚举外设并为其分配资源,初始化显卡、硬盘、网卡等必要的外设,为操作系统建立运行环境,然后将控制权交给操作系统。
3.目前,计算机cpu处理器多样、机型种类丰富、功能定制各不相同。每台计算机均对应一个专用的bios版本,任何一款机型在出厂之前,必须要经过严格的测试流程,对产品的功能性、安全性、稳定性进行测试,并及时进行修改完善。
4.但是,目前计算机产业链中,在测试方面仍然以主要采用人工手动单项测试。bios界面中的选项众多,存在大量重复性、耗时性工作占据测试人员大部分工作量,造成计算机设备测试工作中耗时长、耗费大、效率相对低下,无法适应当前急剧增长的测试要求。


技术实现要素:

5.有鉴于此,本发明提供了一种bios自动化测试系统及方法,以连续且可复用的方式验证bios测试流程,解决了手工测试效率低下的问题,可缩短bios产品上市时间并提高产品质量。
6.一种bios自动化测试系统,系统能够设计包含bios可执行命令的测试脚本,将测试脚本发送到待测计算机,并自动检测返回的测试结果,判断测试脚本是否成功执行,最终自动生成测试报告;并且,该系统针对同款计算机bios,可以直接重复利用该测试脚本进行测试即可;若针对不同款计算机bios,可以根据bios差异,修改测试脚本后,即可进行测试。
7.进一步地,所述自动化测试系统包括bios运行脚本模块、bios通信模块、bios码流解析模块、bios测试结果分析模块、测试结果存储模块和测试指令库;
8.bios测试脚本通过测试指令库,将bios测试脚本转换为bios可执行的测试命令序列;而后通过bios通信模块,将测试命令序列发送到待测计算机的bios中进行执行,并返回测试结果;bios码流解析模块对返回的测试数据进行解析,并通过测试结果分析模块,确定返回的测试结果是否正确,测试结果由测试结果存储模块进行存储。
9.进一步地,所述bios运行脚本模块用于启动和执行bios自动化测试脚本,根据测试场景需求,执行测试过程。
10.进一步地,所述bios通信模块用于模拟bios通信交互,用于测试主机与被测主机之间进行通信,包括接收bios传输码流信息,和向被测主机发送模拟按键指令操作。
11.进一步地,所述bios码流解析模块用于对接收bios返回的码流信息进行解析,对码流中颜色信息,行列号信息的进行识别,查找并截取码流中的关键信息,转成可视化和可分析的数据。
12.进一步地,所述bios测试结果分析模块用于对解析后的结果数据进行分析,检测其与基准值数据是否一致。
13.进一步地,所述测试结果存储模块用于对测试结果进行保存,输出测试报告。
14.进一步地,所述测试指令库用于存储可用于bios测试的指令合集,将按键名称与对应的asuii码进行映射,例如上下左右方向按键,enter键、三键重启、esc键和f1(bios启动热键)等。
15.一种bios自动化测试方法,该方法实现的步骤包括:
16.前提条件:用户需要通过bios测试脚本编写模块,编写相应的bios自动化测试脚本。
17.步骤一、运行bios测试系统;
18.步骤二、bios测试系统启动bios脚本运行模块,执行编写的bios自动化测试脚本;
19.步骤三、bios测试系统启动bios通信模块,建立与bios的信息交互通道;
20.步骤四、bios测试系统向指令集模块发送热键指令请求,返回指令发送给bios;
21.步骤五、bios进入到配置界面;
22.步骤六、bios测试系统,向指令集模块发送方向键指令请求,返回指令发给bios;
23.步骤七、bios测试系统接收bios返回的界面码流信息;
24.步骤八、bios测试系统调用bios码流解析模块对码流信息进行解析,获取解析后的配置项信息;
25.步骤九、配置项信息与bios配置项比对通过,则bios进入到配置项界面;
26.步骤十、bios测试系统设置配置项,向指令集模块发送键指令请求,发送指令给bios;
27.步骤十一、bios测试系统接收bios返回的界面数据信息;
28.步骤十二、bios测试系统调用bios码流解析模块对码流信息进行解析,获取结果信息;
29.步骤十三、bios测试系统将结果信息为实际值a;
30.步骤十四、bios测试系统向预期配置数据集发送数据请求,返回预期数据设为预期值b;
31.步骤十五、bios测试系统对比实际值a与预期值b的值相符,返回pass;否则返回fail;
32.步骤十六、程序结束。
33.有益效果:
34.1、本发明的方法可以提升bios的测试效率,通过bios脚本运行模块和测试指令库,将人工编写的bios测试脚本,自动转换成bios可执行的命令序列,模拟人工测试中的各项操作,实现了针对计算机的bios自动化测试。由于自动化测试可以24小时不停的执行,替代了重复、耗时的手工bios测试,节省了测试人力。本发明支持并行多台计算机的bios测试,测试人员可以搭建一套bios自动化测试环境,通过bios通信模块,同时向多台被测计算机发送bios自动测试任务,并自动生成测试报告,从而解决传统的手工单人单台测试bios效率低下的问题。
35.2、本发明可以兼容多种处理器平台测试工作。bios自动化测试系统与处理器平台
相互解耦,通过bios通信模块,能够适应不同处理器项目的通信端口差异。
36.3、本发明可减少对辅助测试硬件的依赖,节省物料。bios自动化系统及方法是通过测试指令库的指令,以软件模拟键盘和鼠标操作,所以被测对象不需要接入键盘、鼠标和显示器。
附图说明
37.图1为bios自动化测试系统总体框架图;
38.图2为bios自动化测试方法流程图。
具体实施方式
39.下面结合附图并举实施例,对本发明进行详细描述。
40.如附图1所示,本发明提供了一种bios自动化测试系统,自动化测试系统包括bios运行脚本模块、bios通信模块、bios码流解析模块、bios测试结果分析模块、测试结果存储模块和测试指令库。
41.bios运行脚本模块用于启动bios自动化测试脚本执行的模块,根据测试场景需求,执行测试过程。
42.bios通信模块用于模拟通信交互工具的模块,用于测试主机与被测主机进行通信,包括接收bios传输码流信息,和向被测主机发送模拟按键指令等操作。
43.bios码流解析模块用于对接收bios返回的码流信息进行解析,对码流中颜色信息,行列号信息的进行识别,查找并截取码流中的关键信息,转成可视化和可分析的数据。
44.bios测试结果分析模块用于对解析后的结果数据进行分析,检测其与基准值数据是否一致。
45.测试结果存储模块用于对测试结果进行保存,输出测试报告。
46.测试指令库用于存储可用于bios测试的指令合集,将按键名称与对应的ascii码进行映射,例如上下左右方向按键,enter键、三键重启、esc键和f1(bios启动热键)等。
47.如附图2所示,以测试bios的“启动顺序”为例,本发明的bios自动化测试方法实现步骤如下:
48.前提条件:用户需要通过bios测试脚本编写模块,编写bios“启动顺序”的bios自动化测试脚本。
49.步骤一、运行bios测试系统;
50.步骤二、bios测试系统启动bios脚本运行模块,执行编写完成的“bios启动顺序”的自动化测试脚本;
51.步骤三、bios测试系统启动bios通信模块,设置通信端口号,建立与bios的信息交互通道;
52.步骤四、bios测试系统调用函数poststage(),在被测主机启动过程中,连续读取串口接收到的码流信息,在码流中出现界面热键关键字时,向指令集模块发送热键(f1键)指令请求,返回的热键指令发送给bios,驱动bios继续启动;
53.步骤五、bios测试系统在接收bios启动过程中的码流信息中,捕捉到bios界面关键字信息,判定bios进入到配置界面;
54.步骤六、bios测试系统调用进入菜单函数menu(),在bios配置界面一级菜单切换时,当前菜单的字体背景颜色是白色,其他菜单的字体颜色是蓝色;二级菜单切换时,当前菜单的字体背景颜色是黑色,其他菜单字体背景色是白色,以此作为判断点,向指令集模块发送指令序列请求,返回包括方向右键(

)、下键(

)和enter键指令发送给bios,驱动bios切换一级和二级菜单;
55.步骤七、bios测试系统接收bios返回的界面码流信息;
56.步骤八、bios测试系统调用bios码流解析模块对码流信息进行解析,获取解析后的配置项信息。
57.步骤九、配置项信息与bios配置项比对通过,则bios进入到启动项配置界面;
58.步骤十、bios测试系统调用函数bootalloptions(),对接收bios返回的界面码流信息,使用编程语言中的正则表达式,截取bios界面光标所在位置的码流信息,再次使用正则表达式,替换掉码流信息中的表示字体、背景色、亮度和界面行列号等信息,将处理后码流信息转为人可识别的字符串,字符串存储在编程语言中定义的列表中。向指令集模块发送方向下键(

)请求,返回的指令发送给bios,接收bios返回的码流信息,重复上面的处理流程,直到接收的码流信息,与发送方向下键(

)指令之前相同时,退出处理流程;
59.步骤十一、bios测试系统获取bootalloptions()执行完返回的列表信息;
60.步骤十二、列表信息表示启动项,当前启动顺序为“硬盘、网络、光盘、u盘”:
61.步骤十三、bios测试系统向预期配置数据集发送数据请求,返回预期数据设为预期值“网络、光盘、u盘、硬盘”。
62.步骤十四、经对比判断启动项当前值与预期值不相符,发送更改启动顺序的指令序列,包括“上下左右移动”、“回车”、“保存配置”等操作,代码如下:
63.步骤十五,完成保存后,再次进入“启动项配置界面”,收到bios的码流信息。
64.步骤十六、经过bios测试系统解析提取,判断为目前的启动项的启动顺序为“网络、光盘、u盘、硬盘”,与预期值一致,启动顺序界面测试通过。
65.步骤十七、程序结束。
66.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献