一种自动化测试系统及方法

文档序号:6513235阅读:201来源:国知局
一种自动化测试系统及方法
【专利摘要】本发明涉及一种自动化测试系统及方法,通过控制面板配置测试类型、测试用例、测试结果保存地址等,后台根据上述配置与接口建立HttpConnection连接,调用测试用例并获得接口返回结果,然后对结果进行分析,调用对比算法对两个结果进行比对,把测试结果和对比结果存储到相应路径中。本发明既可进行功能测试,又可进行对比测试;不需要测试人员去逐条测试,系统一次就可获得所有测试用例的结果;不需要测试人员人为对比结果,系统有对比算法进行智能比对;系统具备下载功能,对功能测试结果和对比测试结果通过控制面板可以轻松下载成各种格式;系统通过控制面板实时监控测试进度、测试状态,用户可以随时停止测试;系统都是界面操作,上手容易。
【专利说明】一种自动化测试系统及方法

【技术领域】
[0001]本发明涉及一种自动化测试系统,具体是一种基于HttpConnect1n接口的自动化测试系统及方法。

【背景技术】
[0002]随着网络技术的发展,目前各种交互系统越做越大,越做越复杂,子系统的数量也逐步增长,并且客户的技术能力也不断地提升,导致原有的测试方法不能有效地发现bug。为了实现以保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本的目的,接口测试的重要性便愈发地明显了。接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
[0003]当我们对现有系统的接口进行功能扩展、性能优化、引擎更新等常规维护时,考虑的不仅是满足新需求,更重要的是不影响线上系统的正常使用,要严格的保证在输入指令相同时,更新后的系统输出结果与线上系统的输出结果一致,这样才能做到无缝升级。目前针对接口的测试,一般采用QTP、Winrunner等商业软件,其价格昂贵并且要求测试人员具备使用专业工具的技术。或者采用常规的测试方法,读取线上系统的访问日志,在访问日志里记录着每一输入指令相对应的输出结果,然后逐条将输入指令输入至新系统中得到输出结果,对比新老系统在输出结果上有无异同。
[0004]这种做法,不但需要投入大量的人力物力,而且频繁测试大量的用例会让人眼花缭乱,肉眼判断的误差率也会是一个不可预料的数字,如果存在多输入条件、多数据类型组合时,手工测试非常繁琐、更是加大了出错的几率并且测试不充分。并且对于一些需要重复测试的大量数据来说,诸如回归测试,需要重复单一的数据录入或是击键等测试操作造成了很多不必要的时间浪费和人力浪费。为了使测试人员从这种单调繁琐的工作中解脱出来,提高测试的效率和准确率,迫切需要一种自动化的测试方法,该方法不但不需要人为的逐个测试,而且还不需要人为比对,不但提高效率,准确性也能得到保证,但是目前尚没有一种测试工具能够满足这种需求。


【发明内容】

