System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种软件测试方法及装置制造方法及图纸_技高网

一种软件测试方法及装置制造方法及图纸

技术编号:40091639 阅读:7 留言:0更新日期:2024-01-23 16:18
一种软件测试方法及装置,用于解决用户无法直观地查看软件测试过程中的测试进度的问题。在本申请中,方法包括:在运行测试脚本的过程中,生成测试日志;其中,测试脚本中包括多个代码段,多个代码段分别与多个测试对象对应,多个代码段中包括已运行代码段和未运行代码段,也即,代码段是已运行代码段,或是,未运行代码段。测试日志中记录有已运行代码段的运行标记;根据测试日志中已运行代码段的运行标记,确定该已运行代码段对应的测试对象的运行状态;根据该已运行代码段对应的测试对象的运行状态,确定在测试全景图中显示的、测试脚本的运行进度。其中,测试全景图是根据多个测试对象生成的图。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种软件测试方法及装置


技术介绍

1、软件测试指的是,在预设条件下运行系统或应用程序,并对得到的运行结果进行评估。软件测试通常包括接口测试、用户界面测试等。

2、在软件测试过程中,用户(也可称为测试人员)可手动编写用于软件测试的测试脚本,并通过该测试脚本对软件进行测试,根据软件的运行结果判断软件是否符合预期。但用户只能看到测试脚本中的代码,而无法直观地查看该软件测试过程中的测试进度。


技术实现思路

1、本申请提供一种软件测试方法及装置,用于实现测试进度的可视化。

2、第一方面,本申请提供一种软件测试方法,该软件测试方法可以由计算设备或计算设备集群执行,其中计算设备集群中包括一个或多个计算设备。

3、方法包括:在运行测试脚本的过程中,生成测试日志;其中,测试脚本中包括多个代码段,多个代码段分别与多个测试对象对应,多个代码段中包括已运行代码段和未运行代码段,也即,代码段是已运行代码段,或是,未运行代码段。测试日志中记录有该已运行代码段的运行标记;根据测试日志中已运行代码段的运行标记,确定该已运行代码段对应的测试对象的运行状态;根据该已运行代码段对应的测试对象的运行状态,确定在测试全景图中显示的、测试脚本的运行进度;测试全景图是根据多个测试对象生成的图。

4、在一种可能的实现方式中,根据测试日志中已运行代码段的运行标记,确定已运行代码段对应的测试对象的运行状态,包括:在已运行代码段的运行标记包括开始标记和结束标记时,或,在已运行代码段的运行标记包括结束标记时,确定已运行代码段对应的测试对象的运行状态为运行完成;和/或,在已运行代码段的运行标记包括开始标记但未包括结束标记时,确定已运行代码段对应的测试对象的运行状态为已经开始运行但尚未运行完成。也可以理解,已运行代码段具体是已开始运行但尚未运行完成的代码段,或者,已运行代码段具体是已开始运行且已经运行完成(或称为已经运行完成)的代码段。

5、其中,测试对象具体可以是测试组、步骤或语句构件。其中,步骤比如是测试步骤、条件判断步骤或循环步骤,语句构件比如是请求构件、条件判断构件或循环构件等。进一步的,测试组包括一个或多个步骤。测试步骤包括一个或多个语句构件。

6、上述技术方案中,在运行测试脚本的过程中,生成测试日志,测试日志中记录有测试对象对应的代码段的运行标记,该运行标记即用于指示该测试对象的运行状态(比如是运行完成,或者是已经开始运行但尚未运行完成),从而确定在测试全景图中显示的、测试脚本的运行进度,用户可以通过测试全景图直观地查看当前测试脚本的运行进度,提高用户进行软件测试的效率。

7、在一种可能的实现方式中,测试脚本(具体是已运行代码段)中包括输出指令,输出指令中包括待输出标记;在生成测试日志时,具体是:运行输出指令,以将输出指令中的待输出标记,作为已运行代码段的运行标记输出至测试日志中;其中,待输出标记为开始标记、结束标记、变量的生成标记、变量的引用标记、条件分支为真的标记、条件分支为假的标记、进入循环的标记、退出循环的标记、继续循环的标记中的一项。

