一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分布式的自动化软件测试方法及平台与流程

2022-05-18 08:24:45 来源:中国专利 TAG:


1.本发明涉及软件测试技术领域,特别是一种基于分布式的自动化软件测试方法及平台。


背景技术:

2.软件测试领域中,以提高工作效率和检测质量为目标,在硬件条件允许情况下,尽可能利用计算机自动或半自动的测试方法,以提高工作效率的着这种优势。传统手动测试,耗时耗力,想改进这种传统的测试方法,自动化测试相对于手工测试而言更有优势,其主要进步在于自动化测试工具以及自动化测试框架的引入。测试自动化是指利用策略、工具以及产出等,减少人工介入到非技术性、重复性、冗长的测试活动里,自动性的进行,代替人为手动调整,从而达到无人监守完成测试。更大的优势在于可以自动产生测试报告,分析测试结果等一系列活动。其意在将软件自动化测试中所涉及的环节作为一个统一的整体考虑,从测试脚本的管理和执行到测试报告的提交都有相应的策略、规范和实现方法。
3.另外,软件测试实践中,往往需要大量的时间成本,然而在需求方要求的有限的时间内,很多情况下会存在没有充足的时间来针对一版完整程序进行详细的测试,尤其是当一版旧程序修改完成后,进而对此进行回归测试的时候,需要多次重复测试,相同的测试消耗了大量的时间,这些回归测试也需要重复的时间去进行。
4.目前,传统的解决时间消耗大的方法是通过减少测试执行的用例数量来缩短执行的时间,或者牺牲对程序测试的覆盖率来减少时间成本。但是那些没有想到或没有执行的测试用例,很有可能就是代码修改所涉及的用例。比如在回归测试中,在新的代码软件中,除了可能新增加的代码可能会大大出现包含错误的概率,并且新的测试代码也可能影响原代码,因此用执行更多的测试用例这种方式来确定是否是由于代码更新而取得新的预期的效果,同样冗杂且费时。


技术实现要素:

5.本发明所要解决的技术问题是克服上述现有技术存在的问题,提供一种基于分布式的自动化软件测试方法及平台,解决存在的单机运行测试用例时间较长的问题,以及在有限的时间内进行对测试的测试用例覆盖率较低而带来的测试效果不理想的问题,并且不以减少测试用例数量来换取时间成本的方式。为实现上述发明目的,本发明采取如下技术方案:
6.一种基于分布式的自动化软件测试方法及平台,其特征在于在搭建的平台中在不同的节点上并行执行测试任务,并且其主要优势是能够基于自动化测试框架搭建自动化测试环境,根据测试者提供不同特定的测试需求,提供得到新的测试工具或者技术,使测试方式多样化,提高测试效率。
7.首先需要测试者人员上传测试环境需要的测试软件的源代码,测试需要的配置环境文件以及最后的测试用例。然后经过相关人员的评审,分布式软件测试平台可以自行编
译和解析文件,使用起初配置好的镜像文件以及测试者提供的配置环境文件,快速搭建不同的测试时需要的环境。
8.测试人员需要上传脚本文件,平台需自动编译解析
9.另外,进入平台后,利用平台内嵌的测试用例库可以进行测试方案的选择,比如自动化测试、单元测试、白盒测试或是黑盒测试,进入平台后可导入软件测试脚本以及最新的测试用例库,用例可以自动化实现或执行。
10.测试人员可以选择数据库中最新的测试用例,若更新可重新提交并保存至hdfs,用例自动化执行测试用例
11.测试完成后,分布式软件平台自动化输出测试报告;
12.本发明的基于分布式的软件测试方法及平台具有以下有点:
13.本发明将分布式与传统的软件测试相结合,能够有效的利用资源,节省测试时间和提高测试的覆盖率。在实际的测试过程中,对于一个大型复杂的软件来说,功能测试用例的是数量可能是成千上万的,那么全部测试用例的执行过程可能就需要大量时间,在回归测试中,也需要大量的资源,这些资源可能往往都会成为影响整体项目交付进度的瓶颈。特别是一旦遇到那些会产生交叉环境的用例,环境的因素就更加突出,这样会导致整个测试过程会非常的低效。
14.本发明具有结构简单、使用方便、充分利用资源等特点,因此,具有很好的推广使用价值。
附图说明
15.图1是本发明分布式计算编程思想
16.图2是本发明测试用例组各节点的关系
17.图3是本发明测试的并行化实现
18.图4是进行分布式测试的流程
具体实施方式
19.下面结合附图对本发明作进一步描述,以下内容仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
20.如图1所示,一种基于分布式的自动化软件测试方法及平台,首先,整个分布式测试过程是基于hadoop的mapreduce框架实现的,其主要思想就是将需要并行化的算法拆分成map和reduce函数两部分进行,使用mapreduce操作海量数据包括以下步骤:
21.步骤1:每个mapreduce程序会被初始化为一个工作任务;
22.步骤2:每个工作任务可以分为map和reduce两个阶段。
23.当整个测试的执行从测试用例下发开始,一个测试用例包括多个软件功能测试项的检测任务。在中间衔接层的过程中,可以对几个测试用例的所有测试项结果进行汇总,最后阶段对所有测试用例的结果进行汇聚。
24.如图2所示,在实现测试用例分发时,map阶段的输入为一个或多个测试用例的信息。会被切分成许多独立的分片(split),这些分片可以被多个map任务并行处理。
25.如图3所示,由于测试用例的信息数据是基于行,因此,本发明分布式测试选择的
是一行测试用例的内容作为map task中value的值,测试用例的编号作为key的值。map task输出为测试项的编号,脚本运行的结果是否合格作为value值。map阶段只作为数据准备阶段,而reduce阶段是接受的是map task阶段的输出数据,从而进行处理,也就是reduce task,最后reduce端进行输出。统计全部的测试结果是否通过,并自动生成相关的测试报告,完成最终的分布式功能测试任务。
26.该基于分布式的软件测试平台,构建及测试流程包括以下步骤:
27.步骤1:根据测试人员提供的测试用例的信息,确定测试用例及计算处理设备的数量,并调度相应数量的计算设备;
28.步骤2:平台构建之初,需要搜集测试软件常用的工具、测试流程、测试方案,并将测试用例自动化,存放于数据库中;
29.步骤3:测试开始时,需要申请权限;
30.步骤4:测试人员上传所需的环境配置文件后,平台需要对配置文件进行自动化解析,自动化搭建测试环境;
31.步骤5:测试人员需要上传脚本文件,平台需自动编译解析;
32.步骤6:测试人员可以选择数据库中最新的测试用例,若更新可重新提交并保存至数据库,用例自动化执行;
33.步骤7:测试完成后,平台输出自动化测试报告。


