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

技术编号:8452923 阅读:451 留言:0更新日期:2013-03-21 14:38
本发明专利技术公开了一种软件测试方法和测试装置,所述方法包括:对被测软件的测试用例脚本进行解析;在根据解析结果依次执行各测试步骤的过程中,若当前的测试步骤为需验证步骤,则根据该测试步骤的步骤执行信息执行完毕该测试步骤,得到执行结果后,调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值和验证对象信息传入到该方法中对所述执行结果进行验证。由于测试人员可以根据验证需求,在测试用例脚本中方便地配置相应的验证方法名称;在对测试用例脚本进行解析后,可根据配置的验证方法名称动态调用相应方法实现验证需求;此过程中,测试人员不用涉及编程,使得测试人员更专注于测试逻辑相关的内容,高效、快速完成复杂测试任务。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,尤其涉及一种软件测试方法和测试装置
技术介绍
软件测试,一直都是软件开发中非常关键也是非常繁琐的一环;随着软件公司的发展,产品线不断扩大,软件新版本不断推出,支持的平台越来越丰富,如何高效、快速的对软件产品进行测试成为软件测试团队所面临的问题。越来越多的项目组在考虑对软件软件产品进行自动化回归测试,考虑选取适合自己项目组的自动化工具。面对数目繁多、各式各样的自动化工具,选择也不是件很容易的事情。开源自动化测试工具有Selenium、Watir 等测试工具,商业的测试工具如国际商业机器公司IBM的Rational Functional Tester> Rational Robot、惠普 HP 公司的 QuickTest Professional、Borland 公司的 SilkTest 等等。开源工具使用成本比较低,但功能不如商业工具丰富。商业工具可以提供强大的录制功能,为初学者所喜爱,但录制脚本并不是自动化测试最优方案。录制脚本中的测试数据和脚本程序混杂在一起,很难进行维护;此外,当测试用例发生较大的变更时,维护用例和重新录制用例所花费的精力不分上下。但是不管使用开源的还是商业的自动化测试工具,都需要测试人员熟悉开发编程语言。编程门槛让很大一部分的优秀业务测试专家只能对自动化测试驻足遥望。因此,在Wb (网络)应用软件或Android (安卓)应用软件的测试领域,越来越多的测试系统开发团队在研究如何让不熟悉编程的业务专家也能编写自动化回归测试用例。现在流行的工作模式是测试人员使用XML (ExtensiveMakeupLanguage,可扩展标示语言)维护测试用例、只需要维护测试逻辑与数据相关的内容;测试系统开发人员提供处理XML用例脚本文件的测试引擎。测试人员使用测试引擎执行XML用例脚本文件完成测试过程。但在复杂的测试情景下,为了确保测试步骤正确执行,需要增添各种验证点。比如,需要验证Web页面上的控件是否存在、或需要比较期望值与实际字符串是否相等、是否包含,是否包含前缀、后缀、或需要比较期望与实际数字是否相等,是否大于、等于、小于等。 然而现有技术的基于XML用例脚本的测试引擎并不能提供对验证点进行验证的功能;为了对测试步骤执行结果进行验证,测试人员不得不进行复杂的编程工作来实现验证点的自动验证;这使得测试人员无法专注于测试逻辑相关的内容,并且,也无法高效、快速的完成测试任务。综上所述,现有技术的基于XML用例脚本的测试方法无法为测试人员提供验证测试步骤执行结果的功能,使得测试人员无法高效、快速的完成比较复杂的测试任务。
技术实现思路
本专利技术的实施例提供了一种软件测试方法和测试装置,用以提供具有验证测试步骤执行结果的功能的基于测试用例脚本的测试方法,以便于测试人员高效、快速的完成比较复杂的测试任务。根据本专利技术的一个方面,提供了一种软件测试方法,包括对被测软件的测试用例脚本进行解析;所述测试用例脚本中记载了为各测试步骤 配置的步骤执行信息,以及为所述测试步骤中的需验证步骤配置的步骤验证信息,所述步 骤验证信息中包括验证方法名称、期望值、验证对象信息;在根据解析结果依次执行各测试步骤的过程中,若当前的测试步骤为需验证步 骤,则根据该测试步骤的步骤执行信息执行完毕该测试步骤,得到执行结果后,调用该测试 步骤的验证方法名称所指示的方法,并将该测试步骤的期望值和验证对象信息传入到该方 法中对所述执行结果进行验证。其中,所述验证对象信息具体为变量名;以及所述调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值和 验证对象信息传入到该方法中对所述执行结果进行验证,具体为调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值,以及 该测试步骤的验证对象信息传入到该方法中;该方法根据所述期望值,对所述执行结果中 由所述变量名指示的变量的值进行验证;或者,所述验证对象信息具体为验证对象的定位信息;以及所述调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值和 验证对象信息传入到该方法中对所述执行结果进行验证,具体为调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值,以及 该测试步骤的验证对象的定位信息传入到该方法中,由该方法根据所述验证对象的定位信 息从作为执行结果的页面中定位验证对象,并根据所述期望值对定位的验证对象的值进行 验证。进一步,所述步骤验证信息还包括重试次数设定值;以及在所述将该测试步骤的期望值传入到该方法中对所述执行结果进行验证后,还包 括若该方法返回的验证结果为失败,则依据该测试步骤的重试次数设定值进行重 试在一次重试过程中,重新根据该测试步骤的步骤执行信息执行该测试步骤后,再 调用该测试步骤的验证方法名称所指示的方法,重新根据该测试步骤的期望值对该测试步 骤的执行结果进行验证;若确定该次重试过程中该方法返回的验证结果仍为失败,则在确定重试的次数小 于该测试步骤的重试次数设定值后,进行下次重试过程;若确定该次重试过程中该方法返回的验证结果为成功,则确定该测试步骤的最终 验证结果为成功。进一步,所述步骤验证信息还包括验证点类别;以及在所述依据该测试步骤的重试次数设定值进行重试后,还包括若得到的该测试步骤的最终验证结果为失败,则若确定该测试步骤的验证点类别为断言类别,则终止所述测试用例脚本的执行, 报告失败结果;若确定该测试步骤的验证点类别为验证类别,则根据下个测试步骤的步骤执行信息执行下个测试步骤。进一步,所述步骤验证信息还包括验证工具信息;以及在所述调用该测试步骤的验证方法名称所指示的方法之前,还包括确定所述方法所属工具;以及所述测试用例脚本为可扩展标示语言XML格式的。根据本专利技术的另一个方面,还提供了一种软件测试装置,包括测试用例解析模块,用于对被测软件的测试用例脚本进行解析;所述测试用例脚 本中记载了为各测试步骤配置的步骤执行信息,以及为所述测试步骤中的需验证步骤配置 的步骤验证信息,所述步骤验证信息中包括验证方法名称、期望值、验证对象信息;测试执行模块,用于在根据所述测试用例解析模块的解析结果依次执行各测试步 骤的过程中,若当前的测试步骤为需验证步骤,则根据该测试步骤的步骤执行信息执行完 毕该测试步骤,得到执行结果后,调用该测试步骤的验证方法名称所指示的方法,并将该测 试步骤的期望值和和验证对象信息传入到该方法中对所述执行结果进行验证。进一步,所述步骤验证信息还包括重试次数设定值;以及所述测试执行模块在所述将该测试步骤的期望值传入到该方法中对所述执行结 果进行验证后,还用于若确定该方法返回的验证结果为失败,则依据该测试步骤的重试次 数设定值进行重试在一次重试过程中,所述测试执行模块重新根据该测试步骤的步骤执行信息执行 该测试步骤后,再调用该测试步骤的验证方法名称所指示的方法,重新根据该测试步骤的 期望值对该测试步骤的执行结果进行验证;若所述测试执行模块确定该次重试过程中该方法返回的验证结果仍为失败,则在 确定重试的次数小于该测试步骤的重试次数设定值后,进行下次重试过程;若所述测试执行模块确定该次重试过程中该方法返回的验证结果为成功,则确定 该测试步骤的最终验证结果为成功。进一步,所述步骤验证信息还包括本文档来自技高网
...

【技术保护点】
一种软件测试方法,包括:对被测软件的测试用例脚本进行解析;所述测试用例脚本中记载了为各测试步骤配置的步骤执行信息,以及为所述测试步骤中的需验证步骤配置的步骤验证信息,所述步骤验证信息中包括:验证方法名称、期望值、验证对象信息;在根据解析结果依次执行各测试步骤的过程中,若当前的测试步骤为需验证步骤,则根据该测试步骤的步骤执行信息执行完毕该测试步骤,得到执行结果后,调用该测试步骤的验证方法名称所指示的方法,并将该测试步骤的期望值和验证对象信息传入到该方法中对所述执行结果进行验证。

【技术特征摘要】

【专利技术属性】
技术研发人员:祝尚元
申请(专利权)人:青岛海信传媒网络技术有限公司
类型:发明
国别省市:

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

1