一种程序测试方法及装置制造方法及图纸

技术编号:18367269 阅读:41 留言:0更新日期:2018-07-05 08:22
本发明专利技术实施例公开了一种程序测试方法及装置。该程序测试方法包括:S1.获取终端当前所处的终端状态,将所述终端状态作为目标状态;S2.根据所述目标状态从待测试程序中确定目标程序集合,所述目标程序集合包括至少一个匹配程序,所述匹配程序对应的执行前状态与所述第一终端状态相同;S3.从所述至少一个匹配程序中确定并执行目标程序;S4.当所述目标程序执行完毕时,判断测试是否结束;S5.如果测试未结束,则获取所述目标程序对应的执行后状态,并将所述执行后状态作为所述目标状态,返回执行步骤S2,直至判定测试结束。本发明专利技术提供的程序测试方法及装置,各个程序间通过状态进行随机衔接,使程序在状态逻辑上遍历,提高测试准确性及覆盖场景范围。

A program testing method and device

The embodiment of the invention discloses a program testing method and device. The program testing methods include: S1. gets the terminal state of the terminal at the end of the terminal and uses the terminal state as the target state; S2. determines the set of target programs from the test program according to the target state, and the target program set includes at least one matching program, and the matching program corresponds to the pre state and the pre execution state. The first terminal state is the same; S3. determines and executes the target program from at least one of the matched programs; when the target program is completed, the S4. determines whether the test is finished; if the S5. is not finished, the post execution state corresponding to the target program is obtained, and the state of the post execution is used as the target state. State, return execution step S2 until the end of the judgement test. The program test method and device provided by the invention, each program is connected by random state through the state, so that the program is traversed in the state logic, improve the accuracy of the test and cover the scope of the scene.

【技术实现步骤摘要】
一种程序测试方法及装置
本专利技术实施例涉及移动通信测试
,尤其涉及一种程序测试方法及装置。
技术介绍
目前,软件测试的方式主要是软件压力测试,即通过确定一个系统的瓶颈或者不能接受的性能点来获得系统能提供的最大服务级别。无线移动通信测试中的压力测试通常采用增加迭代次数和运行时间两种方式。现有技术中,在对无线移动通信的系统进行测试时,基于系统的应用环境和实现的业务完成测试,且按照预先设定的流程进行测试,使得测试覆盖场景范围窄。
技术实现思路
本专利技术提供一种程序测试方法及装置,以实现对无线移动通信系统的测试,提高测试的准确性及覆盖场景范围。第一方面,本专利技术实施例提供了一种程序测试方法,该程序测试方法包括:S1.获取终端当前所处的终端状态,将所述终端状态作为目标状态;S2.根据所述目标状态从待测试程序中确定目标程序集合,所述目标程序集合包括至少一个匹配程序,所述匹配程序对应的执行前状态与所述目标状态相同;S3.从所述至少一个匹配程序中确定并执行目标程序;S4.当所述目标程序执行完毕时,判断是否结束测试;S5.如果测试未结束,则获取所述目标程序对应的执行后状态,并将所述执行后状态作为所述目标状态,返回执行步骤S2,直至判定结束测试。进一步地,所述判断是否结束测试,包括:获取所述待测试程序的测试覆盖率;如果所述测试覆盖率大于预设覆盖率阈值,则判定结束测试。进一步地,所述获取所述待测试程序的测试覆盖率,包括:记录已测试的目标程序数量和所述待测试程序总量;根据所述目标程序数量和所述待测试程序总量,确定测试覆盖率。进一步地,所述判断是否结束测试,包括:如果测试总时长达到预设测试时长阈值,则判定结束测试;或者,获取目标程序的测试总次数,如果所述测试总次数达到预设测试次数阈值,则判定结束测试。进一步地,在S1获取终端当前所处的终端状态之前,还包括:获取每个待测试程序对应的执行前状态和执行后状态。进一步地,在所述终端中配置待测试程序的环境参数。第二方面,本专利技术实施例还提供了一种程序测试装置,该程序测试装置包括:目标状态获取模块,用于获取终端当前所处的终端状态,将所述终端状态作为目标状态;目标程序集合确定模块,用于根据所述目标状态从待测试程序中确定目标程序集合,所述目标程序集合包括至少一个匹配程序,所述匹配程序对应的执行前状态与所述目标状态相同;目标程序确定模块,用于从所述至少一个匹配程序中确定并执行目标程序;结束测试判断模块,用于当所述目标程序执行完毕时,判断是否结束测试;执行后状态获取模块,用于如果测试未结束,则获取所述目标程序对应的执行后状态,并将所述执行后状态作为所述目标状态。进一步地,所述结束测试判断模块,包括:测试覆盖率获取子模块,用于获取所述待测试程序的测试覆盖率;结束测试子模块,用于如果所述测试覆盖率大于预设覆盖率阈值,则判定结束测试。进一步地,所述测试覆盖率获取子模块,用于:记录已测试的目标程序数量和所述待测试程序总量;根据所述目标程序数量和所述待测试程序总量,确定测试覆盖率。进一步地,所述结束测试判断模块,用于:如果测试总时长达到预设测试时长阈值,则判定结束测试;或者,获取目标程序的测试总次数,如果所述测试总次数达到预设测试次数阈值,则判定结束测试。本专利技术实施例,通过获取终端当前所处的终端状态,将终端状态作为目标状态,然后根据目标状态从待测试程序中确定目标程序集合,目标程序集合包括至少一个匹配程序,匹配程序对应的执行前状态与所述目标状态相同,然后从至少一个匹配程序中确定并执行目标程序,当目标程序执行完毕时,判断是否结束测试,如果测试未结束,则获取目标程序对应的执行后状态,并将执行后状态作为所述目标状态,直至判定结束测试。现有技术中,在对无线移动通信的系统进行测试时,基于系统的应用环境和实现的业务完成测试,且按照预先设定的流程进行测试,使得测试覆盖场景范围窄。本申请中,各个程序间通过状态进行随机衔接,使程序在状态逻辑上遍历,不是传统的预先设定场景或业务,提高测试的准确性及覆盖场景范围。附图说明图1是本专利技术实施例一中的一种程序测试方法的流程图;图2是本专利技术实施例二中的一种程序测试方法的流程图;图3是本专利技术实施例三中的一种程序测试方法的流程图;图4是本专利技术实施例三中的一种程序测试方法的流程图;图5是本专利技术实施例四中的一种程序测试方法的流程图;图6是本专利技术实施例五中的一种程序测试装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种程序测试方法的流程图,本实施例可适用于在虚拟的网络环境下对移动通信网络子系统进行测试的场景,该方法可以由终端来执行,该终端可以是台式机或笔记本电脑等。如图1所示,该程序测试方法具体包括如下步骤:步骤1,获取终端当前所处的终端状态,将终端状态作为目标状态。其中,终端状态可以是由终端的驻留状态、协议状态和网络环境等组成的状态集合。驻留状态可以包括正常状态、紧急状态等;协议状态可以包括专用信道(DedicatedChannel,DCH)态、前向接入信道(ForwardAccessChannel,FACH)态、寻呼信道(PagingChannel,PCH)态和随机接入信道(RandomAccessChannel,RACH)态等。示例性的,状态集合可以是驻留GSMcell1、idle态、CS注册成功、PS注册成功和PDP未激活这些状态元素组成的一个集合,或者是驻留TDcell1、idle、CS注册成功、PS注册成功和PDP激活这些状态元素组成的另一集合。在本应用场景下,当测试开始后,测试脚本通过模拟移动通信网络环境发送AT命令控制移动通信协议栈开机,使终端进入到某一状态,并把终端此时所处的状态作为目标状态。步骤2,根据目标状态从待测试程序中确定目标程序集合,目标程序集合包括至少一个匹配程序,匹配程序对应的执行前状态与目标状态相同。其中,待测试程序可以是待测脚本中包含的所有测试用例或者被测流程,其数量至少为1个,待测试程序可以具有两个属性:执行前状态和执行后状态。目标程序集合可以是由执行前状态与目标状态相同的待测试程序组成的,目标程序集合的元素个数可以1个或多个。在本应用场景下,根据目标状态从待测试程序中确定目标程序集合的方法可以是,在所有待测试程序中查找执行前状态与目标状态相同的匹配程序,并把查找到的匹配程序组成目标程序集合。步骤3,从至少一个匹配程序中确定并执行目标程序。在本应用场景下,当目标程序集合中只包括一个匹配程序时,则将该匹配程序确定为目标程序,并执行该目标程序;当目标程序集合中包括多个匹配程序时,在这多个匹配程序中随机选取一个确定为目标程序,并执行该目标程序。步骤4,当目标程序执行完毕时,判断是否结束测试。在本应用场景下,判断是否结束测试的方法可以是,根据待测试程序的测试覆盖率判断是否结束测试,如果测试覆盖率大于预设覆盖率阈值,则判定结束测试;根据测试总时长判断是否结束测试,如果测试总时长达到预设时长阈值,则判定结束测试;或者根据目标程序的测试总次数判断是否本文档来自技高网...
一种程序测试方法及装置