[0005]本发明所要解决的技术问题是现有技术中在对接口进行测试时需人为测试,人为比对所带来的时间浪费和人力浪费以及由此可能会带来的测试错误,从而提供一种自动化测试系统及方法。
[0006]为解决上述技术问题,本发明是通过以下技术方案实现的:
[0007]—种自动化测试系统,包括:
[0008]对比测试用例调用模块,用于根据对比测试用例的存放路径,调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,每一条第一测试用例和与之对应的第二测试用例具有相同的输入操作参数;
[0009]对比测试执行模块,用于控制线上系统运行每一条第一测试用例,得到第一测试结果;同时控制更新后系统运行与第一测试用例对应的第二测试用例,得到第二测试结果;
[0010]对比模块,用于比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
[0011 ] 进一步地还包括:
[0012]功能测试用例调用模块,用于根据功能测试用例的存放路径,调取功能测试用例,所述功能测试用例有若干条且每一所述功能测试用例根据更新后系统相对于线上系统所增加的功能来设定;
[0013]功能测试执行模块,用于控制更新后系统运行每一条所述功能测试用例得到功能测试结果并输出。
[0014]进一步地还包括:
[0015]参数配置模块,用于配置测试参数,所述测试参数包括对比测试类型参数和对比测试用例的存放路径;
[0016]测试类型读取模块,用于从所述参数配置模块中读取到对比测试类型参数后控制所述对比测试用例调用模块动作。
[0017]进一步地还包括:
[0018]所述参数配置模块配置的所述测试参数中,还包括功能测试类型参数和功能测试用例的存放路径;
[0019]所述测试类型读取模块,还用于从所述参数配置模块中读取到功能测试类型参数后控制所述功能测试用例调用模块动作。
[0020]进一步地所述参数配置模块配置的所述测试参数中,还包括对比测试结果存放路径;
[0021]系统还包括存储模块,用于根据所述对比测试结果存放路径存放所述对比模块输出的对比测试结果。
[0022]进一步地所述参数配置模块配置的所述测试参数中,还包括功能测试结果存放路径;
[0023]所述存储模块,还用于根据所述功能测试结果存放路径存放所述功能测试结果。
[0024]进一步地所述参数配置模块配置的所述测试参数中,还包括时间间隔;
[0025]所述对比测试执行模块,控制线上系统按照所述时间间隔运行相邻两条第一测试用例;和/或所述功能测试执行模块,控制更新后系统按照所述时间间隔运行相邻两条功能测试用例。
[0026]进一步地还包括:
[0027]第二存储模块,用于存储运行对比测试用例是否成功的结果和/或运行功能测试用例是否成功的结果。
[0028]进一步地还包括:
[0029]环境配置模块,用于配置测试系统运行时的依赖环境。
[0030]进一步地还包括:
[0031]控制面板,用于通过显示界面显示与所述环境配置模块和所述参数配置模块相对应的配置界面;以及与对比测试和功能测试对应的逻辑执行界面。
[0032]进一步地所述参数配置模块中,利用Check, properties配置函数配置所述测试参数,其包括:用于配置测试类型的TestType参数;用于配置对比测试用例的存放路径的DiffUrl参数;用于配置对比测试结果存放路径的OutputDiffurl参数;
[0033]所述测试类型读取模块,用于根据TestType参数判断测试类型是对比测试类型还是功能测试类型;
[0034]所述对比测试用例调用模块,用于在对比测试时,与DiffUrl参数配置的路径建立连接调取对比测试用例;所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志;所述访问日志中记录访问参数;
[0035]所述对比测试执行子模块,控制用所述第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;用第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果O
[0036]进一步地所述参数配置模块中,所述对比测试用例的存放格式为:
[0037]第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开;
[0038]所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。
[0039]进一步地所述参数配置模块中,所述Check, properties配置函数中还包括:用于配置功能测试用例的存放路径的Url参数;用于配置功能测试结果存放路径的OutputUrl参数;
[0040]所述功能测试用例调用模块,用于与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数;
[0041]所述功能测试执行模块,控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果。
[0042]进一步地所述参数配置模块中,所述Check, properties配置函数中还包括用于配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果OutputStateUrl。
[0043]进一步地还包括:
[0044]存储模块,用于与所述OutputDiffurl参数配置的路径建立连接存储对比测试结果和/或用于与OutputUrl参数配置的路径建立连接存储功能测试结果。
[0045]进一步地所述参数配置模块中,所述Check, properties配置函数中还包括用于配置时间间隔的Time参数。
[0046]进一步地所述环境配置模块中,利用QACheckData.bat函数配置测试系统的运行环境。
[0047]—种自动化测试方法,利用Check, properties配置函数配置测试参数;利用所述Check, properties配置函数中的TestType参数配置测试类型;DiffUrl参数配置对比测试用例的存放路径;0utputDiffurl参数配置对比测试结果存放路径;
[0048]根据TestType参数判断测试类型是对比测试类型还是功能测试类型;
[0049]测试类型为对比测试时,与DiffUrl参数配置的路径建立连接调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志,所述访问日志中记录访问参数;
[0050]利用每一条第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;利用对应的第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果;
[0051]比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
[0052]进一步地所述对比测试用例的存放格式为:
[0053]第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开;
[0054]所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。
[0055]进一步地还包括如下步骤:
[0056]利用所述Check, properties配置函数中的Url参数配置功能测试用例的存放路径;0utputUrl参数配置功能测试结果存放路径;
[0057]测试类型为功能测试时,与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数;
[0058]控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果。
[0059]进一步地还包括如下步骤:
[0060]利用所述Check, properties配置函数中的OutputStateUrl配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果。
[0061]进一步地还包括如下步骤:
[0062]所述OutputDiffurl参数配置的路径建立连接存储对比测试结果和/或与OutputUrl参数配置的路径建立连接存储功能测试结果。
[0063]进一步地还包括如下步骤:
[0064]利用所述Check, properties配置函数中的Time参数配置时间间隔;
[0065]与DiffUrl参数配置的路径建立连接后,根据所述时间间隔调取对比测试用例;
[0066]与Url参数配置的路径建立连接后,根据所述时间间隔调取功能测试用例。
[0067]进一步地还包括如下步骤:利用QACheckData.bat函数配置所述测试方法的运行环境。
[0068]本发明的上述技术方案相比现有技术具有以下优点:
[0069](I)本发明所述的自动化测试系统及方法,测试人员不再需要面对大量重复单一的数据录入或是击键等测试操作,自动化的测试方式将测试人员从这种单调繁琐的工作中解脱出来,提高测试的效率和准确率,同时减少了很多不必要的时间浪费和人力浪费。同时通过自动化完成测试用例和接口函数调用,大大简化了测试人员的工作量,使接口测试更加方便。使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;另外自动化测试更便于测试系统的数字化管理,由于接口自动化测试是通过大量测试用例来完成的,所以就可以保证每次测试时的数据是一样的,而大量测试用例可以被多次重复的使用,并且每发布一个新版本,其中大部分功能和界面都和上一个版本差不多,许多测试用例是可以重复使用的,这样使得测试系统在整个测试生命周期内可以得到复用。
[0070](2)本发明所述的自动化测试系统及方法,既可进行功能测试,又可进行对比测试;不需要测试人员去逐条测试,系统一次就可获得所有测试用例的结果;并且不需要测试人员人为对比结果,系统有对比算法进行智能比对。并且在产品的开发完成后做回归和集成测试时,要对整个系统中的每个接口功能点进行频繁的测试,工作量相当的繁重单调。自动化的测试方式将测试人员从这种单调繁琐的工作中解脱出来,提高了测试的效率和准确率。
[0071](3)本发明所述的自动化测试系统及方法,通过管理界面实时监控测试进度、测试状态,并且测试人员可以根据实际需要自行设定对接口的测试方式,以及测试结果保存的位置。同时在调用测试用例时,管理界面提供了三个按钮,包括运行、暂停和退出。测试人员可以随时暂停和退出测试;系统都是界面操作,非专业的测试人员也可以按照相应的提示进行操作,无需懂得使用专门的测试工具即可,上手容易。操作更加简单,人工操作出错的几率更小。
[0072](4)本发明所述的自动化测试系统及方法具备下载功能,对功能测试结果和对比结果通过界面可以轻松下载成各种格式,采用自动化测试系统保证了测试报告文档的生成和版本的连贯性。本发明还提供了针对功能测试和对比测试的测试报告,同时会把测试不通过的测试报告作为附件发送给开发人员,以便于开发人员及时发现问题的所在并进行相应的处理。