8、上述技术方案中,在运行代码段的过程中,将代码段的输出指令中的待输出标记输出至测试日志中,该输出的标记即可作为已运行代码段的运行标记。通过向测试日志中输出标记,实现更准确且容易的指示测试对象的运行状态。

9、基于不同的待输出标记,如下示例性提供已运行代码段中包含的输出指令:

10、为方便描述,如下以任一个已运行代码段为例说明,该一个已运行代码段可记为第一代码段,该第一代码段对应的测试对象记为第一测试对象。

11、示例1,将第一代码段中包含有开始标记的输出指令,记为是第一输出指令。相应的,在执行第一输出指令时,将开始标记作为第一代码段的运行标记输出至测试日志中。

12、示例2,将第一代码段中包含有结束标记的输出指令,记为是第二输出指令。相应的,在执行第二输出指令时,将结束标记作为第一代码段的运行标记输出至测试日志中。

13、示例3,将第一代码段中包含有第一变量的生成标记的输出指令,记为是第三输出指令。进一步的,第一代码段中还包括第一子代码段,第一子代码段用于生成第一变量,第一变量由多个代码段中第一代码段之后的其他代码段引用,或者,由第一代码段中第一子代码段之后的其他子代码段引用;第三输出指令位于第一子代码段之后。

14、相应的,在运行完成第一子代码段之后,执行第三输出指令,以将第一变量的生成标记作为第一代码段的运行标记输出至测试日志中。

15、此处,第一变量的生成标记,也可认为是第一子代码段的运行标记。第一子代码段也可认为是某个测试对象的代码段。举例来说,第一测试对象是测试步骤,测试步骤中包括请求构件1,该请求构件1可生成第一变量,相应的,请求构件1对应的代码段是第一子代码段,可将请求构件1理解为第1测试对象,该第1测试对象包含于第一测试对象中,第一变量的生成标记可作为第一子代码段的运行标记,用于指示第1测试对象的运行状态。

16、示例4,将第一代码段中包含有第二变量的引用标记的输出指令,记为是第四输出指令,进一步的,第一代码段中还包括第二子代码段,第二变量由第二子代码段引用。第四输出指令位于第二子代码段之后。其中,第二变量是在运行多个代码段中的第一代码段之前的其他代码段时生成的,或者,是在运行第一代码段中第二子代码段之前的其他子代码段时生成的,或者,是预设变量。其中,预设变量可以是预设的环境变量。

17、相应的,在运行第二子代码段之后,运行第四输出指令时,将第二变量的引用标记作为第一代码段的运行标记输出至测试日志中。

18、此处,第二变量的引用标记,也可认为是第二子代码段的运行标记。第二子代码段也可认为是某个测试对象的代码段。举例来说,第一测试对象是测试步骤,测试步骤中包括请求构件2,该请求构件2可引用第二变量,相应的,请求构件2对应的代码段是第二子代码段,可将请求构件2理解为第2测试对象,该第2测试对象包含于第一测试对象中,第二变量的引用标记可作为第二子代码段的运行标记,用于指示第2测试对象的运行状态。

19、示例5,第一代码段中包含有条件判断步骤或者条件判断构件对应的子代码段(记为第三子代码段)。相应的,将第一代码段中包含条件分支为真的标记的输出指令,记为是第五输出指令;将第一代码段中包含有条件分支为假的标记的输出指令,记为是第六输出指令。第一代码段中第五输出指令、第六输出指令位于第三子代码段之后。

20、相应的,若运行第三子代码得到的运行结果对应的条件分支为真,则运行第五输出指令,将条件分支为真的标记作为第一代码段的运行标记输出至测试日志中。若运行第三子代码得到的运行结果对应的条件分支为假,则运行第六输出指令,将条件分支为假的标记作为第一代码段的运行标记输出至测试日志中。

21、此处,条件分支为真的标记、条件分支为假的标记,也可认为本文档来自技高网...

【技术保护点】

1.一种软件测试方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述根据所述测试日志中所述已运行代码段的运行标记,确定所述已运行代码段对应的测试对象的运行状态,包括:

