云测试环境中测试脚本自动解析系统及其实现方法

文档序号:9564517阅读:403来源:国知局
云测试环境中测试脚本自动解析系统及其实现方法
【技术领域】
[0001]本发明涉及一种测试脚本解析系统及其实现方法,尤其涉及一种云测试环境中测试脚本自动解析系统及其实现方法。
【背景技术】
[0002]现代软件规模的巨大和复杂使得软件测试变得非常困难,软件测试通常要占到开发成本的50%甚至更多。因此,提高软件测试效率,对于降低软件开发成本,加快软件开发周期有重要的意义。软件测试的步骤一股是先要编写或录制测试脚本,然后运行测试脚本得到测试结果。这样的手动测试非常耗时,劳动强度高,并且很单调,而且还会引入一些人为的错误,因此人们提出了自动化测试的方案。通常自动化测试是通过一些测试自动化工具开发和执行测试脚本,达到评估软件质量的目的。自动化测试不仅能够大大减轻测试人员的工作量,而且减少了测试过程中人为出现的错误。
[0003]然而随着软件规模的增大,测试脚本的数量和规模也在急剧增加,传统的测试环境已经很难适应大量测试脚本的测试需求。随着云计算技术的不断发展,人们考虑将自动化测试环境部署在云中,利用云的无限的计算资源运行测试脚本,以达到提高测试效率的目的。云环境中的测试能应对大量的测试脚本,同时由于云的弹性的特点,使得云测试环境可根据需要自动增长,降低了测试成本。但云测试环境中的测试仍需解决以下问题:
[0004]第一,云测试环境的多样性使得测试脚本需要频繁更改。云中的测试环境可以由不同的操作系统、不同的浏览器、不同的自动化测试工具组成,支持的测试脚本语言也可能不同,甚至可能是异构的。同一个测试脚本在某些云测试环境中可以运行,在另一些云测试环境中可能就不能运行,因此需要修改测试脚本以适应某种云测试环境的需要。另外,当用户需要在测试脚本中某些特定的位置收集测试信息(如截图)时,也要修改测试脚本。但测试脚本的数量众多,针对每个测试脚本进行修改不仅费时费力,而且出错几率很高。因此云测试环境中的测试需要一种自动化的机制使得测试脚本能够适应不同的测试环境,满足用户特定的需要。
[0005]第二,测试脚本之间可能具有复杂的依赖关系。有时需要以一个特定的顺序运行测试脚本,或者在测试脚本之间传递一些数据和状态。这时,前一个测试脚本的执行将会对后一个测试脚本的执行产生影响,也会对整个测试的结果产生影响。目前的一些自动化测试工具能够对测试脚本之间的依赖关系进行定义和处理,但将测试放在云环境中进行时,测试脚本的调度将变得复杂,特别是当测试脚本数量众多,依赖关系复杂时,测试脚本在云测试环境中运行的效率会降低。
[0006]第三,测试脚本的参数增多时,测试数据的维护变得复杂。很多情况下,测试脚本是不变的,变化的仅仅是测试数据而已。如果为每一组测试数据都编写一个测试脚本,将出现大量雷同的测试脚本,这样测试脚本的复用率就很低。这种测试场景可以使用参数化测试来避免。参数化测试是一种在单个测试脚本中使用不同的输入数据重复地执行测试的技术,这些数据来源于一个预定义的数据集,其核心是将数据与测试脚本分离,从而可以在不修改测试脚本的情况下通过更新测试数据完成对测试用例的增加、更改和删除,提高了测试脚本的复用率。但当测试脚本的参数增多时,测试数据的组合数量就以几何级数的速度增长,手工定义测试数据集将变得困难。因此需要一种能够自动化生成测试数据集的机制。

【发明内容】

