软件稳定性测试方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件测试技术领域,特别是涉及软件稳定性测试方法及装置。
【背景技术】
[0002]在软件发布之前,通常会进行软件测试,其中,软件稳定性测试是其中一种较为普遍的测试。
[0003]现有技术中,软件稳定性测试方法包括纯随机测试方法和自动化用例顺序执行方法。其中,所谓的纯随机测试方法为:随机地向作为测试对象的软件发各种键盘及鼠标消息而无论软件是否对这些消息响应,这种测试绝大部分的键盘及鼠标消息都被自动忽略了,稳定性测试的有效率是极低的;而所谓的自动化用例顺序执行方法为:将测试用例按固有顺序一遍遍执行,这种情况软件可以响应绝大部分的自动化操作,但是由于测试用例的执行是固定的,所以能暴露的问题也是很有限的。
【发明内容】
[0004]本发明实施例的目的在于提供软件稳定性测试方法及装置,以提高软件稳定性测试的有效率。具体技术方案如下:
[0005]第一方面,本发明实施例提供了一种软件稳定性测试方法,包括:
[0006]判断是否达到当前测试周期的测试启动时刻;
[0007]当判断出达到当前测试周期的测试启动时刻时,获得至少一个随机标识,将预先构建的测试用例集合中用例标识与所获得随机标识相同的测试用例,确定为当前测试周期内的待测试的目标测试用例,针对待测试软件执行所确定出的目标测试用例,并确定所述目标测试用例所对应的执行结果,其中,所述测试用例集合中包括与所述待测试软件相关的多个测试用例,每一测试用例唯一对应一个用例标识;
[0008]当检测到预定测试结束条件被满足时,根据已执行的各个目标测试用例的执行结果,确定所述待测试软件的稳定性。
[0009]可选的,所述针对待测试软件执行所确定出的目标测试用例,包括:
[0010]依次将每一目标测试用例作为当前待执行的目标测试用例;
[0011]在确定出每一当前待执行的目标测试用例后,判断当前待执行的目标测试用例所对应的执行条件是否被满足,如果是,针对所述待测试软件执行当前待执行的目标测试用例;如果否,执行当前待执行的目标测试用例所对应的预定操作,并在所述预定操作执行完毕后,针对所述待测试软件执行当前待执行的目标测试用例;
[0012]其中,当前待执行的目标测试用例所对应的预定操作为:通过被执行使得当前待执行的目标测试用例所对应的执行条件被满足的操作。
[0013]可选的,所述针对待测试软件执行所确定出的目标测试用例,包括:
[0014]依次将每一目标测试用例作为当前待执行的目标测试用例;
[0015]在确定出每一当前待执行的目标测试用例后,判断当前待执行的目标测试用例所对应的执行条件是否被满足,如果是,针对所述待测试软件执行当前待执行的目标测试用例;如果否,跳过所述当前待执行的目标测试用例的执行。
[0016]可选的,所述获得至少一个随机标识,包括:
[0017]利用预定随机标识生成函数,生成至少一个随机标识。
[0018]可选的,所述获得至少一个随机标识,包括:
[0019]从预先构建的数字集合中,随机选择至少一个随机标识。
[0020]可选的,所述预定测试结束条件包括:
[0021]预先设定的测试周期均结束,或者,执行目标测试用例的次数达到预定次数阈值。
[0022]可选的,所述预定测试结束条件包括:
[0023]接收到用户发出的测试结束指令。
[0024]第二方面,本发明实施例还提供了一种软件稳定性测试装置,包括:
[0025]判断模块、稳定性测试模块和稳定性确定模块,其中,所述稳定性测试模块包括:随机标识获得子模块、用例确定子模块、用例执行子模块和执行结果确定子模块;
[0026]其中,所述判断模块,用于判断是否达当前测试周期的测试启动时刻;
[0027]所述随机标识获得子模块,用于当判断出达到当前测试周期的测试启动时刻时,获得至少一个随机标识;
[0028]所述用例确定子模块,用于将预先构建的测试用例集合中用例标识与所获得随机标识相同的测试用例,确定为当前测试周期内的待测试的目标测试用例,其中,所述测试用例集合中包括与待测试软件相关的多个测试用例,每一测试用例唯一对应一个用例标识;
[0029]所述用例执行子模块,用于针对所述待测试软件执行所确定出的目标测试用例;
[0030]所述执行结果确定子模块,用于确定所述目标测试用例所对应的执行结果;
[0031]所述稳定性确定模块,用于当检测到预定测试结束条件被满足时,根据已执行的各个目标测试用例的执行结果,确定所述待测试软件的稳定性。
[0032]可选的,所述用例执行子模块包括:
[0033]第一用例执行单元,用于依次将每一目标测试用例作为当前待执行的目标测试用例;在确定出每一当前待执行的目标测试用例后,判断当前待执行的目标测试用例所对应的执行条件是否被满足,如果是,针对所述待测试软件执行当前待执行的目标测试用例;如果否,执行当前待执行的目标测试用例所对应的预定操作,并在所述预定操作执行完毕后,针对所述待测试软件执行当前待执行的目标测试用例;
[0034]其中,当前待执行的目标测试用例所对应的预定操作为:通过被执行使得当前待执行的目标测试用例所对应的执行条件被满足的操作。
[0035]可选的,所述用例执行子模块包括:
[0036]第二用例执行单元,用于依次将每一目标测试用例作为当前待执行的目标测试用例;在确定出每一当前待执行的目标测试用例后,判断当前待执行的目标测试用例所对应的执行条件是否被满足,如果是,针对所述待测试软件执行当前待执行的目标测试用例;如果否,跳过所述当前待执行的目标测试用例的执行。
[0037]可选的,所述随机标识获得子模块包括:
[0038]第一随机标识获得单元,用于当判断出达到关于软件的预定测试时段的触发时刻时,利用预定随机标识生成函数,生成至少一个随机标识。
[0039]可选的,所述随机标识获得子模块包括:
[0040]第二随机标识获得单元,用于当判断出达到关于软件的预定测试时段的触发时刻时,从预先构建的数字集合中,随机选择至少一个随机标识。
[0041]可选的,所述稳定性确定模块所检测的预定测试结束条件包括:
[0042]预先设定的测试周期均结束,或者,执行目标测试用例的次数达到预定次数阈值。
[0043]可选的,所述稳定性确定模块所检测的预定测试结束条件包括:
[0044]接收到用户发出的测试结束指令。
[0045]本发明实施例所提供的软件稳定性测试方法中,当判断出达到当前测试周期的测试启动时刻时,获得至少一个随机标识,将预先构建的测试用例集合中用例标识与所获得随机标识相同的测试用例,确定为当前测试周期内的待测试的目标测试用例,针对待测试软件执行所确定出的目标测试用例,并确定目标测试用例所对应的执行结果;当检测到预定测试结束条件被满足时,根据已执行的各个目标测试用例的执行结果,确定该软件的稳定性。与现有技术相比,本方案周期性地随机执行测