3.如权利要求1或2所述的方法,其特征在于,所述已运行代码段中包括输出指令,所述输出指令中包括待输出标记;

4.如权利要求1-3中任一项所述的方法,其特征在于,还包括:

5.如权利要求1-4中任一项所述的方法,其特征在于,还包括:

6.如权利要求1-5中任一项所述的方法,其特征在于,所述测试全景图中包括多个图形框,每个图形框用于指示一个测试对象;

7.如权利要求1-6中任一项所述的方法,其特征在于,所述测试全景图中包括执行顺序箭头、变量引用箭头中一项或多项;

8.如权利要求7所述的方法,其特征在于,所述第三图形框对应的测试对象的前一个测试对象是条件判断时,所述变量引用箭头为第一预设形式;

9.一种软件测试装置,其特征在于,包括:

10.如权利要求9所述的装置,其特征在于,所述运行状态确定模块在根据所述测试日志中所述已运行代码段的运行标记,确定所述已运行代码段对应的测试对象的运行状态时,具体用于:

11.如权利要求9或10所述的装置,其特征在于,所述已运行代码段中包括输出指令,所述输出指令中包括待输出标记;

12.如权利要求9-11中任一项所述的装置,其特征在于,还包括:脚本生成模块;

13.如权利要求9-12中任一项所述的装置,其特征在于,所述显示控制模块还用于:

14.如权利要求9-13中任一项所述的装置,其特征在于,所述测试全景图中包括多个图形框,每个图形框用于指示一个测试对象;

15.如权利要求9-14中任一项所述的装置,其特征在于,所述测试全景图中包括执行顺序箭头、变量引用箭头中一项或多项;

16.如权利要求15所述的装置,其特征在于,所述第三图形框对应的测试对象的前一个测试对象是条件判断时,所述变量引用箭头为第一预设形式;

17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算设备执行时,实现如权利要求1至8中任一项所述的方法;或者,当所述计算机程序或指令被计算设备集群执行时,实现如权利要求1至8中任一项所述的方法。

18.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得所述计算设备执行如权利要求1至8中任一项所述的方法;或者,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至8中任一项所述的方法。

19.一种计算设备,其特征在于,包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算设备执行如权利要求1至8中任一项所述的方法。

20.一种计算设备集群,其特征在于,包括一个或多个计算设备,每个计算设备中包括处理器和存储器,所述存储器用于存储计算机程序,所述一个或多个计算设备的处理器用于执行所述一个或多个计算设备的存储器存储的计算机程序,以使得所述计算设备集群执行如权利要求1至8中任一项所述的方法。

...

【技术特征摘要】

1.一种软件测试方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述根据所述测试日志中所述已运行代码段的运行标记,确定所述已运行代码段对应的测试对象的运行状态,包括:

3.如权利要求1或2所述的方法,其特征在于,所述已运行代码段中包括输出指令,所述输出指令中包括待输出标记;

4.如权利要求1-3中任一项所述的方法,其特征在于,还包括:

5.如权利要求1-4中任一项所述的方法,其特征在于,还包括:

6.如权利要求1-5中任一项所述的方法,其特征在于,所述测试全景图中包括多个图形框,每个图形框用于指示一个测试对象;

7.如权利要求1-6中任一项所述的方法,其特征在于,所述测试全景图中包括执行顺序箭头、变量引用箭头中一项或多项;

8.如权利要求7所述的方法,其特征在于,所述第三图形框对应的测试对象的前一个测试对象是条件判断时,所述变量引用箭头为第一预设形式;

9.一种软件测试装置,其特征在于,包括:

10.如权利要求9所述的装置,其特征在于,所述运行状态确定模块在根据所述测试日志中所述已运行代码段的运行标记,确定所述已运行代码段对应的测试对象的运行状态时,具体用于:

11.如权利要求9或10所述的装置,其特征在于,所述已运行代码段中包括输出指令,所述输出指令中包括待输出标记;

12.如权利要求9-11中任一项所述的装置,其特征在于,还包括:脚本生成模块;

13.如权利要求9-12中任一项所述的装置,其特征在于,所述显示控制模块还用于:

【专利技术属性】
技术研发人员:郑强高晓斌
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1