技术特征:
1.一种基于分布式的自动化软件测试方法及平台,其特征在于,包括以下步骤:步骤1:上传测试环境需要的文件,然后通过相关人员的评审,软件测试平台可以自行编译和解析文件,然后利用起初配置好的镜像文件快速搭建不同的测试时需要的环境;步骤2:进入平台后可以进行测试方案的选择,比如自动化测试、单元测试、白盒测试或是黑盒测试等不同的测试方法,进入平台后可导入软件测试脚本以及最新的测试用例库,用例可以自动化实现或执行;步骤3:测试用例自动保存在hdfs中,更新测试用例库,测试完成后,平台输出自动化测试报告。2.根据权利要求1所述的基于分布式的自动化软件测试方法及平台,其特征在于所述平台包括多个测试节点,根据测试人员提供的测试用例的信息,确定测试用例及计算处理设备的数量,并调度相应数量的计算设备。3.根据权利要求1所述的基于分布式的自动化软件测试方法及平台,其特征在于所述平台利用基于mapreduce框架的分布式实现并行测试,所述方法包括一下步骤:步骤1:测试用例编号作为map输入的key值,测试用例信息作为value值,执行自动化测试;步骤2:汇聚测试用例所有测试项目的测试结果,输出每个测试用例的执行结果;步骤3:将上述汇总的中间结果进行最终汇聚,并生成自动化检测报告。4.根据权利要求1所述的基于分布式的自动化软件测试方法及平台,其特征在于所述平台利用基于规范化的流程进行执行和维护,具体工作包括:权限的获取,环境文件的上传,测试方案的选择,测试用例的选择或导入,最终获取自动化检测结果。

技术总结
本发明公开了一种基于分布式的自动化软件测试方法及平台,包括:本发明是将传统的测试方法与分布式框架进行了有效的结合,利用Hadoop中MapReduce的计算框架实现并行分布式测试的方法,将大规模量的测试用例分配到不同节点上同时进行测试,形成一种全新机制的分布式的软件测试平台。本发明解决了传统测试方法测试时间较长以及测试用例难以同步执行的难题,分布式的机制能够最大化实现对测试程序全面的检测,进而提升大规模程序测试的整体效率。率。率。


技术研发人员:葛玉磊 刘雪丽 王金利
受保护的技术使用者:青岛鼎信通讯科技有限公司
技术研发日:2021.12.30
技术公布日:2022/5/17
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献