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

验证系统及用于验证系统的验证方法与流程

2022-03-31 06:21:41 来源:中国专利 TAG:


1.本发明申请是关于软件验证,特别是一种软件验证的验证系统及用于验证系统的验证方法。


背景技术:

2.软件验证为软件工程中用于确保程序代码质量及功能的程序。软件开发者在完成程序代码后需要提交程序代码就各种不同的验证种类撰写对应的测试程序代码及/或处理编译程序参数。诸如程序代码格式验证、程序代码质量验证、编译验证、基本功能验证等各种不同的验证种类往往需要以人工方式单独个别检验,也需要在多个套件中手动执行与设定,造成验证效率低落。


技术实现要素:

3.本发明申请提供了一种验证方法,用于验证系统。该验证系统包含本地服务器、多个验证平台及主服务器。该验证方法包含本地服务器接收程序代码以将程序代码编译为验证映像文件,本地服务器依据程序代码的类型从该多个验证平台中选定验证平台,本地服务器将验证映像文件写入选定的验证平台,选定的验证平台对验证映像文件进行一组测试以产生验证报告,及主服务器依据验证报告产生更新的映像文件。
4.本发明实施例提供一种验证系统,包含本地服务器、多个验证平台及主服务器。该多个验证平台中的一个验证平台用来对验证映像文件进行一组测试以产生验证报告。本地服务器耦接于该多个验证平台,用以接收程序代码以将程序代码编译为验证映像文件,依据程序代码的类型从该多个验证平台中选定该验证平台,及将验证映像文件写入该验证平台。主服务器耦接于该多个验证平台,用来依据验证报告产生更新的映像文件。
附图说明
图1为本发明实施例中的一种验证系统的方块图。图2为图1中的验证平台的方块图。图3为图1中的本地服务器的一种实施例的方块图。图4为图1中的本地服务器的另一种实施例的方块图。图5为适用于图1中的验证系统的一种验证方法的流程图。图6为适用于图1中的验证系统的另一种验证方法的流程图。
5.符号说明:11:验证系统10:本地服务器121~12n、12n:验证平台14:主服务器16:程序代码
18:更新的映像文件20:非挥发性内存22:控制器20:输入输出装置100:静态分析工具102:编译器104:平台分配工具106:编程工具500、600:验证方法s502~s510、s602~s616:步骤
具体实施方式
6.下文将结合附图对实施例进行详细说明,但所描述的具体实施例仅用以解释本发明,并不用来限定本发明申请,而操作的描述并非用以限制其执行的顺序,任何重新组合,所产生具有同等功效的方法或系统,都属于本发明申请内容所涵盖的范围。
7.图1为本发明实施例中的一种验证系统1的方块图。验证系统1为可扩充的自动化软件验证系统,可依据程序代码16的类型选择合适的验证平台预先对程序代码16进行验证,在验证通过后才将程序代码16整合入其他验证通过的程序代码而产生更新的映像文件18。若程序代码16未通过验证,验证系统1则可通知程序代码16的提交者及项目负责人。程序代码16可为底层或上层的软件修正(patch)文件,例如驱动程序的修正文件或安卓应用程序套件(android application package,apk)的修正檔。更新的映像文件18可为执行文件。验证系统1可包含多个验证平台,及针对每个类型的程序代码16分配多个验证平台,进而实现多管线化及多测试任务的验证,提供有效率的测试任务分发及验证平台管理。
8.验证系统1可包含本地服务器10、多个验证平台121~12n及主服务器14,其中n为大于2的整数,用以表示接续于数字12后的下一位数字,但应理解其仅是示例,并非用以限制验证平台的数量。本地服务器10耦接于验证平台121~12n,接着验证平台121~12n耦接于主服务器14。
9.验证平台121~12n中的每个验证平台可针对各自验证类型的一组测试预先设置验证环境,其中验证类型可与应用及/或协议层级相关。举例而言,验证类型可为电视应用的底层功能验证,例如安卓核心码(kernel code)的功能验证,验证类型也可为电视应用的上层功能验证,例如安卓服务程序(service code)的功能验证,验证类型也可为无线网络应用的底层功能验证,例如无线网络驱动程序的功能验证。验证环境可包含参数、软件及硬件,例如用于电视应用的测试的参数、软件及硬件。图2显示验证平台12n的方块图,n为小于或等于n的正整数(即n=1,2,3,

,n)。验证平台12n可为嵌入式系统,包含非挥发性内存20、控制器22及输入输出装置24。非挥发性内存20可为嵌入式多媒体卡(embedded multimedia card,emmc)。控制器22可为处理器、现场可程序化逻辑门阵列(field-programmable gate array,fpga)、特殊应用集成电路(application-specific integrated circuit,asic)、或其中一种结合。每个验证平台12n的各自的输入输出装置24可相同或不同,例如验证平台121的输入输出装置24可为电视选道器(television tuner),
验证平台122的输入输出装置24可为无线网络收发器,及验证平台12n的输入输出装置24可为其他进行验证类型的一组测试时使用的特定输入/输出装置。非挥发性内存20可储存验证映像文件、测试参数及测试软件。控制器22可于开机后从非挥发性内存20加载验证映像文件、测试参数及测试软件,依据测试参数及测试软件控制输入输出装置24以对验证映像文件进行一组测试而产生验证报告。验证平台121至12n可依据实际需求扩充。
10.用户可通过本地服务器10的用户接口软件提交程序代码16至本地服务器10。本地服务器10可接收程序代码16及从验证平台121至12n中选出至少一个验证平台以验证程序代码16的功能。图3为本地服务器10的一种实施例的方块图。本地服务器10可包含编译器102、平台分配工具104及编程工具106。编译器102可依据程序代码16的程序语言种类将程序代码16编译为验证映像文件,验证映像文件可为执行文件。编译器102可为gnu编译程序集合或其他程序语言编译程序。平台分配工具104可依据程序代码16的类型从验证平台121至12n中选定验证平台。程序代码16的类型可与应用及/或协议层级相关。举例而言,当程序代码16为安卓核心码时,其类型可为电视应用的底层;当程序代码16为安卓服务程序时,其类型可为电视应用的上层;当程序代码16为无线网络驱动程序时,其类型可为无线网络应用的底层。在一些实施例中,程序代码16的类型可记录于程序代码16的批注中。在另一些实施例中,可在使用者将程序代码16上传至本地服务器10时,同时由使用者将程序代码16的类型输入至本地服务器10的用户接口软件。在一些实施例中,平台分配工具104可依据程序代码16的类型及验证平台121至12n的对应验证类型选定验证平台。举例而言,平台分配工具104可将程序代码16的类型与验证平台121至12n的对应验证类型进行匹配,当程序代码16的类型与验证平台12p的对应验证类型相同时,平台分配工具104可选定验证平台12p作为验证平台,p为小于或等于n的正整数。在另一些实施例中,平台分配工具104可依据程序代码16的类型、验证平台121至12n的对应验证类型、及验证平台121至12n的对应排程选定验证平台。举例而言,平台分配工具104可将程序代码16的类型与验证平台121至12n的对应验证类型进行匹配,当程序代码16的类型与验证平台12p及12q的对应验证类型相同时,平台分配工具104可从验证平台12p及12q中选定其对应排程较有弹性或较空闲的一者,例如验证平台12p作为选定的验证平台,q为小于或等于n的正整数且q不等于p。编程工具106可从编译器102获得验证映像文件,及将验证映像文件写入选定的验证平台。平台分配工具104及编程工具106可由软件、硬件或其结合实现。
11.选定的验证平台可对验证映像文件进行其验证类型的一组测试以产生验证报告,及将验证报告写入主服务器14中的数据库。举例而言,当验证类型为电视应用时,验证类型的一组测试可包含特定国家的电视扫台测试、特定国家的电视切台测试、画面质量测试、开机测试、操作环境测试、电视服务测试及其他测试,验证报告可包含前述测试的个别测试结果。在一些实施例中,本地服务器10也可将编译结果写入主服务器14的数据库中的验证报告。在一些实施例中,主服务器14可针对程序代码16依据数据库中的验证报告计算验证评分。当程序代码16编译通过或该组测试中每个测试通过时,主服务器14可增加验证评分,及验证系统1可继续后续程序;当程序代码16编译失败或该组测试中每个测试失败时,主服务器14可减少验证评分,验证系统1可停止后续程序,及通知程序代码16的提交者及项目负责人进行确认。例如,若程序代码16编译成功时,主服务器14可将验证评分增加1分(此处分数仅是举例,不以此为限,此后实施例也一样),本地服务器10及选定的验证平台可继续后续
的验证平台选定程序及测试程序;若程序代码16编译失败时,主服务器14可将验证评分减少1分,本地服务器10可停止后续的验证平台选定程序及测试程序。本地服务器10可从主服务器14读取验证报告或验证评分,当验证报告显示所有测试都通过或验证评分为满分时,本地服务器10可将程序代码16更新至主服务器14,且主服务器14可依据程序代码16产生更新的映像文件18;当验证报告显示一个或多个测试未通过或验证评分未达满分时,本地服务器10可不将程序代码16更新至主服务器14及通知程序代码16的提交者及项目负责人进行确认,且主服务器14可依据先前通过该组测试的程序代码产生更新的映像文件18。主服务器14上可储存有多个验证通过的程序代码,每个验证通过的程序代码可与相同或不同的应用或协议层级相关。在一些实施例中,当该验证报告显示程序代码16通过该组测试时,该主服务器可依据程序代码16及其他验证过的程序代码产生更新的映像文件18。其他验证过的程序代码及程序代码16可与不同的应用或协议层级相关。
12.图4为本地服务器10的另一种实施例的方块图。图4及图3的本地服务器10的差异在于图4的本地服务器10另包含静态分析工具100,以下针对静态分析工具100进行解释。静态分析工具100可接收程序代码16以在编译程序代码16之前判定程序代码16是否符合一组编程规则,进而确保程序代码16的程序代码质量。举例而言,该组编程规则可包含程序语言批注(comment)规则、内存漏失、未使用的变量、未使用的函数、出界的(out-of-bound)变量、c语言语法规则、java语言语法规则、其他程序语言语法规则、程序撰写风格(coding style)规则及其他可扩充编程规则。编程规则可依据实际需求扩充。静态分析工具100可将每个编程规则之判定结果写入主服务器14的数据库当中的验证报告。当程序代码16符合该组编程规则之每条规则时,主服务器14可增加验证评分,及验证系统1可继续后续程序;当程序代码16不符合该组编程规则之每条规则时,主服务器14可减少验证评分,验证系统1可停止后续程序,及通知程序代码16之提交者及项目负责人进行确认。例如,若程序代码16符合程序语言的批注规则,则主服务器14可将验证评分增加1分,及编译器102可继续将程序代码16编译为验证映像文件;若程序代码16不符合程序语言的批注规则,则主服务器14可将验证评分减少1分,及编译器102可停止将程序代码16编译为验证映像文件。静态分析工具100可由软件、硬件或其结合实现。
13.验证系统1依据程序代码16的类型分配相应验证平台以进行不同的测试,实现多管线化及多测试任务的验证,提供有效率的测试任务分发及验证平台管理。另外,验证系统1可通过本地服务器10的静态分析工具100另进行编程规则的验证程序,进一步确保程序代码16的程序代码质量。
14.图5为适用于验证系统1的一种验证方法500的流程图。验证方法500包含步骤s502至s510,用以依据程序代码16的类型选定验证平台以进行相应验证而产生验证报告,及依据验证报告产生更新的映像文件18。任何合理的技术变更或是步骤调整都属于本发明所揭露的范畴。步骤s502至s510的详细内容如下所述:
15.步骤s502:本地服务器10接收程序代码16以将程序代码16编译为验证映像文件;
16.步骤s504:本地服务器10依据程序代码16的类型从该多个验证平台121至12n中选定验证平台;
17.步骤s506:本地服务器10将验证映像文件写入选定的验证平台;
18.步骤s508:选定的验证平台12n对验证映像文件进行一组测试以产生验证报告;
19.步骤s510:主服务器14依据验证报告产生更新的映像文件18。
20.步骤s502至s510的细节已在前述段落中描述,在此不再赘述。验证方法500依据程序代码16的各种类型分配相应验证平台以进行不同的测试,实现多管线化及多测试任务的验证,提供有效率的测试任务分发及验证平台管理。
21.图6为适用于验证系统1的另一种验证方法600的流程图。验证方法600包含步骤s602至s616,其中步骤s602及s604用以在程序代码16编译为验证映像文件前确认程序代码16是否符合编程规则;步骤s606至s616用以将程序代码16编译为验证映像文件,依据程序代码16的类型选定验证平台以对验证映像文件进行验证而产生验证报告,及依据验证报告产生更新的映像文件18。任何合理的技术变更或是步骤调整都属于本发明所揭露的范畴。步骤s602至s616的详细内容如下所述:
22.步骤s602:本地服务器10接收程序代码16;
23.步骤s604:程序代码16是否符合至少一组编程规则?若是,继续步骤s606;若否,结束验证方法600;
24.步骤s606:本地服务器10将程序代码16编译为验证映像文件;
25.步骤s608:本地服务器10依据程序代码16的类型从该多个验证平台121至12n中选定验证平台;
26.步骤s610:本地服务器10将验证映像文件写入选定的验证平台;
27.步骤s612:选定的验证平台对验证映像文件进行一组测试以产生验证报告;
28.步骤s614:验证报告显示验证映像文件通过该组测试?若是,继续步骤s616;若否,结束验证方法600;
29.步骤s616:主服务器14依据程序代码16及其他验证过的程序代码产生更新的映像文件。
30.步骤s602至s616的细节已在前述段落中描述,在此不再赘述。验证方法600整合程序代码16编译前的编程规则的验证程序及编译后的验证平台的验证程序,确保程序代码16的程序代码质量及功能,同时实现多管线化及多测试任务的验证,提供有效率的测试任务分发及验证平台管理。
31.虽然本发明申请内容已通过具体实施方式公开如上,但是其并非用以限定本发明申请内容,本领域普通技术人员在不脱离本发明申请内容的构思和范围,应当可作各种修改或调整,因此本发明申请内容的保护范围当视权利要求书所界定的范围为准。
再多了解一些

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

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

相关文献