【专利附图】

【附图说明】
[0073]为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中,
[0074]图1是一种实施例所述自动化测试系统的系统结构示意图;
[0075]图2是一种实施例所述自动化测试系统的系统结构示意图;
[0076]图3是一种实施例所述自动化测试系统的系统结构示意图;
[0077]图4是一种实施例所述自动化测试系统的系统结构示意图;
[0078]图5是一种实施例所述自动化测试系统的控制界面示意图;
[0079]图6是一种实施例所述的自动化测试方法流程图;
[0080]图7是一种实施例所述的自动化测试方法流程图。

【具体实施方式】
[0081]实施例1
[0082]本实施例提供一种自动化测试系统,如图1所示,包括:
[0083]对比测试用例调用模块,用于根据对比测试用例的存放路径,调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,每一条第一测试用例和与之对应的第二测试用例具有相同的输入操作参数。对比测试执行模块,用于控制线上系统运行每一条第一测试用例,得到第一测试结果;同时控制更新后系统运行与第一测试用例对应的第二测试用例,得到第二测试结果。对比模块,用于比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
[0084]在本实施例中,所述线上系统是指当前正在提供服务的系统,而更新后系统是指对线上系统中的某些功能进行升级优化后的系统。所谓的升级优化,体现于功能扩展、性能优化方面。为了实现无缝升级,当将相同的输入指令输入到线上系统和更新后系统中时,两个系统输出的结果应该保持一致,这就需要用到对比测试。本实施例中的自动化测试系统,可用于对任何系统进行自动化测试,能够自动调取对比测试用例、自动对测试结果进行对t匕,不需要测试人员去逐条测试,不需要用户人为对比结果,不但提高了对比测试的效率,准确性也能得到极大的保证。
[0085]本实施例中的自动化测试系统,测试人员不再需要面对大量重复单一的数据录入或是击键等测试操作,自动化的测试方式将测试人员从这种单调繁琐的工作中解脱出来,提高测试的效率和准确率,同时减少了很多不必要的时间浪费和人力浪费。同时通过自动化完成测试用例和接口函数调用,大大简化了测试人员的工作量,使接口测试更加方便。使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;另外自动化测试更便于测试系统的数字化管理,由于接口自动化测试是通过大量测试用例来完成的,所以就可以保证每次测试时的数据是一样的,而大量测试用例可以被多次重复的使用,并且每发布一个新版本,其中大部分功能和界面都和上一个版本差不多,许多测试用例是可以重复使用的,这样使得测试系统在整个测试生命周期内可以得到复用。
[0086]本实施例提供的自动化测试系统,不但能够实现自动对比测试还能够实现功能测试。如图2所示,还包括:
[0087]功能测试用例调用模块,用于根据功能测试用例的存放路径,调取功能测试用例,所述功能测试用例有若干条且每一所述功能测试用例根据更新后系统相对于线上系统所增加的功能来设定。
[0088]功能测试执行模块,用于控制更新后系统运行每一条所述功能测试用例得到功能测试结果并输出。
[0089]本实施例通过配置测试类型为功能测试和对比测试来进行两种不同的测试。其中功能测试:根据输入的测试用例,返回测试结果;对比测试:对输入的两个测试用例,首先分别进行功能测试,然后对两个结果进行比对,返回比对结果。因此,无论是对比测试还能功能测试,均可以通过本实施例提供的自动化测试系统来执行,将测试人员将手动测试的繁杂中解放出来,并且自动化测试系统由于减少了人为操作,也进一步提高了测试结果的准确度。
[0090]为了提高系统整体运作的可操作性,如图3所示,本实施例所述系统还包括:
[0091]参数配置模块,用于配置测试参数,所述测试参数包括对比测试类型参数和对比测试用例的存放路径;
[0092]测试类型读取模块,用于从所述参数配置模块中读取到对比测试类型参数后控制所述对比测试用例调用模块动作。
[0093]所述参数配置模块配置的所述测试参数中,还包括功能测试类型参数和功能测试用例的存放路径;
[0094]所述测试类型读取模块,还用于从所述参数配置模块中读取到功能测试类型参数后控制所述功能测试用例调用模块动作。
[0095]所述参数配置模块配置的所述测试参数中,还包括对比测试结果存放路径。系统还包括存储模块,用于根据所述对比测试结果存放路径存放所述对比模块输出的对比测试结果。
[0096]所述参数配置模块配置的所述测试参数中,还包括功能测试结果存放路径。所述存储模块,还用于根据所述功能测试结果存放路径存放所述功能测试结果。
[0097]通过参数配置模块合理有效的配置测试参数,包括对比测试类型参数、对比测试用例和对比测试结果的存放路径以及功能测试类型参数和功能测试用例和功能测试结果的存放路径。所述测试类型读取模块用于从所述参数配置模块中读取到相应测试类型参数后控制所述相应测试用例调用模块动作。而存储模块则负责存储对比测试结果和功能测试结果。各个模块之间相互衔接配合,使得整体的运作更加灵活,可操作性强。
[0098]在利用本实施例的自动化测试系统时,无论是运行功能测试用例还是运行对比测试用例,都需要一定的时间间隔,因此本实施例中的所述参数配置模块配置的所述测试参数中,还包括时间间隔。所述对比测试执行模块,控制线上系统按照所述时间间隔运行相邻两条第一测试用例;和/或所述功能测试执行模块,控制更新后系统按照所述时间间隔运行相邻两条功能测试用例。通过设置合理的时间间隔参数,能够避免一条测试用例运行完成后没有及时的运行下一条测试用例,同时也能够避免一条测试用例还未运行完成就开始调用了下一条测试用例,能够确保每一条测试用例运行过程中的完整性而又有较高的效率。
[0099]另外,在利用本实施例提供的自动化测试系统时,由于对测试用例的调用是根据配置的路径识别后自动执行的,例如测试用例存储于D盘下的“功能测试用例存放函数夹”中,按上述路径可以查找到功能测试用例,而在功能测试用例函数夹中存放着若干条功能测试用例,需要逐条取出功能测试用例,更新后系统逐条运行功能测试用例,根据功能测试用例中所记录输入参数获取功能测试结果。这时需要保证更新后系统能够根据功能测试用例中记录的输入参数来运行,但是也有可能会存在运行不成功的情况,而如果对这种情况不进行记录,被误认为成功运行了测试用例而未返回应有的结果,导致测试结果的不准确。为了避免上述情况的出现,如图4所示,上述自动化测试系统还包括第二存储模块,用于存储对比测试用例是否成功运行的结果和/或功能测试用例是否成功运行的结果。因此,如果运行测试用例在连接的过程出现了异常,可以从第二存储模块中存储的结果中查询到,可以确保每一条测试结果是在测试用例成功运行的条件下得到的。
[0100]当利用本实施例中的自动化测试系统实现线上系统和更新后系统的对比测试时,需要利用环境配置模块将测试系统运行时的依赖环境配置好,包括运行环境中所需的数据库、所用内存等。运行环境配置完成之后,可以采用所述参数配置模块将对比测试类型、对比测试用例的存放路径、对比测试结果存放路径等配置好。利用测试类型读取模块、对比测试用例调用模块、对比测试执行模块、对比模块可自动调取对比测试用例中的第一测试用例和第二测试用例,并控制线上系统运行第一测试用例,更新后系统运行第二测试用例,当线上系统和更新后系统运行完测试用例后得到第一测试结果和第二测试结果,通过对比模块对比测试结果,由于第一测试用例和第二测试用例具有相同的输入操作参数,因此理论上第一测试结果和第二测试结果应该相同,如果不相同则需要对更新后系统进行改进,将对比模块的比较结果存储到存储模块中,供技术人员查验。
[0101]作为本实施例的优选实施方式,还包括控制面板,如图5所示。用于通过显示界面显示与所述环境配置模块和所述参数配置模块相对应的配置界面以及逻辑执行界面。通过界面配置测试类型、测试用例、测试结果保存地址等,后台根据上述配置与执行自动化测试。通过管理界面实时监控测试进度、测试状态,并且测试人员可以根据实际需要自行设定对接口的测试方式,以及测试结果保存的位置。同时在调用测试用例时,管理界面提供了三个按钮,包括运行、暂停和退出。测试人员可以随时暂停和退出测试;系统都是界面操作,非专业的测试人员也可以按照相应的提示进行操作,无需懂得使用专门的测试工具即可,上手容易。操作更加简单,人工操作出错的几率更小。本实施例所述的自动化测试系统具备下载功能,对功能测试结果和对比结果通过界面可以轻松下载成各种格式,采用自动化测试系统保证了测试报告文档的生成和版本的连贯性。本发明还提供了针对功能测试和对比测试的测试报告,同时会把测试不通过的测试报告作为附件发送给开发人员,以便于开发人员及时发现问题的所在并进行相应的处理。
[0102]实施例2
[0103]本实施例中的自动化测试系统,为了能适用于对基于HttpConnect1n连接的接口进行测试,在实施例1的基础上,做如下改进:所述参数配置模块中,利用Check,properties配置函数配置所述测试参数,其包括:用于配置测试类型的TestType参数;用于配置对比测试用例的存放路径的DiffUrl参数;用于配置对比测试结果存放路径的OutputDiffurl参数。所述测试类型读取模块,用于根据TestType参数判断测试类型是对比测试类型还是功能测试类型。所述对比测试用例调用模块,用于在对比测试时,与DiffUrl参数配置的路径建立连接调取对比测试用例;所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志;所述访问日志中记录访问参数。所述对比测试执行子模块,控制用所述第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;用第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果。
[0104]采用本实施例中的自动化测试系统,可以对所有基于HttpConnect1n连接访问的接口进行对比测试。某一接口进行了功能扩展、性能优化、引擎更新等性能优化之后,未进行优化的接口即为本实施例所述的线上系统,进行优化后的接口即为本实施例所述的更新后系统。而对于基于HttpConnect1n连接访问的接口来说,其访问日志中记录访问参数;而域名是由一串用点分隔的名字组成的Internet上某一系统的地址。因此,当所述对比测试执行子模块,控制用所述第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,即线上系统的输入操作为访问日志中所记录的访问参数,由此得到第一测试结果;用第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名,即更新后系统输入操作为访问日志中所记录的访问参数,得到第二测试结果。由此便实现了利用相同的访问参数分别访问线上系统和更新后系统,并分别得到了第一测试结果和第二测试结果的功能。
[0105]另外,本实施例中所采用的Check, properties配置函数、QACheckData.jar函数可以通过Java程序设计来实现。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,本实施例中采用Java技术实现相较于其他工具和平台更备了显著优势和广阔前景。
[0106]本实施例提供的自动化系统能够实现对基于HttpConnect1n连接的接口进行自动化测试,克服现有测试的不足,使测试人员从逐条测试、对比分析测试结果这种繁重的测试工作中解脱出来,减少人为比对测试结果出现的误差,使得接口的测试上手简单,操作方便,闻质闻效。
[0107]本实施例中,为了能够节约数据的存储空间以及使得测试用例的格式与现有技术中基于HttpConnect1n连接的接口的测试用例的格式兼容配合。所述参数配置模块中,所述对比测试用例的存放格式为:第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开。所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。例如:线上系统域名+ “,”+更新后系统域名+ “,” +访问日志,此处的分隔符号为逗号。当然,也可以采用其他格式来存放测试用例,例如可以将分隔符号换为“ ;等均可。再例如,也可以直接将第一测试用例和第二测试用例分别进行存储,其中第一测试用例即为:线上系统域名+ “,”+访问日志;而第二测试用例即为:更新后系统域名+ “,” +访问日志。
[0108]为了能够同时实现功能测试,所述Check, properties配置函数中还包括:用于配置功能测试用例的存放路径的Url参数;用于配置功能测试结果存放路径的OutputUrl参数;所述功能测试用例调用子模块,用于与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数;所述功能测试执行子模块,控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果;
[0109]本实施例中,所述功能测试用例的格式采用一般的线上系统的标准日志的格式:域名/ (ip+端口)+接口名称+ “ ? ”+访问参数。还可以选择其他的自定义的格式,例如可以将其中的问号更换为其他的分隔符号,也可以将每一个参数的位置进行调整等,或者根据需要增加或减少参数均可。
[0110]本实施例通过配置测试类型为功能测试和对比测试来进行两种不同的测试,其中功能测试:根据输入的测试用例,返回测试结果;对比测试:对输入的两个测试用例,首先分别进行功能测试,然后对两个结果进行比对,返回比对结果。因此,无论是对比测试还是功能测试,均可以通过本实施例提供的自动化测试系统来执行,将测试人员将手动测试的繁杂中解放出来,并且自动化测试系统由于减少了人为操作,也进一步提高了测试结果的准确度。
[0111]作为优选的实施方式,所述Check, properties配置函数中还包括用于配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果OutputStateUrl。由于本实施例中是通过HttpConnect1n连接的方式对线上系统和更新后系统进行访问的,其中运行测试用例、存储测试都必须依赖Http连接的成功。一旦Http连接不成功,如返回505 (HTTP505错误表示HTTP版本不受支持)、404 (用户输入了错误的链接)等错误时,均可将其存储在OutputStateUrl参数配置的路径下。
[0112]本实施例还存储模块,用于与所述OutputDifTurl参数配置的路径建立连接存储对比测试结果和/或用于与OutputUrl参数配置的路径建立连接存储功能测试结果。作为一种可选的实施方式,所述Check, properties配置函数中还包括用于配置时间间隔Time的Time参数。通过设置合理的Time参数,能够避免一条测试用例运行完成后没有及时的运行下一条测试用例,同时也能够避免一条测试用例还未运行完成就开始调用了下一条测试用例,能够确保每一条测试用例运行过程中的完整性而又有较高的效率。本实施例中,所述环境配置模块采用QACheckData.bat函数实现,配置系统运行时的依赖环境:包括运行环境中 jdk 的路径、所用内存等,如:〃C:\Java\jdkl.6.0_43\bin\java"。
[0113]实施例3
[0114]本实施例中的自动化测试方法,如图6所示,包括如下步骤:
[0115]利用Check, properties配置函数配置测试参数;利用所述Check, properties配置函数中的TestType参数配置测试类型;DiffUrl参数配置对比测试用例的存放路径;OutputDiffurl参数配置对比测试结果存放路径。根据TestType参数判断测试类型是对比测试类型还是功能测试类型。测试类型为对比测试时,与DifTUrl参数配置的路径建立连接调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志,所述访问日志中记录访问参数。利用每一条第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;利用对应的第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果。比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
[0116]采用本实施例中的自动化测试方法,可以对所有基于HttpConnect1n连接访问的接口进行对比测试。某一接口进行了功能扩展、性能优化、引擎更新等性能优化之后,未进行优化的接口即为本实施例所述的线上系统,进行优化后的接口即为本实施例所述的更新后系统。而对于基于HttpConnect1n连接访问的接口来说,其访问日志中记录访问参数;而域名是由一串用点分隔的名字组成的Internet上某一系统的地址。因此,当所述对比测试执行子模块,控制用所述第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,即线上系统的输入操作为访问日志中所记录的访问参数,由此得到第一测试结果;用第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名,即更新后系统输入操作为访问日志中所记录的访问参数,得到第二测试结果。由此便实现了利用相同的访问参数分别访问线上系统和更新后系统,并分别得到了第一测试结果和第二测试结果的功能。
[0117]另外,本实施例中所采用的Check, properties配置函数、QACheckData.jar函数可以通过Java程序设计来实现。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,本实施例中采用Java技术实现相较于其他工具和平台更备了显著优势和广阔前景。
[0118]本实施例提供的自动化系统能够实现对基于HttpConnect1n连接的接口进行自动化测试,克服现有测试的不足,使测试人员从逐条测试、对比分析测试结果这种繁重的测试工作中解脱出来,减少人为比对测试结果出现的误差,使得接口的测试上手简单,操作方便,闻质闻效。
[0119]本实施例中,为了能够节约数据的存储空间以及使得测试用例的格式与现有技术中基于HttpConnect1n连接的接口的测试用例的格式兼容配合。所述参数配置模块中,所述对比测试用例的存放格式为:第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开。所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。例如:线上系统域名+ “,”+更新后系统域名+ “,” +访问日志,此处的分隔符号为逗号。当然,也可以采用其他格式来存放测试用例,例如可以将分隔符号换为“ ;等均可。再例如,也可以直接将第一测试用例和第二测试用例分别进行存储,其中第一测试用例即为:线上系统域名+ “,”+访问日志;而第二测试用例即为:更新后系统域名+ “,” +访问日志。
[0120]为了能够同时实现功能测试,本实施例还包括如下步骤:
[0121]利用所述Check, properties配置函数中的Url参数配置功能测试用例的存放路径;0utputUrl参数配置功能测试结果存放路径。测试类型为功能测试时,与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数。控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果。
[0122]本实施例中,所述功能测试用例的格式采用一般的线上系统的标准日志的格式:域名/ (ip+端口)+接口名称+ “ ? ”+访问参数。还可以选择其他的自定义的格式,例如可以将其中的问号更换为其他的分隔符号,也可以将每一个参数的位置进行调整等,或者根据需要增加或减少参数均可。
[0123]本实施例通过配置测试类型为功能测试和对比测试来进行两种不同的测试,其中功能测试:根据输入的测试用例,返回测试结果;对比测试:对输入的两个测试用例,首先分别进行功能测试,然后对两个结果进行比对,返回比对结果。因此,无论是对比测试还是功能测试,均可以通过本实施例提供的自动化测试系统来执行,将测试人员将手动测试的繁杂中解放出来,并且自动化测试系统由于减少了人为操作,也进一步提高了测试结果的准确度。
[0124]作为优选的实施方式,利用所述Check, properties配置函数中的OutputStateUrl配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果。由于本实施例中是通过HttpConnect1n连接的方式对线上系统和更新后系统进行访问的,其中运行测试用例、存储测试都必须依赖Http连接的成功。一旦Http连接不成功,如返回505 (HTTP505错误表示HTTP版本不受支持)、404 (用户输入了错误的链接)等错误时,均可将其存储在OutputStateUrl参数配置的路径下。
[0125]本实施例所述OutputDiffurl参数配置的路径建立连接存储对比测试结果和/或用于与OutputUrl参数配置的路径建立连接存储功能测试结果。作为一种可选的实施方式,如图7所示,还包括如下步骤:
[0126]利用所述Check, properties配置函数中的Time参数配置时间间隔;
[0127]与DiffUrl参数配置的路径建立连接后,根据所述时间间隔调取对比测试用例;
[0128]与Url参数配置的路径建立连接后,根据所述时间间隔调取功能测试用例。
[0129]通过设置合理的Time参数,能够避免一条测试用例运行完成后没有及时的运行下一条测试用例,同时也能够避免一条测试用例还未运行完成就开始调用了下一条测试用例,能够确保每一条测试用例运行过程中的完整性而又有较高的效率。本实施例中,还包括如下步骤:利用QACheckData.bat函数配置所述测试方法的运行环境:包括运行环境中jdk的路径、所用内存等,如:〃C:\Java\jdkl.6.0_43\bin\java〃。
[0130]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0131]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0132]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0133]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0134]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
【权利要求】
1.一种自动化测试系统,其特征在于,包括: 对比测试用例调用模块,用于根据对比测试用例的存放路径,调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,每一条第一测试用例和与之对应的第二测试用例具有相同的输入操作参数; 对比测试执行模块,用于控制线上系统运行每一条第一测试用例,得到第一测试结果;同时控制更新后系统运行与第一测试用例对应的第二测试用例,得到第二测试结果; 对比模块,用于比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
2.根据权利要求1所述的自动化测试系统,其特征在于,还包括: 功能测试用例调用模块,用于根据功能测试用例的存放路径,调取功能测试用例,所述功能测试用例有若干条且每一所述功能测试用例根据更新后系统相对于线上系统所增加的功能来设定; 功能测试执行模块,用于控制更新后系统运行每一条所述功能测试用例得到功能测试结果并输出。
3.根据权利要求1或2所述的自动化测试系统,其特征在于,还包括: 参数配置模块,用于配置测试参数,所述测试参数包括对比测试类型参数和对比测试用例的存放路径; 测试类型读取模块,用于从所述参数配置模块中读取到对比测试类型参数后控制所述对比测试用例调用模块动作。
4.根据权利要求1-3任一所述的自动化测试系统,其特征在于,还包括: 所述参数配置模块配置的所述测试参数中,还包括功能测试类型参数和功能测试用例的存放路径; 所述测试类型读取模块,还用于从所述参数配置模块中读取到功能测试类型参数后控制所述功能测试用例调用模块动作。
5.根据权利要求1-4任一所述的自动化测试系统,其特征在于: 所述参数配置模块配置的所述测试参数中,还包括对比测试结果存放路径; 系统还包括存储模块,用于根据所述对比测试结果存放路径存放所述对比模块输出的对比测试结果。
6.根据权利要求5所述的自动化测试系统,其特征在于: 所述参数配置模块配置的所述测试参数中,还包括功能测试结果存放路径; 所述存储模块,还用于根据所述功能测试结果存放路径存放所述功能测试结果。
7.根据权利要求3-6任一所述的自动化测试系统,其特征在于: 所述参数配置模块配置的所述测试参数中,还包括时间间隔; 所述对比测试执行模块,控制线上系统按照所述时间间隔运行相邻两条第一测试用例;和/或所述功能测试执行模块,控制更新后系统按照所述时间间隔运行相邻两条功能测试用例。
8.根据权利要求1-7任一所述的自动化测试系统,其特征在于,还包括: 第二存储模块,用于存储运行对比测试用例是否成功的结果和/或运行功能测试用例是否成功的结果。
9.根据权利要求1-8任一所述的自动化测试系统,其特征在于,还包括: 环境配置模块,用于配置测试系统运行时的依赖环境。
10.根据权利要求9所述的自动化测试系统,其特征在于,还包括: 控制面板,用于通过显示界面显示与所述环境配置模块和所述参数配置模块相对应的配置界面;以及与对比测试和功能测试对应的逻辑执行界面。
11.根据权利要求3-10任一所述的自动化测试系统,其特征在于: 所述参数配置模块中,利用Check, properties配置函数配置所述测试参数,其包括:用于配置测试类型的TestType参数;用于配置对比测试用例的存放路径的DifTUrl参数;用于配置对比测试结果存放路径的OutputDiffurl参数; 所述测试类型读取模块,用于根据TestType参数判断测试类型是对比测试类型还是功能测试类型; 所述对比测试用例调用模块,用于在对比测试时,与DiffUrl参数配置的路径建立连接调取对比测试用例;所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志;所述访问日志中记录访问参数; 所述对比测试执行子模块,控制用所述第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;用第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果。
12.根据权利要求11所述的自动化测试系统,其特征在于: 所述参数配置模块中,所述对比测试用例的存放格式为: 第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开; 所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。
13.根据权利要求11或12所述的自动化测试系统,其特征在于: 所述参数配置模块中,所述Check, properties配置函数中还包括:用于配置功能测试用例的存放路径的Url参数;用于配置功能测试结果存放路径的OutputUrl参数; 所述功能测试用例调用模块,用于与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数; 所述功能测试执行模块,控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果。
14.根据权利要求11-13任一所述的自动化测试系统,其特征在于: 所述参数配置模块中,所述Check, properties配置函数中还包括用于配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果OutputStateUrl。
15.根据权利要求11-14任一所述的自动化测试系统,其特征在于,还包括: 存储模块,用于与所述OutputDiffurl参数配置的路径建立连接存储对比测试结果和/或用于与OutputUrl参数配置的路径建立连接存储功能测试结果。
16.根据权利要求10-15任一所述的自动化测试系统,其特征在于: 所述参数配置模块中,所述Check, properties配置函数中还包括用于配置时间间隔的Time参数。
17.根据权利要求11-16任一所述的自动化测试系统,其特征在于: 所述环境配置模块中,利用QACheckData.bat函数配置测试系统的运行环境。
18.—种自动化测试方法,其特征在于: 利用Check, properties配置函数配置测试参数;利用所述Check, properties配置函数中的TestType参数配置测试类型;DiffUrl参数配置对比测试用例的存放路径;OutputDiffurl参数配置对比测试结果存放路径; 根据TestType参数判断测试类型是对比测试类型还是功能测试类型; 测试类型为对比测试时,与DiffUrl参数配置的路径建立连接调取对比测试用例;所述对比测试用例包括若干条第一测试用例和与之对应的第二测试用例,所述第一测试用例包括线上系统域名和访问日志,所述第二测试用例包括更新后系统域名和访问日志,所述访问日志中记录访问参数; 利用每一条第一测试用例中访问日志记录的访问参数访问所述第一测试用例中记载的线上系统域名,得到第一测试结果;利用对应的第二测试用例中访问日志记录的访问参数访问所述第二测试用例中记载的更新后系统域名得到第二测试结果; 比较每一条第一测试结果和对应的第二测试结果是否相同并输出对比测试结果。
19.根据权利要求18所述的自动化测试方法,其特征在于,所述对比测试用例的存放格式为: 第一列为线上系统域名,第二列为更新后系统域名,第三列为访问日志,相邻两列之间用分隔符号分开; 所述对比测试用例的第一列与第三列形成所述第一测试用例,第二列与第三列形成所述第二测试用例。
20.根据权利要求18或19所述的自动化测试方法,其特征在于,还包括如下步骤: 利用所述Check, properties配置函数中的Url参数配置功能测试用例的存放路径;OutputUrl参数配置功能测试结果存放路径; 测试类型为功能测试时,与Url参数配置的路径建立连接调取功能测试用例,所述功能测试用例包括更新后系统域名和访问参数; 控制所述功能测试用例中的访问参数访问所述功能测试用例中记录的更新后系统域名,得到功能测试结果。
21.根据权利要求18-20任一所述的自动化测试方法,其特征在于,还包括如下步骤: 利用所述Check, properties配置函数中的OutputStateUrl配置存储对线上系统域名的访问和/或对更新后系统的访问是否成功的结果。
22.根据权利要求18-21任一所述的自动化测试方法,其特征在于,还包括如下步骤: 所述OutputDiffurl参数配置的路径建立连接存储对比测试结果和/或与OutputUrl参数配置的路径建立连接存储功能测试结果。
23.根据权利要求18-22任一所述的自动化测试方法,其特征在于,还包括如下步骤: 利用所述Check, properties配置函数中的Time参数配置时间间隔; 与DiffUrl参数配置的路径建立连接后,根据所述时间间隔调取对比测试用例; 与Url参数配置的路径建立连接后,根据所述时间间隔调取功能测试用例。
24.根据权利要求18-23任一所述的自动化测试方法,其特征在于,还包括如下步骤: 利用QACheckData.bat函数配置所述测试方法的运行环境。
【文档编号】G06F11/36GK104516809SQ201310444692
【公开日】2015年4月15日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】欧阳素珍 申请人:方正宽带网络服务股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1