CN108009086B - 基于用例分解和功能学习的***自动化测试方法 - Google Patents
基于用例分解和功能学习的***自动化测试方法 Download PDFInfo
- Publication number
- CN108009086B CN108009086B CN201711231794.2A CN201711231794A CN108009086B CN 108009086 B CN108009086 B CN 108009086B CN 201711231794 A CN201711231794 A CN 201711231794A CN 108009086 B CN108009086 B CN 108009086B
- Authority
- CN
- China
- Prior art keywords
- test
- case
- configuration
- parameters
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于用例分解和功能学习的***自动化测试方法,包括:将所有需要自动化执行的测试用例进行横向分解,得到所有测试用例因子集;进行纵向总结归纳,提取出测试用例通用要素;进行功能学习,根据待测***的网络规划配置测试计算机的IP和路由规则;依次读取并保存每一个测试用例的参数;根据当前用例参数进行***场景配置;对测试准入条件进行检查和判断,根据当前用例参数中的关键字,逐层映射到功能模块开始测试执行,同时记录;实现业务类型、测试结果和判定条件的区分,进行结果判断;整合每一条用例的测试结果,输出测试报告,产生测试记录文件。本发明可实现快速、可扩展的***测试自动化,达到高效、准确的进行***测试的目的。
Description
技术领域
本发明属于卫星通信网络***测试领域,涉及一种基于用例分解和功能学习的***自动化测试方法。
背景技术
***测试基于单元测试和集成测试,是针对整个产品进行***全面的测试,目的是验证***是否满足产品需求并且遵循***设计。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中的描述,按步骤执行测试,并根据判断依据对实测结果进行测试结论判定。对于功能复杂、覆盖面广的***,用例的维护和执行都需要耗费大量的人力资源。在此过程中,测试人员会面临很多问题,主要体现在以下几个方面。
1.***功能多,测试项覆盖广,测试工作量大
对于功能复杂的***,***测试需要考虑到***的每一个功能点、每一个网元特性以及多种实际应用场景,因此测试用例数量庞大,用例的维护和执行会占用测试人员大量的时间和精力,测试结果的准确度无法保障,严重影响***质量。
2.多为重复性劳动,测试效率和准确率低
在***的改进和完善过程中,需求变更、功能的增加或减少都会导致***版本的更新,而每一个新的版本都需要进行功能验证。但是***大部分功能和界面都和上一个版本相似或完全相同,因此版本迭代过程中就需要对不同的版本重复进行相同的***测试,大量的重复性测试对测试人员来说是非常耗时和繁琐的,这样必然会使测试效率和测试准确度下降。上述问题大大降低了***测试的效率与准确性,严重影响着测试人员的工作效果,要解决手工***测试所面临的问题,自动化测试无疑是最好的选择。自动化测试具有一次开发,多次执行的特点,在经过前期的脚本开发后就不再需要人力和时间的投入,这就将测试人员从大量的、重复性的劳动中解放出来,减少了测试执行者工作量,提高了测试效率,符合***产品的发展需要,是未来发展的趋势与主流。
目前而言,按照测试领域可分为单元自动化测试、功能自动化测试和性能自动化测试,按照测试对象可分为设备测试、通信网络测试、WEB测试等具有一定针对性的自动化功能测试,按照测试框架可以分为数据驱动、关键字驱动和混合型自动化测试框架。虽然现有的自动化测试方法有很多,但是并不是每一个测试方法在所有的环境下都是最合适的、兼容的,同时由于***产品的结构松散多变性、开发技术的多样性和功能的复杂性,适用于***测试的自动化测试方法始终是个难点。
发明内容
发明所要解决的课题是,如何使得***在各种环境下满足兼容性,实现快速、可扩展的***测试自动化方法。
用于解决课题的技术手段是,提出一种基于用例分解和功能学习的***自动化测试方法,是高效、可扩展的基于用例分解和功能学习的***测试自动化方法。用于对VSAT卫星通信***进行自动化***测试,以适应***版本的快速迭代和更新升级。
本发明的基于用例分解和功能学习的***自动化测试方法,包括如下步骤:
步骤1:将所有需要自动化执行的测试用例进行横向分解,得到所有测试用例因子集;
步骤2:对所得测试用例因子集进行纵向总结归纳,提取出测试用例执行步骤中的通用要素;
步骤3:根据所提取的通用要素,利用数据包捕获软件,对每一个***配置涉及的所有网元、配置接口进行功能学习;根据***功能学习的结果完成功能模块的编程实现;
步骤4:连接测试计算机与待测***,根据待测***的网络规划配置测试计算机的IP和路由规则;
步骤5:依次读取并保存每一个测试用例的参数,其参数至少包括用例关键字;根据当前用例参数进行***场景配置;
步骤6:对所述测试用例因子集中的测试准入条件进行检查和判断,以确定是否具备继续进行测试的状态;
步骤7:根据当前用例参数中的关键字,逐层映射到功能模块开始测试执行,同时记录测试执行过程;
步骤8:根据用例参数中的关键字和测试执行过程的记录,实现业务类型、测试结果和判定条件的区分,进行结果判断;
步骤9:整合每一条用例的测试结果,输出测试报告,同时产生测试记录文件。
进一步地,作为本发明的一种优选技术方案,所述步骤2中测试用例执行步骤中的通用要素包括***场景配置、测试内容和测试结果。
进一步地,作为本发明的一种优选技术方案,所述***场景配置包括配置内容、配置对象。
进一步地,作为本发明的一种优选技术方案,所述步骤5中测试用例的参数包括用例关键字、***环境参数、测试数据。
进一步地,作为本发明的一种优选技术方案,所述步骤6中还包括在进行功能测试前,对待测***的状态进行检测,根据获得的检测结果确定是否需要进行***业务收发。
进一步地,作为本发明的一种优选技术方案,所述步骤7中包括记录所述记录业务参数、测试方法和业务传输过程。
发明效果是,本发明依据***测试用例的特点,针对性地进行***功能学习和流程设计,实现快速、可扩展的***测试自动化方法,达到高效、准确的进行***测试的目的。
以及,具备的优点如下:
1.在研究现有自动化测试技术的基础上,结合***测试功能复杂、覆盖面广等特点,提出从***测试用例着手分析,通过横向分解和纵向归纳的方式,发掘***测试用例之间的共性特征,完成测试方法中基础且重要的***配置场景、功能单元的提炼,在保障功能模块原子性的前提下,提高了自动化测试方法实现的效率;
2.根据待测***自身特点,利用数据包捕获软件获取原始数据包和***接口文件,分析***配置过程的接口协议、触发方式、数据结构、反馈机制和配置反馈等内容,进行***功能学习。根据学习结果编写配置程序,实现具有针对性的***环境自动化配置,解决了测试对象结构多变、开发技术多样和功能复杂的问题;
3.依据***测试用例的特点,针对性地进行***功能学习和流程设计,实现快速、可扩展的***自动化测试方法,达到高效、准确的进行***测试的目的。对提高测试的效率和准确度,减少重复工作,具有重大的意义。
附图说明
图1是根据本发明的***测试连接图。
图2是根据本发明方法的工作原理示意图。
图3是根据本发明的测试用例横向分解分析表。
图4是根据本发明的***配置分析表。
具体实施方式
以下,基于附图针对本发明进行详细地说明。
如图1所示,给出了根据本发明的测试连接图,连接测试计算机与待测***;其中网管具有卫星网络管理和监控等功能;网控是全网数据交换和控制中心;调制代理完成前向DVB-S2协议规定的编码调制功能;解调代理完成回传卫星通信协议规定的突发数据解调译码等功能;海量终端软件服务器用于运行海量终端软件;测试计算机用于运行根据本发明设计的测试脚本,要求为双网卡计算机。
如图2所示,给出了本发明基于用例分解和功能学习的***自动化测试方法的工作原理示意图,具体包含步骤:
步骤1:将所有需要自动化执行的测试用例进行横向分解,得到所有测试用例的因子集。
在步骤1中,将所有需要自动化执行的测试用例,按照用例的准入条件、测试场景、测试目标、测试功能点、测试参数和预期结果等要素进行分解,得到所有测试用例的因子集,部分用例分解结果如图3所示。
步骤2:对测试用例因子集进行纵向总结归纳,提取出测试用例执行步骤中的通用要素。
在步骤2中,优选地,对横向分析和分解得到的测试用例因子集进行总结,归纳出***场景配置、测试内容和测试结果,此三项为组成测试方法的功能要素。
其中***场景配置包括配置内容、配置对象,部分***场景配置中配置内容和配置对象的影响关系如图4所示。测试内容包括业务收发、终端升级、TCP加速使能等测试行为。测试结果包括丢包率、带宽利用率、版本升级等结果类型和相应的判定方式。
步骤3:根据步骤2的提炼结果,利用数据包捕获软件,对每一个***配置涉及的所有网元、配置接口进行功能学习。根据***功能学习的结果和功能模块,完成环境配置、测试执行和结果判定等自动化实现。
在步骤3中,根据***场景的配置关系表,针对每一个***场景配置操作,对其涉及的所有网元的配置过程都进行功能学习。同时,根据提炼出的测试行为和结果类型,完成功能脚本和结果判定工具的编写。
具体为,利用数据包捕获软件获取原始数据包,结合***接口文件,分析该配置过程的接口协议、触发方式、配置数据结构、反馈机制和配置结果判定等内容,进行***功能学习,根据学习结果编写配置程序,实现***环境的自动化配置。
步骤4:连接测试计算机与待测***,根据***的网络规划配置测试计算机的IP和路由规则。该配置可用于下述步骤7中业务相关的测试执行部分,即完成环境配置后进行业务收发,其中业务需根据指定路由规则进行收发。
在步骤4中,按照图1的测试链接图,将测试计算机的两个网口分别连接***的主站和端站,实现配置管理功能和业务收发功能。
具体为,一是结合被测卫星通信***的网络规划,配置测试PC的IP和路由规则,实现测试计算机模拟网络管理器给各网元下发配置信息的功能,包括网络控制器、调制器、突发解调器以及终端等,完成测试场景的部署;二是配置高级路由规则进行业务隔离和路由,实现测试计算机同时作为主站端和终端的业务源,完成不同协议类型的业务或者应用层业务的闭环测试。
步骤5:读取并保存每一个测试用例的参数,其参数至少包括用例关键字,根据当前用例的参数进行***场景的个性化配置,完成***场景的部署。
本发明在步骤5中,依次读取并保存每一个测试用例的参数,包括用例关键字、***环境参数、测试数据等,结合当前用例的参数,通过步骤3完成的配置程序进行***环境的个性化配置,完成***场景的部署。
步骤6:对步骤1测试用例因子集中的测试准入条件进行检查和判断,以确定是否具备继续进行测试的状态。
本步骤中,对测试准入条件进行检查和判断,以确定是否具备继续进行测试的状态。如对于***业务和终端升级的测试,在进行功能测试前,需要对终端的在线状态进行检测,该检测结果决定是否需要进行***业务收发。对于不符合测试准入条件的用例,直接将测试结果记录为不通过,然后开始执行下一条用例。
步骤7:根据用例参数中的关键字标识,逐层映射到功能模块开始测试执行,同时记录测试执行过程。
在步骤7中,根据用例参数中的关键字标识,逐层映射到步骤3编写的功能模块开始测试执行,同时记录测试执行过程。
如对于***业务测试,检测终端在用例射频参数的条件下成功接入***后,调用业务收发功能模块,结合测试用例的业务协议类型、包长、速率和时长等业务参数,进行业务收发,同时记录业务参数、测试方法和业务传输过程。
步骤8:根据用例关键字和测试执行的记录,实现业务类型、测试结果和判定条件的区分,进行结果判断。
在步骤8中,根据用例关键字和记录文件,实现业务类型、测试结果和判定条件的区分,根据步骤3编写的结果判定工具进行测试结果判断。
如对于TCP业务测试,首先从TCP下载过程文档中提取业务下载速率,并与当前用例测试条件下的理论速率对比,若下载速率大于等于理论速率的80%,则判定通过,否则判定为测试不通过。
步骤9:整合每一条用例的测试结果,输出测试报告,同时产生测试记录文件。在步骤9中,在执行完所有测试用例后,自动化整合每一条用例的测试结果,输出测试报告。
综上所述,本发明公开了一种高效、可扩展的基于用例分解和功能学习的***测试自动化方法。用于对VSAT卫星通信***进行自动化***测试,以适应***版本的快速迭代和更新升级。包括:对***测试用例进行横向分解、纵向归纳以及***功能学习。支持多种格式的测试用例文档输入。支持测试环境和***场景的自动化配置。支持TCP/UDP/ICMP等不同类型业务的闭环测试。支持星状网、网状网的网络拓扑结构,可实现终端到主站、主站到终端、终端到终端等多向通信功能。支持下载速率、业务丢包率等形式的测试结果处理,支持登陆状态、业务丢包率、***带宽利用率等多种判定准则。***有功能变更或新增需求时,可支持快速完成功能学习与自动化功能扩展。对同类架构的***,支持功能模块、测试方法等移植复用。
需要说明的是,以上说明仅是本发明的优选实施方式,应当理解,对于本领域技术人员来说,在不脱离本发明技术构思的前提下还可以做出若干改变和改进,这些都包括在本发明的保护范围内。
Claims (6)
1.一种基于用例分解和功能学习的***自动化测试方法,其特征在于,包括如下步骤:
步骤1:将所有需要自动化执行的测试用例,按照用例的准入条件、测试场景、测试目标、测试功能点、测试参数和预期结果的要素进行分解,得到所有测试用例因子集;
步骤2:对所得测试用例因子集进行总结,归纳出***场景配置、测试内容和测试结果,此三项为组成测试方法的功能要素,作为测试用例的通用要素;
步骤3:根据所提取的通用要素,利用数据包捕获软件,对每一个***配置涉及的所有网元、配置接口进行功能学习;根据***功能学习的结果完成功能模块编程;具体包括:利用数据包捕获软件获取原始数据包,结合***接口文件,分析配置过程的接口协议、触发方式、配置数据结构、反馈机制和配置结果判定的内容,进行***功能学习,根据学习结果编写配置程序,实现***环境的自动化配置;
步骤4:连接测试计算机与待测***,根据待测***的网络规划配置测试计算机的IP和路由规则;
步骤5:依次读取并保存每一个测试用例的参数,其参数至少包括用例关键字;根据当前用例参数进行***场景配置;
步骤6:对所述测试用例因子集中测试用例的准入条件进行检查和判断,以确定是否具备继续进行测试的状态;
步骤7:根据当前用例参数中的关键字,逐层映射到功能模块开始测试执行,同时记录测试执行过程;
步骤8:根据用例参数中的关键字和测试执行过程的记录,实现业务类型、测试结果和判定条件的区分,进行结果判断;
步骤9:整合每一条用例的测试结果,输出测试报告,同时产生测试记录文件。
2.根据权利要求1所述基于用例分解和功能学习的***自动化测试方法,其特征在于,所述步骤2中测试用例执行步骤中的通用要素包括***场景配置、测试内容和测试结果。
3.根据权利要求1所述基于用例分解和功能学习的***自动化测试方法,其特征在于,所述步骤5中***场景配置包括配置内容、配置对象。
4.根据权利要求1所述基于用例分解和功能学习的***自动化测试方法,其特征在于,所述步骤5中测试用例的参数包括用例关键字、***环境参数、测试数据。
5.根据权利要求1所述基于用例分解和功能学习的***自动化测试方法,其特征在于,所述步骤6中还包括在进行功能测试前,对待测***的状态进行检测,根据获得的检测结果确定是否需要进行***业务收发。
6.根据权利要求1所述基于用例分解和功能学习的***自动化测试方法,其特征在于,所述步骤7中包括:记录业务参数、测试方法和业务传输过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711231794.2A CN108009086B (zh) | 2017-11-30 | 2017-11-30 | 基于用例分解和功能学习的***自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711231794.2A CN108009086B (zh) | 2017-11-30 | 2017-11-30 | 基于用例分解和功能学习的***自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108009086A CN108009086A (zh) | 2018-05-08 |
CN108009086B true CN108009086B (zh) | 2021-03-19 |
Family
ID=62054966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711231794.2A Active CN108009086B (zh) | 2017-11-30 | 2017-11-30 | 基于用例分解和功能学习的***自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009086B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144867B (zh) * | 2018-08-15 | 2021-07-13 | 优信拍(北京)信息科技有限公司 | 一种测试方法及测试*** |
CN109688599B (zh) * | 2019-01-11 | 2022-04-22 | 北京华力创通科技股份有限公司 | 终端测试仪分组域调度方法及装置 |
CN111104326A (zh) * | 2019-12-19 | 2020-05-05 | 北京明略软件***有限公司 | 测试方法、装置、电子设备和可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770423A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种测试数据生成方法及测试*** |
CN106227652A (zh) * | 2016-07-12 | 2016-12-14 | 合网络技术(北京)有限公司 | 自动化测试方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192882A1 (en) * | 2016-01-06 | 2017-07-06 | Hcl Technologies Limited | Method and system for automatically generating a plurality of test cases for an it enabled application |
-
2017
- 2017-11-30 CN CN201711231794.2A patent/CN108009086B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770423A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种测试数据生成方法及测试*** |
CN106227652A (zh) * | 2016-07-12 | 2016-12-14 | 合网络技术(北京)有限公司 | 自动化测试方法及*** |
Non-Patent Citations (1)
Title |
---|
"软件测试及其自动化模型的研究";刘晓明;《中国优秀硕士学位论文全文数据库信息科技辑》;20100515(第05期);第I138-395页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108009086A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693183B (zh) | 一种实现软件自动化测试的方法及*** | |
CN102567203B (zh) | 一种测试分布式文件***性能的方法及*** | |
US20040153837A1 (en) | Automated testing | |
CN107302476B (zh) | 一种测试异步交互***的自动化测试方法与*** | |
CN108009086B (zh) | 基于用例分解和功能学习的***自动化测试方法 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN107423181A (zh) | 一种统一存储设备的自动化测试方法及装置 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及*** | |
CN103235756A (zh) | 一种面向嵌入式***分区应用程序软件的仿真测试方法 | |
CN109413678A (zh) | 一种Wi-Fi模块自动测试方法及测试*** | |
CN106506243A (zh) | 一种基于日志数据的网管故障诊断方法 | |
CN105450476A (zh) | 一种回归测试***及测试方法 | |
CN104461854A (zh) | 一种舰船装备软件通用仿真测试平台及其构建方法 | |
CN103729293A (zh) | 一种基于uml活动图的gui测试方法 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN110750445A (zh) | 一种yarn组件高可用性功能的测试方法、***及设备 | |
CN109660386B (zh) | 一种半导体存储器老化测试***软件升级方法 | |
CN112583663B (zh) | 一种基于国产操作***的自动化网络性能测试方法 | |
CN114064465A (zh) | 一种基于Linux云平台的稳定性测试方法 | |
CN114546814A (zh) | 录制回放方法、装置及存储介质 | |
CN116545891A (zh) | 一种基于智能设备的自动化配网测试方法 | |
CN115833964A (zh) | 双模通信模块的性能测试方法和性能测试*** | |
CN109522217A (zh) | 应用程序的内存测试方法及终端设备 | |
CN115297024A (zh) | 网络安全设备的性能测试方法、装置及电子设备 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |