CN108009086A - 基于用例分解和功能学习的系统自动化测试方法 - Google Patents

基于用例分解和功能学习的系统自动化测试方法 Download PDF

Info

Publication number
CN108009086A
CN108009086A CN201711231794.2A CN201711231794A CN108009086A CN 108009086 A CN108009086 A CN 108009086A CN 201711231794 A CN201711231794 A CN 201711231794A CN 108009086 A CN108009086 A CN 108009086A
Authority
CN
China
Prior art keywords
test
case
parameter
function
configuration
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.)
Granted
Application number
CN201711231794.2A
Other languages
English (en)
Other versions
CN108009086B (zh
Inventor
刘晓菲
吴兆阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Space Star Technology Co Ltd
Original Assignee
Space Star Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Space Star Technology Co Ltd filed Critical Space Star Technology Co Ltd
Priority to CN201711231794.2A priority Critical patent/CN108009086B/zh
Publication of CN108009086A publication Critical patent/CN108009086A/zh
Application granted granted Critical
Publication of CN108009086B publication Critical patent/CN108009086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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中包括对记录业务参数、测试方法和业务传输过程记录。
CN201711231794.2A 2017-11-30 2017-11-30 基于用例分解和功能学习的系统自动化测试方法 Active CN108009086B (zh)

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 true CN108009086A (zh) 2018-05-08
CN108009086B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144867A (zh) * 2018-08-15 2019-01-04 优信拍(北京)信息科技有限公司 一种测试方法及测试系统
CN109688599A (zh) * 2019-01-11 2019-04-26 北京华力创通科技股份有限公司 终端测试仪分组域调度方法及装置
CN111104326A (zh) * 2019-12-19 2020-05-05 北京明略软件系统有限公司 测试方法、装置、电子设备和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770423A (zh) * 2009-12-25 2010-07-07 中兴通讯股份有限公司 一种测试数据生成方法及测试系统
CN106227652A (zh) * 2016-07-12 2016-12-14 合网络技术(北京)有限公司 自动化测试方法及系统
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770423A (zh) * 2009-12-25 2010-07-07 中兴通讯股份有限公司 一种测试数据生成方法及测试系统
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
CN106227652A (zh) * 2016-07-12 2016-12-14 合网络技术(北京)有限公司 自动化测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘晓明: ""软件测试及其自动化模型的研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144867A (zh) * 2018-08-15 2019-01-04 优信拍(北京)信息科技有限公司 一种测试方法及测试系统
CN109144867B (zh) * 2018-08-15 2021-07-13 优信拍(北京)信息科技有限公司 一种测试方法及测试系统
CN109688599A (zh) * 2019-01-11 2019-04-26 北京华力创通科技股份有限公司 终端测试仪分组域调度方法及装置
CN111104326A (zh) * 2019-12-19 2020-05-05 北京明略软件系统有限公司 测试方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN108009086B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN110321281A (zh) 基于混合自动化测试框架的Web测试平台及测试方法
CN102693183B (zh) 一种实现软件自动化测试的方法及系统
CN103560932B (zh) 一种无线传感器网络远程协议一致性测试系统及方法
CN106961362B (zh) 自动化测试方法及移动云测试系统
CN109726132A (zh) 一种软件测试方法及软件测试自动化管理系统
CN111459794A (zh) 通信网络测试方法、装置、计算机设备和存储介质
CN106708719A (zh) 业务功能的测试方法和装置
CN107046526A (zh) 基于Fuzzing算法的分布式异构网络漏洞挖掘方法
CN105095059B (zh) 一种自动化测试的方法和装置
CN108009086A (zh) 基于用例分解和功能学习的系统自动化测试方法
CN110380939A (zh) 一种用电信息采集系统中本地通信协议的一致性测试方法及系统
CN104065528A (zh) 用于分析和检验多个网络设备的功能性的方法和装置
CN105787364A (zh) 任务的自动化测试方法、装置及系统
CN109218139A (zh) 网关测试系统
CN106708718A (zh) 服务框架接口测试方法与装置
CN106776339A (zh) 自动化测试方法及装置
CN109753433A (zh) 基于区块链的自动化测试方法、装置及电子设备
CN105760299A (zh) 一种基于智能变电站全自动脚本测试方法
CN109491910A (zh) 一种保护逻辑和控制逻辑的可视化仿真调试方法及系统
CN109408351A (zh) 一种ai环境检测和深度学习环境自动部署的方法和装置
CN109684847A (zh) 脚本漏洞的自动修复方法、装置、设备及存储介质
CN103530209B (zh) 一种密码键盘自动化测试方法
CN104348682A (zh) 一种移动应用流量特征自动分析的方法和系统
CN108153672A (zh) 一种移动应用的自动化测试系统及测试方法
CN114816980A (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