一种基于锁减少集群文件系统灰盒测试时间的方法

xiaoxiao2021-3-1  216

一种基于锁减少集群文件系统灰盒测试时间的方法
【技术领域】
[0001]本发明涉及集群文件系统的灰盒测试技术,尤其涉及一种基于锁减少集群文件系统灰盒测试时间的方法。
【背景技术】
[0002]灰盒测试是软件开发过程中的一个重要过程,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑。灰盒测试是指通过构造该组件的输入,调用软件某个模块或组件的接口,在测试过程中校验该组件的表征现象以及输出结果等,达到对该组件的内部逻辑正确性测试。集群文件系统是一个基于消息驱动的软件系统,各个组件在经过初始化后,都基于消息来驱动组件运行。当前的灰盒测试方法是构造组件所需要的消息,发送消息给相应的组件后,进入循环等待,由于不知道该消息在组件中具体执行的时间,都尽量设置较长的等待时间。这样就会存在灰盒测试时间较长,且由于受环境以及代码修改的影响导致消息执行时间超过设置的等待时间,灰盒测试用例不适用问题。

【发明内容】

[0003]为了解决以上技术问题,本发明提出了一种基于锁减少集群文件系统灰盒测试时间的方法。
[0004]本发明的技术方案是:
一种基于锁减少集群文件系统灰盒测试时间的方法,在集群文件系统的每个组件中添加一个锁,当本组件接收到消息后获取锁,在本组件处理完该消息后再释放该锁,灰盒测试代码在发送构造的消息后获取锁,由于组件已经占用锁,获取不到,等待锁被释放后再继续执行,待组件处理完消息释放锁,灰盒测试代码继续执行,减少了无用的等待时间,缩短一次灰盒测试执行的时间,且提高了灰盒测试稳定性。
[0005]具体包括以下几个步骤:
步骤1、通过宏定义的方式在每个组件中添加锁。
[0006]步骤2、组件在接收到灰盒测试代码发送的消息后,先获取该锁,然后再处理消息。
[0007]步骤3、灰盒测试代码在发送构造消息到灰盒测试代码后获取锁,由于锁被组件占用,无法获取进入等待状态,等待锁释放。
[0008]步骤4、组件处理完消息后,释放锁。
[0009]步骤5、灰盒测试代码获得锁后,释放锁,继续测试下一个测试用例。
[0010]本发明的一种基于锁减少集群文件系统灰盒测试时间的方法的技术方案,通过在组件中添加锁的方式,在组件和灰盒测试代码之间建立一个事件通知机制,从而减少测试过程中的等待时间,并增加了灰盒测试用例的适用性,提高了测试效率。
【附图说明】
[0011]附图1是本发明的测试流程图。
【具体实施方式】
[0012]下面对本发明的内容进行更加详细的阐述:
本发明在每个组件中添加一个只在灰盒测试时使用的锁,通过该锁在灰盒测试代码和组件之间建立一个事件通知机制,当组件处理完该消息后,通过该锁事件告知灰盒测试代码消息处理完毕,灰盒测试代码可以立即继续执行,从而减少等待时间,也可以避免由于修改组件内部代码造成消息处理时间变长时,灰盒测试用例不适用的问题。
[0013]具体通过以下几个步骤完成:
步骤1、通过宏定义的方式在每个组件中添加锁。
[0014]步骤2、组件在接收到灰盒测试代码发送的消息后,先获取该锁,然后再处理消息。
[0015]步骤3、灰盒测试代码在发送构造消息到灰盒测试代码后获取锁,由于锁被组件占用,无法获取进入等待状态,等待锁释放。
[0016]步骤4、组件处理完消息后,释放锁。
[0017]步骤5、灰盒测试代码获得锁后,释放锁,继续测试下一个测试用例。
[0018]如图1所示,表示了本发明提供的一种基于锁减少集群文件系统灰盒测试时间的测试流程图:对于一次具体集群文件系统组件Μ0Ν的灰盒测试,需要经过以下几个步骤:a)灰盒代码构造MON组件可能需要的消息“包括正确和错误消息”,b)M0N组件在接收到消息后首先获取锁,然后再执行消息处理,c)灰盒代码获取锁无法获取到,进入等待状态,d)M0N组件消息处理完毕后,释放锁,e)灰盒代码获取锁后直接释放锁,f)灰盒代码继续测试下一个测试用例。
【主权项】
1.一种基于锁减少集群文件系统灰盒测试时间的方法,其特征在于, 在集群文件系统的每个组件中添加一个锁,当本组件接收到消息后获取锁,在本组件处理完该消息后再释放该锁,灰盒测试代码在发送构造的消息后获取锁,由于组件已经占用锁,获取不到,等待锁被释放后再继续执行,待组件处理完消息释放锁,灰盒测试代码继续执行。2.根据权利要求1所述一种基于锁减少集群文件系统灰盒测试时间的方法,其特征在于: 具体包括以下几个步骤: 步骤1、通过宏定义的方式在每个组件中添加锁; 步骤2、组件在接收到灰盒测试代码发送的消息后,先获取该锁,然后再处理消息; 步骤3、灰盒测试代码在发送构造消息到灰盒测试代码后获取锁,由于锁被组件占用,无法获取进入等待状态,等待锁释放; 步骤4、组件处理完消息后,释放锁; 步骤5、灰盒测试代码获得锁后,释放锁,继续测试下一个测试用例。3.根据权利要求1所述一种基于锁减少集群文件系统灰盒测试时间的方法,其特征在于,过宏定义的方法使该锁只在进行灰盒测试时使用。
【专利摘要】本发明提供一种基于锁减少集群文件系统灰盒测试时间的方法,涉及集群文件系统的灰盒测试领域,本发明在集群文件系统的每个组件中添加一个锁,当本组件接收到消息后获取锁,在本组件处理完该消息后再释放该锁,灰盒测试代码在发送构造的消息后获取锁,由于组件已经占用锁,获取不到,等待锁被释放后再继续执行,待组件处理完消息释放锁,灰盒测试代码继续执行,减少了无用的等待时间,缩短一次灰盒测试执行的时间,且提高了灰盒测试稳定性。
【IPC分类】G06F11/36
【公开号】CN105487976
【申请号】CN201510856451
【发明人】王志华, 吴丙涛, 徐艳秋
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日

最新回复(0)