一种软件测试方法及测试装置的制作方法

文档序号:6582943阅读:213来源:国知局
专利名称:一种软件测试方法及测试装置的制作方法
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种软件测试方法及测试装置。
背景技术
计算机软件在设计实现与测试维护过程中,会一直存在缺陷查找、故障分析定位 等过程。计算机软件是否具有良好的可测试性是用于衡量计算机软件的一个很重要的因 素,它将直接影响工作的有效性以及效率。按照业界的定义,软件的可测试性是指软件发现 故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测 试执行的能力。简单说,软件可测试性就是一个计算机程序能够被测试的容易程度。具体 又可以被分解为如下几个方面 參可操作性_运行地越好,被测试的效率越高;
參可观察性_所看见的,就是所测试的; 參可控制性-对软件的控制越好,测试越能够被自动执行与优化; 參可分解性-通过控制测试范围,能够更好地分解问题,执行更灵巧的再测试; 參简单性_需要测试的内容越少,测试的速度越快; 參稳定性-改变越少,对测试的破坏越小; 參易理解性_得到的信息越多,进行的测试越灵巧。 在软件可测试性的设计实现方面有一个基本的步骤,即在软件设计时加入可测试 性接口 ,在软件运行时,根据需要提取软件相应信息用于诊断或产生相应测试激励条件用 于测试。在具体实现方式上,常见的方式包括在软件中加入异常数据上报机制用于分析软 件中出现的错误;将软件运行信息通过日志上报的形式反映软件运行状况;将软件运行业 务中关键数据信息进行有控制的统计及上报。这些常见方法在软件可测试性设计及实现中 已经被成熟利用,尤其在嵌入式软件系统中成为一种普遍的做法,对分析软件各种运行状 态或故障有很大帮助。 但是上述这些方法主要是侧重在软件诊断方面,所设计的可测试性接口也是根据 需求而专门设定,如收集异常信息、运行日志、关键业务数据等,相互之间较难统一,导致实 现时各种方法自成体制,叠加在软件之中,间接增加了软件规模。 在直接用于软件(异常)测试的方法上,有一种方法是将软件接收与发送信息的 接口增加一个拷贝发往特定地方,例如另一个进程或另一台计算机程序,从而形成黑盒交 互测试;另一种方法是在软件中设计不同变量开关,通过后台控制来形成软件不同运行分 支。前一种方法将软件对外接口进行控制,提高了软件的可测试性,但它是以黑盒方式工 作,对于软件内部更多的信息无法控制,测试有效性得不到深入;后一种方法深入到测试软 件内部,不局限于黑盒方式,但是这些变量的加入比较零散,没有一个系统化的分布,也只 能是受控改变软件内部运行分支,作用比较单一,扩展性也很差。 综上所述,上面所述的各种软件可测试性设计方法,在实现过程中具有灵活性不 足、有效性有局限等缺点,无法有效灵活地实现软件测试。