【技术保护点】
1.一种程序测试方法,其特征在于,包括:S1.获取终端当前所处的终端状态,将所述终端状态作为目标状态;S2.根据所述目标状态从待测试程序中确定目标程序集合,所述目标程序集合包括至少一个匹配程序,所述匹配程序对应的执行前状态与所述目标状态相同;S3.从所述至少一个匹配程序中确定并执行目标程序;S4.当所述目标程序执行完毕时,判断是否结束测试;S5.如果测试未结束,则获取所述目标程序对应的执行后状态,并将所述执行后状态作为所述目标状态,返回执行步骤S2,直至判定结束测试。

【技术特征摘要】
1.一种程序测试方法,其特征在于,包括:S1.获取终端当前所处的终端状态,将所述终端状态作为目标状态;S2.根据所述目标状态从待测试程序中确定目标程序集合,所述目标程序集合包括至少一个匹配程序,所述匹配程序对应的执行前状态与所述目标状态相同;S3.从所述至少一个匹配程序中确定并执行目标程序;S4.当所述目标程序执行完毕时,判断是否结束测试;S5.如果测试未结束,则获取所述目标程序对应的执行后状态,并将所述执行后状态作为所述目标状态,返回执行步骤S2,直至判定结束测试。2.根据权利要求1所述的方法,其特征在于,所述判断是否结束测试,包括:获取所述待测试程序的测试覆盖率;如果所述测试覆盖率大于预设覆盖率阈值,则判定测试结束。3.根据权利要求2所述的方法,其特征在于,所述获取所述待测试程序的测试覆盖率,包括:记录已测试的目标程序数量和所述待测试程序总量;根据所述目标程序数量和所述待测试程序总量,确定测试覆盖率。4.根据权利要求1所述的方法,其特征在于,所述判断是否结束测试,包括:如果测试总时长达到预设测试时长阈值,则判定结束测试;或者,获取目标程序的测试总次数,如果所述测试总次数达到预设测试次数阈值,则判定结束测试。5.根据权利要求1所述的方法,其特征在于,在S1获取终端当前所处的终端状态之前,还包括:获取每个待测试程序对应的执行前状态和执行后状态。6.根据权利要求1-4...

【专利技术属性】
技术研发人员:曲艳春魏姝杰
申请(专利权)人:联芯科技有限公司大唐半导体设计有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1