家用和类似用途电器软件评估黑盒测试系统的测试方法
【技术领域】
[0001]本发明属于计算机软件评估技术领域,特别涉及一种家用和类似用途电器软件评估黑盒测试系统的测试方法。
【背景技术】
[0002]根据现行的软件评估标准要求,目前检测机构针对安全软件评估测试普遍采用白盒测试的方式,白盒测试是一种把测试数据引入到程序的系统测试方法,即对控制器的组件如寄存器、时钟、贮存器、输入输出外围等进行考核、检测。目前软件测试采用白盒测试方式主要存在如下缺点:
[0003]1、由于不同的家电产品可能采用不同的控制器,相同的家电产品可能采用不同控制器,同一种控制器也可能使用不同的语言编写软件软件,因此软件评估的可重复性差,每次评估都相当于量身定制,浪费大量的时间、人力和物力,这是企业和检测机构都难以承受的。
[0004]此外,部分企业的控制器是在国外研发生产,从评估过程来说,如果软件安全测试全部采用白盒测试,往往需要安排在国外的软件开发人员进行测试,测试成本非常高。
[0005]2、白盒测试要求企业提供核心源程序代码和核心资料,才能让检测人员对源程序进行动态和静态检查测试并考核相关措施软件是否起作用。而这种做法由于存在可能给企业带来核心软件和技术泄密的潜在风险,而让企业非常顾虑和担心,以至于企业和检测机构之间难以配合。
[0006]3、软件评估工作需要的专业人员,但是软件控制是微观的行为,其软件逻辑存在多种多样的组合,其程序功能和硬件机构紧密集合,也千差万别,还要考虑到控制器的组件的工作情况,如寄存器、时钟、贮存器、输入输出外围是否会发生故障,会发生什么故障。因此对软件的分析、设置和检查是一件很困难和复杂的工作。这就需要专业的系统工程师、硬件工程师和软件工程师,但是即使再专业,对于整个测试过程中,毕竟是用人为的方式来检查,也不能保证所有的软件都符合标准的要求,所提供的措施方法都很恰当、合适、有效。
[0007]4、家电软件评估涉及的标准多而且复杂,包括电气、电子、软件,既包括家电的整机安全标准,也包括零部件标准;既要通用标准要求,也要考虑特殊标准要求。这么多标准中,绝大多数只有要求没有方法,这给检查人员在检查过程中使用的测试方式以及测试结果的判定造成一定的难度。也可能会造成不同的检查人员,会有不同的理解,会造成不同的判定结果,可能会给企业带来不必要的麻烦。
【发明内容】
[0008]本发明的目的是为了克服上述现有技术的不足,提供了一种家用和类似用途电器软件评估黑盒测试系统的测试方法,本测试系统的测试方法不需要企业提供相应的源程序代码,杜绝了软件泄密的风险,安全性好。
[0009]为实现上述目的,本发明采用了以下技术措施:
[0010]一种家用和类似用途电器软件评估黑盒测试系统的测试方法,黑盒测试系统包括计算机测试单元、辅助测试单元以及被检测控制器单元,计算机测试单元和被检测控制器单元之间通过仿真器双向通信连接,所述计算机测试单元和辅助测试单元之间双向通信连接,所述辅助测试单元和被检测控制器单元之间双向通信连接;
[0011 ]优选的,所述计算机测试单元包括如下组成部分:
[0012]测试控制装置,用于接收被检测控制器单元运行所需要的机器码程序,还用于接收自输入输出装置输入的试错数据信息,测试控制装置将接收到的所述机器码程序依次通过数据及故障输入装置、仿真器通讯装置、仿真器传送至被检测控制器单元中的被检测控制器中,测试控制装置并将接收到的试错数据信息存储至数据存储装置中;所述测试控制装置还与辅助测试通讯装置均构成双向通信连接;
[0013]数据及故障输入装置,接收测试控制装置发送来的试错数据信息,并将试错数据信息发送至仿真器通讯装置,同时将仿真器通讯装置传送来的试错反馈数据信息发送至测试控制装置;
[0014]数据存储装置,与测试控制装置双向通信连接,用于存储自测试控制装置发送来的试错数据信息和试错反馈数据信息;
[0015]辅助测试通讯装置,与辅助测试单元双向通信连接,用于在测试控制装置和辅助测试单元之间传输信息;
[0016]仿真器通讯装置,与仿真器双向通信连接,用于在数据及故障输入装置和仿真器之间传输信息;
[0017]输入输出装置,用于向测试控制装置中输入试错数据信息,并接收测试控制装置传输来的试错反馈数据信息。
[0018]所述辅助测试单元包括如下组成部分:
[0019]辅助测试微处理器,与所述辅助测试通讯装置双向通信连接,用于接收测试控制装置通过辅助测试通讯装置发送来的指令和数据信息,并将收到的指令和数据信息转送至被检测控制器单元;所述辅助测试微处理器还将收到的被检测控制器单元的硬件状态信息和处理数据经辅助测试通讯装置发送至测试控制装置;
[0020]输出控制电路,其输入端与所述辅助测试微处理器的输出端相连,输出端与被检测控制器单元的输入端相连,用于向被检测控制器单元转送自测试控制装置发来的指令和数据信息;
[0021]输入捕捉电路,其输入端与所述被检测控制器单元的输出端相连,输出端与辅助测试微处理器的输入端相连,用于将收到的被检测控制器单元的硬件状态信息和处理数据经辅助测试通讯装置发送至测试控制装置;
[0022]通信控制电路,与辅助测试微处理器之间双向通信连接,所述通信控制电路的信号输出端连接被检测控制器单元的信号输入端。
[0023]所述被检测控制器单元包括如下组成部分:
[0024]被检测控制器,与仿真器双向通信连接,被检测控制器的输入端还与输入电路的输出端相连,被检测控制器的输出端与输出电路的输入端相连;用于贮存所述机器码程序并按照机器码程序设定的程序运行;
[0025]输入电路,其输入端与所述输出控制电路的输出端相连,用于接收电路异常信息;
[0026]输出电路,其输出端与所述输入捕捉电路的输入端相连,用于接收并转发收到的被检测控制器单元的硬件状态信息。
[0027]本测试方法的软件植入故障测试流程如下:
[0028]S1、利用测试控制装置,首先下载需要测试的机器码程序,然后将机器码程序依次通过数据及故障输入装置、仿真器通讯装置、仿真器传送并贮存在被检测控制器单元中的被检测控制器中;
[0029]S2、利用输入输出装置选择机器码程序的待检测软件项目,然后在待检测软件项目中输入检测措施程序入口地址、保护措施程序入口地址、待检测软件项目的起止地址和试错数据信息,上述输入信息通过测试控制装置保存在所述数据存储装置中;
[0030]S3、运行被检测控制器中的机器码程序,同时测试控制装置依次通过数据及故障输入装置、仿真器通讯装置、仿真器监视并控制机器码程序的运行,当机器码程序运行到检测措施程序的入口地址时,测试控制装置将数据存储装置中的试错数据信息依次通过数据及故障输入装置、仿真器通讯装置、仿真器按照所述待检测软件项目的起止地址写入被检测控制器的待检测软件项目中,测试控制装置记录被检测控制器在写入试错数据信息之前以及写入试错数据信息之后的整个运行过程中的运行信息;
[0031]S4、所述测试控制装置根据所述运行信息,判断被检测控制器的工作过程是否符合设定程序;
[0032]S5、所述测试控制装置将所述运行信息和判断结果通过输入输出装置导出形成测τ式 τ?? 5? ο
[0033]优选的,所述被检测控制器单元还包括通信控制器,所述被检测控制器的信号输出端与所述通信控制器的信号输入端连接,所述被检测控制器的信号输入端连接通信控制电路的信号输出端,所述通信控制器的信号输出端连接通信控制电路的信号输入端。
[0034]优选的,步骤S3中,当机器码程序运行到检测措施程序的入口时,测试控制装置控制机器码程序单步运行,即机器码程序每运行一步,测试控制装置均将数据存储装置中的试错数据信息按照所述待检测软件项目的起止地址写入被检测控制器的待检测软件项目中,确保写入的试错数据信息在检测措施程序进行比较判定前不会被修改,直至机器码程序运行跳转至保护措施程序或者机器码程序运行至检测措施程序的出口。
[0035]进一步的,步骤S3中,所述机器码程序循环运行,在每个循环运行周期中,当机器码程序运行到检测措施程序的入口时,测试控制装置均控制机器码程序单步运行。
[0036]本测试方法的硬件植入故障测试流程如下:
[0037]S1、利用测试控制装置,首先下载需要测试的机器码程序,然后将机器码程序依次通过数据及故障输入装置、仿真器通讯装置、仿真器传送并贮存在被检测控制器单元中的被检测控制器中;
[0038]S2、利用输入输出装置选择机器码程序的待检测硬件项目,所述待检测硬件项目至少包括数字I/O检测项目,在数字I/O检测项目中输入