[0007]本发明提出了一种云测试环境中测试脚本自动解析系统及其实现方法,具有执行速度快,测试效率高,简化测试脚本的编写。
[0008]本发明提供一种云测试环境中测试脚本自动解析系统,包括:测试脚本输入模块,测试脚本自适应配置模块,测试脚本依赖关系分析模块,测试脚本参数生成模块,测试脚本分发模块,以及云测试环境模块;其中所述测试脚本输入模块用于与用户交互,输入测试脚本、测试数据和配置信息;所述测试脚本自适应配置模块与所述测试脚本输入模块连接,并与所述云测试环境模块连接,所述测试脚本自适应配置模块用于根据测试脚本输入模块输入的配置信息,以及所述云测试环境模块的测试环境分配情况,对测试脚本进行自动配置;所述测试脚本依赖关系分析模块与所述测试脚本输入模块连接,用于根据输入的配置信息分析测试脚本之间的依赖关系,生成依赖关系信息;所述测试脚本参数生成模块与所述测试脚本输入模块连接,用于对输入的测试数据进行组合,生成测试数据集;测试脚本发送模块分别与所述测试脚本自适应配置模块、测试脚本依赖关系分析模块和测试脚本参数生成模块连接,用于接收自动配置后的测试脚本,依赖关系信息以及测试数据集,将配置后的测试脚本发送给所述云测试环境模块;云测试环境模块与所述测试脚本分发模块连接,用于运行自动配置后的测试脚本。
[0009]本发明提供一种云测试环境中测试脚本自动解析系统的实现方法,包括以下步骤:
[0010]步骤一,用户通过所述测试脚本输入模块输入测试脚本、测试数据和配置信息;[0011 ] 步骤二,所述测试脚本输入模块将测试脚本和配置信息发送给所述测试脚本自适应配置模块,将配置信息发送给所述测试脚本依赖关系分析模块,将测试数据发送给所述测试脚本参数生成模块;
[0012]步骤三,所述测试脚本自适应配置模块根据用户提交的配置信息和所述云测试环境模块的测试环境分配情况,对用户提交的每个测试脚本进行配置,并将自动配置后的测试脚本发送给所述测试脚本分发模块;
[0013]步骤四,所述测试脚本依赖关系分析模块根据用户提交的配置信息生成依赖关系信息;
[0014]步骤五,所述测试脚本参数生成模块根据用户提交的测试数据生成测试数据集;
[0015]步骤六,所述测试脚本分发模块根据所述测试脚本依赖关系分析模块生成的依赖关系信息,将所述测试脚本自适应配置模块发来的测试脚本及所述脚本参数生成模块生成的测试数据集分配到所述云测试环境模块中执行。
[0016]本发明提供一种云测试环境中测试脚本自动解析系统的实现方法,所述步骤一中,所述配置信息包括操作系统名称、浏览器名称、浏览器版本、测试脚本名称、自定义的测试信息收集规则。
[0017]本发明提供一种云测试环境中测试脚本自动解析系统的实现方法,其特征在于,所述步骤四中,所述测试脚本的依赖关系信息包括:测试脚本执行顺序和可并行运行的测试脚本名称。
[0018]本发明提供一种云测试环境中测试脚本自动解析系统的实现方法,所述步骤五中,所述测试数据集包括用户提交的测试数据的所有组合。
[0019]本发明提供一种云测试环境中测试脚本自动解析系统的实现方法,所述步骤六中,执行步骤进一步包括:
[0020]步骤A1:所述测试脚本分发模块根据所述测试脚本依赖关系分析模块生成的测试脚本依赖关系信息,筛选出所有满足依赖条件可以运行的测试脚本;
[0021]步骤A2:对于每一个步骤A1中筛选出来的测试脚本,所述测试脚本分发模块根据所述测试脚本自适应配置模块对测试脚本的配置,在所述云测试环境模块中找出所有符合配置的测试环境;若找不到符合配置的测试环境,则测试中断;
[0022]步骤A3:对于每一个步骤A1中筛选出来的测试脚本,所述测试脚本分发模块判断是否存在对应的测试数据集,如是则所述测试脚本分发模块将该测试脚本和测试数据集分配到步骤A2中找出的测试环境中运行,若否,则将该测试脚本分配到步骤A2中找出的测试环境中运行;
[0023]步骤A4:所述测试脚本分发模块判断是否存在未执行的测试脚本,若是,重复步骤A1,若否测试结束。
[0024]本发明提供一种云测试环境中测试脚本自动解析的实现方法,步骤A2中,若找到多于一个符合配置的测试环境时,采用轮转算法将测试脚本平均分配到对应的测试环境中运行。
[0025]本发明采用的技术特征及其有益效果在于以下方面:
[0026]本发明提出了一种云测试环境中测试脚本自动解析系统及其实现方法,能够根据云测试环境的实际情况以及用户自定义的需求灵活配置测试脚本,使测试脚本具有自适应能力。同时对于有参数的测试脚本,根据用户需求自动生成多组数据值作为测试输入,实现参数化测试,并能根据用户指定的依赖关系,将测试脚本分配到云测试环境中并行执行。用户无需为每一个测试环境重新录制或者编写测试脚本,也无需为每个测试输入数据重复编写测试脚本,没有依赖关系的测试脚本也可并行执行,加快了测试脚本的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1