发明内容
本发明所要解决的技术问题在于,提供一种软件测试方法及测试装置,克服在软 件缺陷查找、故障定位时,对软件进行诊断测试的可测试性设计技术不够灵活且有效性受 限等缺点。 为了解决上述问题,本发明提出了一种软件测试方法,包括可测试性设置步骤和
诊断测试步骤,其中 可测试性设置步骤,包括 Al、将软件划分为功能模块并确定出各功能模块的逻辑关系; A2、按照所述逻辑关系,在各功能模块内部和彼此之间设置探测信息点; A3、在功能模块代码中标识所述探测信息点; 诊断测试步骤,包括 Bl、根据测试需求从设置的探测信息点中选择出所需的探测信息点; B2、基于所选择的探测信息点定制测试脚本、执行所述测试脚本; B3、获取执行所述测试脚本所得探测信息,在测试结束时对探测信息进行统计分
析,获得诊断测试结果。 进一步地,所述子步骤A2包括如下步骤 A21 ,设置探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处 理输入点、代码事务处理输出点以及代码事务处理中间点; A22,设置探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关 键信息统计点以及异常测试需求点; A23,设置所述各探测信息点之间的归属关系、分支关系。
进一步地,所述子步骤Bl包括如下步骤
Bll,确定软件诊断测试的测试需求; B12,按照所述测试需求,确定用于提取探测信息的探测信息点;
B13,对所选择出的探测信息点进行优化选择。 进一步地,所述步骤Bll中,首先确定诊断测试的逻辑关系,再按照所述逻辑关系 确定测试内容,根据测试内容确定出所需提取的探测信息。 进一步地,所述步骤B12中,确定用于提取探测信息的探测信息点时,包括确定 用于入口信息提取或变化分析的探测信息点,确定用于出口信息提取或变化分析的探测信 息点,确定用于过程信息提取或变化分析的探测信息点。 本发明还提供一种软件测试装置,包括可测试性设置模块和诊断测试模块,其 中 可测试性设置模块,用于划分软件为功能模块,并根据功能模块的逻辑关系设置 探测信息点,用代码标识出所述探测信息点; 诊断测试模块,用于根据测试需求探测信息点中选择出所需的探测信息点,基于 所选择的探测信息点定制测试脚本、执行所述测试脚本,获取执行所述测试脚本所得探测 信息,在测试结束时对探测信息进行统计分析,获得诊断测试结果。 进一步地,所述可测试性设置模块又包括功能模块划分单元,用于将软件划分为功能模块并确定出各功能模块的逻辑关系;探测信息点设置单元,用于按照所述逻辑关系, 在各功能模块内部和彼此之间设置探测信息点;代码标识单元,用于在功能模块代码中标 识出所述探测信息点; 进一步地,所述诊断测试模块,又包括探测信息点选择单元,用于根据测试需求 从设置的探测信息点中选择出所需的探测信息点;脚本控制单元,用于基于所选择的探测 信息点定制测试脚本、执行所述测试脚本;测试输出单元,用于获取执行所述测试脚本所得 探测信息,在测试结束时对探测信息进行统计分析,获得诊断测试结果。
进一步地,所述探测信息点设置单元设置的探测信息点包括 探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处理输入 点、代码事务处理输出点以及代码事务处理中间点; 探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关键信息统 计点以及异常测试需求点; 所述各探测信息点之间的归属关系、分支关系。 进一步地,所述探测信息点选择单元,在选择探测信息点时,是先确定软件诊断测 试的测试需求,按照所述测试需求,确定用于提取探测信息的探测信息点;对所选择出的探 测信息点进行优化选择。 进一步地,所述探测信息点选择单元,是通过确定诊断测试的逻辑关系,按照所述 逻辑关系确定测试内容,根据测试内容确定出所需提取的探测信息;所述探测信息点选择 单元在确定用于提取探测信息的探测信息点时,所确定的内容包括确定用于入口信息提 取或变化分析的探测信息点,确定用于出口信息提取或变化分析的探测信息点,确定用于 过程信息提取或变化分析的探测信息点。 采用本发明的所述软件测试方法及测试装置,在可测试性设置时,通过划分功能 模块、设置探测信息点将软件的工作流程图标识于软件代码之中,探测信息点的设计与分 布与软件处理流程的逻辑关系直接关联对应;在进行软件诊断测试时,可根据业务需要直 接选择相应的探测信息点,基于所选择的探测信息点,通过定制脚本以及测试所需处理的 逻辑关系,通过执行所述定制脚本来获取相应的探测信息。 应用本发明的测试方法及测试装置,一方面提高了可测试性设置时信息定制的灵 活性并降低了跟踪成本,另一方面则可以降低软件诊断测试时的难度,在诊断测试阶段大 部分工作不仅软件开发人员可以进行,测试人员在进行问题定位时也相当于为其提供了一 种灰盒级途径,可促进测试深入开展,提高测试有效性。


