The invention discloses a test method and apparatus, which includes: acquiring a set of test cases to be executed; determining the distribution granularity of different test cases to each queue in each cycle according to the test cases and the characteristics of each queue in the queue set used to execute the test cases; and arriving at a predetermined cycle. Upon arrival, an idle queue that does not execute the test case in the queue set is detected; different test cases are distributed to the idle queue according to the distribution granularity of each idle queue until the test cases with corresponding distribution granularity are distributed to each idle queue, or until the test case set is executed. The test cases are distributed; the execution results of the distributed test cases are obtained from the queue that distributes the test cases. The implementation of the invention can improve the execution efficiency of test cases.
【技术实现步骤摘要】
测试方法及装置
本专利技术涉及软件测试技术,尤其涉及一种测试方法及装置。
技术介绍
目前,各种软件(例如操作系统、应用软件)不断出现,覆盖工作、生活、学习的各个方面,根据用户的需求、以及软件稳定性的需求,软件开发者需要定期或不定期地释出软件的新版本以完成功能升级或错误修正,而在释放新版本件之前,为了保证软件稳定性符合预期需求,有必要进行测试。例如,对软件进行正确性、完整性、安全性和质量等方面的测试,从而评估软件是否满足要求。目前,软件测试主要涉及以下两种方案:1)由测试人员人工参与即由测试人员手工逐步执行测试对象的所有的活动,并观察每一步是否成功完成;这种测试方式的测试结果受测试人员自身水平的影响,不同测试人员的测试结果往往具有较大的差异,并且测试效率较低,对于大型的软件进行测试时难以保证测试效率。2)自动化测试即由测试人员针对测试对象编写好一系列的测试用例,安装有待测试软件的设备总运行测试对象得到执行结果,测试设备需要逐个运行测试用例,测试所需的时间是设备执行每个测试用例所需的时间的加和;因此当测试用较多时,测试仍然需要较多时间,尤其是对于大型的软件的测试难以保证测试用例;如果减少测试用例,则可能会影响软件测试的全面性。综上所述,对于如何提升测试用例的执行效率,相关技术尚无有效解决方案。
技术实现思路
本专利技术实施例提供一种测试方法及装置,能够提升执行测试用例的效率。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供一种测试方法,包括:获取待执行的测试用例集合;根据所述测试用例、以及用于执行测试用例的队列集合中各队列的特征,确定在每个周 ...
【技术保护点】
1.一种测试方法,其特征在于,包括:获取待执行的测试用例集合;根据所述测试用例、以及用于执行测试用例的队列集合中各队列的特征,确定在每个周期向各所述队列分发不同测试用例的分发粒度;在预定周期到达时,检测所述队列集合中未执行所述测试用例的空闲队列;按照各所述空闲队列的分发粒度,向所述空闲队列分发不同的所述测试用例,直至各所述空闲队列均分发有相应分发粒度的测试用例,或者,直至所述测试用例集合中的测试用例分发完毕;从分发有测试用例的所述队列获取所分发测试用例的执行结果。
【技术特征摘要】
1.一种测试方法,其特征在于,包括:获取待执行的测试用例集合;根据所述测试用例、以及用于执行测试用例的队列集合中各队列的特征,确定在每个周期向各所述队列分发不同测试用例的分发粒度;在预定周期到达时,检测所述队列集合中未执行所述测试用例的空闲队列;按照各所述空闲队列的分发粒度,向所述空闲队列分发不同的所述测试用例,直至各所述空闲队列均分发有相应分发粒度的测试用例,或者,直至所述测试用例集合中的测试用例分发完毕;从分发有测试用例的所述队列获取所分发测试用例的执行结果。2.如权利要求1所述的测试方法,其特征在于,所述根据所述测试用例、以及用于执行测试用例的队列集合中各队列的特征,确定在每个周期向各所述队列分发不同测试用例的分发粒度,包括:根据各所述测试用例的代码长度,将所述测试用例集合中的部分测试用例进行划分,得到与所述队列集合中队列相应数量的子集;其中,各所述子集的代码长度的相同,或任意两个所述子集中包括的测试用例的代码长度的差值低于代码长度阈值。3.如权利要求2所述的测试方法,其特征在于,还包括:将所述测试用例集合中的所述部分测试用例进行划分之前,检测到各所述队列的计算能力相同,或检测到任意两个所述队列的计算能力的差值低于计算能力阈值。4.如权利要求1所述的测试方法,其特征在于,所述根据所述测试用例、以及用于执行测试用例的队列集合中各队列的特征,确定在每个周期向各所述队列分发不同测试用例的分发粒度,包括:根据各所述测试用例的执行时间,将所述测试用例集合中的部分测试用例进行划分,得到与所述队列集合中队列相应数量的子集;其中,各所述子集对应消耗目标队列的执行时间相同,或者,任意两个所述子集对应消耗目标队列的执行时间的差值低于执行时间阈值。5.如权利要求1所述的测试方法,其特征在于,所述向所述空闲队列分发不同的所述测试用例,包括:对所述测试用例集合中的测试用例进行优先级排序;按照根据优先级排序的降序,从所述测试用例集合中顺序读取与各所述空闲队列的分发粒度相应数量的测试用例;将基于各所述空闲队列的分发粒度读取的测试用例,发送至相应的空闲队列。6.如权利要求1所述的测试方法,其特征在于,还包括:在所述预定周期到达时,对所述队列集合中各队列进行异常检查;将向异常队列分发的未执行完毕的测试用例,向未处于异常状态的所述空闲队列按照相应的分发粒度进行分发。7.如权利要求6所述的测试方法,其特征在于,所述将向异常队列分发的未执行完毕的测试用例,向未处于异常状态的所述空闲队列按照相应的分发粒度进行分发,包括:确定第一空闲队列,所述第一空闲队列的分发粒度大于或等于向所述异常队列分发的未执行完毕的测试用例的数量;将向所述异常队列分发的未执行完毕的测试用例,向所述第一空闲队列进行发送。8.如权利要求6所述的测试方法,其特征在于,所述将向异常队列分发的未执行完毕的测试用例,向...
【专利技术属性】
技术研发人员:廖海珍,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。