图1是软件可测试性设计及软件诊断测试方法的基本流程图;
图2是探测信息分级设计的流程图;
图3是诊断测试探测点选择的处理流程图;
图4是软件诊断测试环境工作机制图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。 本发明针对现有测试技术中,尤其可测试性实现过程时具有灵活性不足、有效性 有局限等缺点,提出了一种灵活有效的软件测试方法及测试装置,其核心思想包括在可测 试性设置时,按照软件的功能模块的逻辑关系,设置探测信息点及探测信息点之间的关系, 在模块代码中标识出探测信息点;在诊断测试时,按照测试需求选择探测信息点,基于所选 择的探测信息点定制脚本并执行所述定制脚本,获得对应的探测信息用于诊断测试,从而 使得测试时更灵活且有针对性,提高了测试的有效性,还可加深测试的深度从而实现深度 领lj试。
本发明的一种软件测试方法,包括可测试性设置步骤和诊断测试步骤,其中
參可测试性设置步骤,包括 Al、将软件划分为功能模块并确定出各功能模块的逻辑关系; A2、按照所述逻辑关系,在各功能模块内部和彼此之间设置探测信息点; A3、在功能模块代码中标识所述探测信息点; 參诊断测试步骤,包括 Bl、根据测试需求从设置的探测信息点中选择出所需的探测信息点; B2、基于所选择的探测信息点定制测试脚本、执行所述测试脚本; B3、获取执行所述测试脚本所得探测信息,在测试结束时对探测信息进行统计分
析,获得诊断测试结果。 进一步的,所述子步骤A2,又可包括如下内容 A21,设置探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处 理输入点、代码事务处理输出点以及代码事务处理中间点; A22,设置探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关 键信息统计点以及异常测试需求点; A23,设置上述各探测信息点之间的归属关系、分支关系。
进一步的,所述子步骤B1,又可包括下列各步
Bll,确定软件诊断测试的测试需求; B12,按照所述测试需求,确定用于提取探测信息的探测信息点;
B13,对所选择出的探测信息点进行优化选择。 在所述步骤Bll中,首先确定诊断测试的逻辑关系,再按照所述逻辑关系确定测 试内容,根据测试内容确定出所需提取的探测信息。 在所述步骤B12中,确定用于提取探测信息的探测信息点时,包括确定用于入口 信息提取或变化分析的探测信息点,确定用于出口信息提取或变化分析的探测信息点,确 定用于过程信息提取或变化分析的探测信息点。 本发明还提供一种软件测试装置,包括可测试性设置模块和诊断测试模块,其 中 所述可测试性设置模块又包括功能模块划分单元,用于将软件划分为功能模块 并确定出各功能模块的逻辑关系;探测信息点设置单元,用于按照所述逻辑关系,在各功能 模块内部和彼此之间设置探测信息点;代码标识单元,用于在功能模块代码中标识出所述 探测信息点;
所述诊断测试模块,又包括探测信息点选择单元,用于根据测试需求从设置的探
测信息点中选择出所需的探测信息点;脚本控制单元,用于基于所选择的探测信息点定制
测试脚本、执行所述测试脚本;测试输出单元,用于获取执行所述测试脚本所得探测信息,
在测试结束时对探测信息进行统计分析,获得诊断测试结果。 进一步的,所述探测信息点设置单元所设置的探测信息点包括 探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处理输入 点、代码事务处理输出点以及代码事务处理中间点; 探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关键信息统 计点以及异常测试需求点;以及, 所述各探测信息点之间的归属关系、分支关系。 进一步的,所述探测信息点选择单元,在选择探测信息点时,是先确定软件诊断测 试的测试需求,按照所述测试需求,确定用于提取探测信息的探测信息点;对所选择出的探 测信息点进行优化选择。 进一步的,所述探测信息点选择单元,是通过确定诊断测试的逻辑关系,按照所述 逻辑关系确定测试内容,根据测试内容确定出所需提取的探测信息。 进一步的,所述探测信息点选择单元,在确定用于提取探测信息的探测信息点时, 所确定的内容包括确定用于入口信息提取或变化分析的探测信息点,确定用于出口信息 提取或变化分析的探测信息点,确定用于过程信息提取或变化分析的探测信息点。
下面结合具体实施例及附图对上述软件测试方法和测试系统做进一步详细说明。
如图1所示,显示了本发明的软件测试方法的基本流程图,分为软件可测试性设 置与软件诊断测试两个基本阶段,其中软件可测试性设置包括101 步骤103,软件诊断 测试包括步骤104 步骤108。
參软件可测试性设置阶段 步骤101中,根据软件所完成的业务需求进行功能模块的划分及逻辑分析。在软 件系统设计中,主要的软件功能模块已经有所划分,包括各软件子系统及各业务进程,可以 直接采用软件设计时的模块划分结果;然后,进行所关注模块的代码处理逻辑分析,所述逻 辑分析基于软件功能模块所要完成的业务功能而展开,将代码用于业务实现的数据与算法 进行抽取,相当于将软件模块设计阶段的流程图对应到代码实现中,以理清代码处理内部 逻辑关系。 步骤102中,按照步骤101所进行的代码逻辑分析结果,进行探测信息的分级设 计,将代码实现中所做的主要工作以探测信息点的方式来表现,并使探测信息点在软件代 码中进行合理分布,相当于给代码实现了一个功能扫描。在该步骤102中,所进行的探测信 息点设置,包括探测信息基本点设计、探测信息补充点设计、探测信息点归属关系设计、探 测信息点分支关系设计。关于探测信息点的设置,可详细参见下面对于图2的说明。
步骤103中,在对应代码中标识探测信息点。按照步骤102所设置的探测信息点 集合,将各个探测信息点对应到功能模块代码中的相应位置,通过特定的方式进行探测信 息点的标识(如宏定义方式插入一接口函数可外挂脚本嵌入代码运行),除标识出探测信 息点的位置信息外,还可标识探测信息点对应的过程数据通过脚本进行控制。此时就形成 一个灰盒模式的软件代码事务处理图,即体现了软件代码所做的主要工作又屏蔽掉了多余的实际代码,去繁就简。 參软件诊断测试阶段,属于开始应用于软件缺陷查找、故障定位过程 步骤104,进行诊断测试所需的探测信息点的选择,即根据测试需求明确出要提取
的过程信息,将与过程信息匹配关联的已经在软件代码中设置好的探测信息点选择出来,
形成待跟踪信息集合。其细分的步骤为软件诊断测试需求分析、信息提取的探测点分析、探
测点优化选择,详细说明参见图3的介绍。 步骤105,基于探测信息点定制出测试脚本,承接前述探测信息点的选择结果,即 在每个选择的探测信息点位置,需要提取哪些软件运行过程信息或插入哪些操作逻辑,针 对这些要求定制出与探测信息点相对应的测试脚本,将选择出来的探测信息点集合定制出 一个测试脚本集合。 步骤106,基于探测信息点执行所述定制的测试脚本,按照诊断测试的基本逻辑过 程进行,在软件运行前下载需要位置的探测信息点的定制测试脚本,在运行过程中就可以 执行相应测试脚本完成信息提取或插入的操作;根据需要,这些定制脚本可能在同一个测 试过程中一起起作用,提取不同位置过程信息,也可能是在不同测试过程中分别起作用,提 取不同时段过程信息。 步骤107,判断诊断测试是否结束,若未结束,则循环执行步骤104 步骤106,继 续进行诊断测试,若已结束,则转至步骤108 ; 步骤108,诊断测试若已结束,进行探测信息汇总分析,将待验证信息通过测试脚 本提取出来后,根据问题追查的思路进行分析,来确认或排除疑点,充分获取所需验证的真 实信息,从而获得诊断测试结果。 图2是图1中所示的步骤102进行探测信息分级设计的详细流程图,分为4个步 骤 步骤201,设置探测信息基本点。 在该步骤中,将代码中一个基本业务功能的完整处理过程视为一个事务处理,如
对一条外部来的业务激励消息的内部处理,此处所设置的探测信息基本点包括 业务处理的入口,即某一功能模块进行事务处理输入点,可能是其它模块发过来
的消息或自身的一个输入激励等; 业务处理对外的出口,即某一功能模块进行事务处理输出点,可能是对其它模块 发出消息或对自身的一个输出激励等; 业务处理中间过程点,即某一功能模块进行事务处理内部的操作点,如内部处理 时的算法步骤或数据转化步骤等。 在上述探测信息基本点中,所述事务处理输入点和事务处理输出点比较易于确
定,主要是本模块与其它模块间接口消息或本模块自身时钟消息等,在接口设计中已经确
定,本发明中可直接选择出来;对于事务处理内部操作点的选择设置,则没有固定的模式,
主要是将内部处理的关键操作步骤进行选择,与测试所处的阶段有关,如果是单元测试操
作步骤可设置操作点较细,将相连续的每一个内部操作点都选择出来,信息点位较多但总
体规模小;如果是集成或系统测试操作步骤,就可以设置操作点较粗,同一个处理分支只选
择一个信息点位即可。 步骤202、设置探测信息补充点。
上述针对软件代码的事务处理步骤进行探测信息基本点的选择,已经覆盖了某一 个功能模块业务功能实现的主要框架,除此之外还有一些信息需要关注,做为探测信息的 补充。 首先,关注模块代码处理过程中数据信息,尤其是与业务功能相关的关键统计数 据信息,它本身并不代表某个操作步骤,但是表示模块所完成业务功能某种统计状态,也是 软件诊断测试中需要额外获取的,所以设置作为探测信息统计点,直接关联到这些统计数 据。 其次,还要对代码处理的异常进行考虑,前述探测信息统计点主要是正常处理步 骤的选择,对于代码异常(包括代码出异常分支处理位置或代码本身正常但需要做异常测 试的位置),也进行异常探测点的设置。 进行异常探测点设置时,可能会涉及代码中过多失败处理位置,这可以与软件异 常处理信息上报机制相结合。为了完善软件代码的异常处理及异常信息上报,代码中可以 将所有函数调用返回失败及业务断言失败进行统一归划,分为不同异常消息,以异常探针 的形式向统一服务器上报。这时异常探测点的设计就可简化,在上述异常探针上报的位置 进行一个异常探测点设置,当发生各种异常时这一个探测点就可以捕获到。
步骤203、设置探测信息点的归属关系。 此步骤主要是针对前面所设计的探测信息及选择出来的各种探测信息点进行位 置级别归属分析,主要体现探测信息点的位置是在当前代码处理主流程中还是进入了函数 调用,即所有探测信息点同代码实现时一层层函数调用相类似,也是有一种不同层次的归 属关系。 在区分点位的相对级别上,假设以某一处理函数为根函数,其代码中有对其它函 数调用,则探测信息点位归属关系有如下几种分类 根函数代码中设置探测信息点但紧跟无函数调用或有函数调用,但此函数内部代 码中无探测信息点设置,这情况定义为只有一级逻辑的探测信息点; 根函数代码中设置有探测信息点且紧跟有函数调用,且此函数内部也有探测信息 点设置,这种情况定义为具有二级逻辑的探测信息点,被调用函数代码中所设置的探测信 息点即归属于此函数前面的探测信息点; 对于根函数代码中被调用函数,内部没有探测信息点设置且此函数前面也没有探
测信息点设置的属于可忽略部分,在代码事务处理图中并不出现。 步骤204、设置探测信息点位分支关系。 此步骤中,属于同一归属级别的探测信息点(例如某一处理函数代码中所设置的 一系统探测信息点),还要根据所处的代码分支来考虑其条件分支关系,如if/else if/ else的分支关系,对应于业务处理上不同情况,这种分析基于功能代码分支实现,比较容 易,但对反映软件处理逻辑十分有用。 图3是图1的步骤104中诊断测试探测信息点选择的处理流程图,包括3个主要 步骤分析确定软件诊断测试需求、确定出探测信息提取的探测信息点、探测信息点的优化 选择。 參分析软件诊断测试需求的步骤为 首先,确定问题定位的基本思路,这个是问题定位的关键步骤,决定后续工作是否在一个正确的方向行驶,需要前期研究好故障表象与真正问题所在,提出基本假设与怀疑, 对可能的错误原因进行排列。接下来,按照问题追查的基本思路来明确待验证内容,即在追 查过程需要安排哪些验证点及其内容,并形成正式追查的顺序。根据每个验证点所要验证 的内容来进而确定需要提取的基本信息,这已经是针对软件本身的过程信息,如某些接口 消息内容或某些过程变量的取值或时间顺序等。 參在上述工作得以明确后,就可以进行信息提取的探测信息点分析, 即将需要提取验证的基本信息关联到已经设置标识在代码中的探测信息点,找到
信息提取的真正载体。 在分析基本信息与探测信息点的对应关系时,可按照入口消息提取/变化、出口 消息提取/变化、过程消息提取/变化来分类,即 第一种相当于被测软件对象与外界对象的接收接口,可以是接收的异步消息或被 其调用的入参; 第二种相当于被测软件对象与外界对象的输出接口,可以是向外部发出的异常消 息或调用外部对象的参数; 第三种相当于被测软件对象在内部处理中过程信息,如内部接口消息或内部运行 状态或局部变量取值等。 在可测试性设计时,根据软件代码处理逻辑已经有对应的信息探测点分布在这 些不同信息位置上,于是将待验证提取信息与探测点关联就变得相对简单, 一般是信息在 代码哪个位置产生就对应相应的设置的探测点,此外有的提取信息可以对应多个信息探测 点。 參最后进行探测点优化选择,最终得出实际利用的信息探测点集合。 前面信息提取探测信息点分析已经将待验证信息同可以提取到信息的探测信息
点关联起来,本步骤主要是做一些优化选择。因为有些提取信息可以对应多个不同的信息
探测点来提取,所以需要做合理的选择。有时有的提取信息在代码中产生位置并未设计探
测点,一方面可以在设计中继续追加此信息探测点,另外更多的可以在此位置的上一级探
测点进行优化选择,往往存在可利用点位。 图4是一种用于软件诊断测试的具体实施环境的工作机制图,分为三个功能模块 401、402、403。 模块401,用于实现探测信息点播入的被测软件对象,探测信息点位置以宏定义的 形成插入探测点处理函数,当被测软件执行到某探测信息点时可实现测试脚本转入。
模块402,是独立于被测软件对象的另一个控制程序,用来实现探测点测试脚本的
编辑与下载的控制。 模块403,由驻留在被测软件对象所在软件系统上的脚本执行模块构成,与402模 块交互完成测试脚本的下载过程,将下载的测试脚本转至脚本指令区,并与模块401的探 测信息点处理函数对接,来执行有下载定制的探测信息点测试脚本。脚本执行的提取信息 可通过被测软件对象自身的输出通道输出(模块401)或通过测试脚本定制执行通道输出 (模块403->模块402)。 以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人 员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内,
权利要求
一种软件测试方法,其特征在于,包括可测试性设置步骤和诊断测试步骤,其中可测试性设置步骤,包括A1、将软件划分为功能模块并确定出各功能模块的逻辑关系;A2、按照所述逻辑关系,在各功能模块内部和彼此之间设置探测信息点;A3、在功能模块代码中标识所述探测信息点;诊断测试步骤,包括B1、根据测试需求从设置的探测信息点中选择出所需的探测信息点;B2、基于所选择的探测信息点定制测试脚本、执行所述测试脚本;B3、获取执行所述测试脚本所得探测信息,在测试结束时对探测信息进行统计分析,获得诊断测试结果。
2. 如权利要求1所述的软件测试方法,其特征在于,所述子步骤A2包括如下步骤 A21,设置探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处理输入点、代码事务处理输出点以及代码事务处理中间点;A22,设置探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关键信 息统计点以及异常测试需求点;A23,设置所述各探测信息点之间的归属关系、分支关系。
3. 如权利要求1所述的软件测试方法,其特征在于,所述子步骤B1包括如下步骤 Bll,确定软件诊断测试的测试需求;B12,按照所述测试需求,确定用于提取探测信息的探测信息点;B13,对所选择出的探测信息点进行优化选择。
4. 如权利要求3所述的软件测试方法,其特征在于,所述步骤B11中,首先确定诊断测 试的逻辑关系,再按照所述逻辑关系确定测试内容,根据测试内容确定出所需提取的探测信息。
5. 如权利要求3所述的软件测试方法,其特征在于,所述步骤B12中,确定用于提取 探测信息的探测信息点时,包括确定用于入口信息提取或变化分析的探测信息点,确定用 于出口信息提取或变化分析的探测信息点,确定用于过程信息提取或变化分析的探测信息 点。
6. —种软件测试装置,其特征在于,包括可测试性设置模块和诊断测试模块,其中 可测试性设置模块,用于划分软件为功能模块,并根据功能模块的逻辑关系设置探测信息点,用代码标识出所述探测信息点;诊断测试模块,用于根据测试需求探测信息点中选择出所需的探测信息点,基于所选 择的探测信息点定制测试脚本、执行所述测试脚本,获取执行所述测试脚本所得探测信息, 在测试结束时对探测信息进行统计分析,获得诊断测试结果。
7. 如权利要求6所述的软件测试装置,其特征在于,所述可测试性设置模块又包括功能模块划分单元,用于将软件划分为功能模块并确 定出各功能模块的逻辑关系;探测信息点设置单元,用于按照所述逻辑关系,在各功能模块 内部和彼此之间设置探测信息点;代码标识单元,用于在功能模块代码中标识出所述探测 信息点;所述诊断测试模块,又包括探测信息点选择单元,用于根据测试需求从设置的探测信息点中选择出所需的探测信息点;脚本控制单元,用于基于所选择的探测信息点定制测试 脚本、执行所述测试脚本;测试输出单元,用于获取执行所述测试脚本所得探测信息,在测 试结束时对探测信息进行统计分析,获得诊断测试结果。
8. 如权利要求7所述的软件测试装置,其特征在于,所述探测信息点设置单元设置的 探测信息点包括探测信息点中的探测信息基本点,所述探测信息基本点包括代码事务处理输入点、代 码事务处理输出点以及代码事务处理中间点;探测信息点中的探测信息补充点,所述探测信息补充点包括代码中关键信息统计点 以及异常测试需求点;所述各探测信息点之间的归属关系、分支关系。
9. 如权利要求7所述的软件测试装置,其特征在于,所述探测信息点选择单元,在选择探测信息点时,是先确定软件诊断测试的测试需求, 按照所述测试需求,确定用于提取探测信息的探测信息点;对所选择出的探测信息点进行 优化选择。
10. 如权利要求9所述的软件测试装置,其特征在于,所述探测信息点选择单元,是通过确定诊断测试的逻辑关系,按照所述逻辑关系确定 测试内容,根据测试内容确定出所需提取的探测信息;所述探测信息点选择单元在确定用于提取探测信息的探测信息点时,所确定的内容包 括确定用于入口信息提取或变化分析的探测信息点,确定用于出口信息提取或变化分析 的探测信息点,确定用于过程信息提取或变化分析的探测信息点。
全文摘要
本发明公开了一种灵活有效的软件测试方法及测试装置,在可测试性设置时,按照软件的功能模块的逻辑关系,设置探测信息点及探测信息点之间的关系,在模块代码中标识出探测信息点;在诊断测试时,按照测试需求选择探测信息点,基于所选择的探测信息点定制脚本并执行所述定制脚本,获得对应的探测信息用于诊断测试。应用本发明可使测试时更灵活且有针对性,提高了测试的有效性,还可加深测试的深度从而实现深度测试。
文档编号G06F11/36GK101697144SQ20091020915
公开日2010年4月21日 申请日期2009年10月28日 优先权日2009年10月28日
发明者左军 申请人:中兴通讯股份有限公司;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1