CN112463572B - 一种跨境多服务拨测的软件测试系统及其方法 - Google Patents

一种跨境多服务拨测的软件测试系统及其方法 Download PDF

Info

Publication number
CN112463572B
CN112463572B CN201910843388.4A CN201910843388A CN112463572B CN 112463572 B CN112463572 B CN 112463572B CN 201910843388 A CN201910843388 A CN 201910843388A CN 112463572 B CN112463572 B CN 112463572B
Authority
CN
China
Prior art keywords
service
test
testing
tested
module
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
Application number
CN201910843388.4A
Other languages
English (en)
Other versions
CN112463572A (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.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology 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 Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN201910843388.4A priority Critical patent/CN112463572B/zh
Publication of CN112463572A publication Critical patent/CN112463572A/zh
Application granted granted Critical
Publication of CN112463572B publication Critical patent/CN112463572B/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

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种跨境多服务拨测的软件测试系统,所述软件测试系统包括配置服务模块、可视化报表模块,告警推送模块、拨测数据分析模块,多个拨测模块,多个拨测模块部署在多个跨境的服务器上,所述配置服务模块,用于配置被测系统对应的被测服务名;所述拨测模块,用于根据配置服务模块中设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试;所述拨测数据分析模块,用于排除人为操作或外因引发测试结果异常,然后将测试结果进行共因分析;所述可视化报表模块,用于将测试结果以报表形式进行呈现;所述告警推送模块,用于将测试结果通过消息信息推送给使用者并进行告警;本发明能快速实现完整的测试覆盖,减少漏测试的情况。

Description

一种跨境多服务拨测的软件测试系统及其方法
技术领域
本发明涉及计算机通讯技术领域,特别是一种跨境多服务拨测的软件测试系统及其方法。
背景技术
现有大型公司存在上千款全球化产品和组件类产品,作为底层支撑的业务系统,在日常基础设施变更、迁移、维护时,无法快速评估全局领域的业务可用性影响。
在大型运维活动完成后就需要测试人员在线上做全局领域的服务可用性核对和测试,以便提早发现被测产品的影响及业务恢复情况等问题,从而提早进行排查修复,以确保产品功能能够正常使用。现有的人工测试方式存在多种问题:
(1)产品、业务众多,数以千计的服务应用在用情况无法直观的掌握和洞悉;
(2)在大型运维活动结束后,若由人工走查,耗费的时间和人力成本较多,且无法众多服务相互依赖,排查定位耗时,故障时间长。
(3)人工验证回归,大多能在有限的时间内容覆盖业务应用层,无法覆盖到PAAS(Platform-as-a-Service平台即服务)层级的实例可用性,且无法针对维护影响范围做针对性的回归,可能存在漏测情况。
(4)跨境的产品可能存在境内访问、境外访问等复杂的交互式场景,且产品多复用多个组件服务,如一个产品依赖的一个服务在维护中出现异常,则会影响该服务对应依赖的功能,人工回归可能存在漏测的情况。
现有技术中公开了“一种面向云服务基础设施的业务监测方法及系统”,见公开号为:CN 08683569A,公开日为:2018.10.19的中国专利,该一种面向云服务基础设施的业务监测方法及系统,属于云服务的基础设施领域。包括控制中心服务器以及布置在各地区的拨测服务器。其中,在各拨测服务器上布置有云服务拨测模块,在控制中心服务器上布置有拨测任务下发模块、数据采集模块、拨测数据分析模块、拨测告警模块和数据库;通过在不同地区设置拨测服务器,在控制中心服务器的WEB界面配置监测任务、拨测任务下发模块将监测任务的配置文件下发到各拨测服务器验证任务的目的IP正确性,采用了大范围异步拨测的监测方法,针对路由器、提供服务的DNS递归服务器,实现了对云服务基础设施的监测,减少数据包的丢失,实现负载均衡,具有较高的鲁棒性和稳定性。该专利主要是通过监测丢包率等网络数据传输来确认网络连通性的稳定性。该专利仅仅是与本专利中DNS解析测试单元相类似,其方法主要是为了验证对应服务通过DNS解析的方式是否正确,来确认;与本专利的技术方案并不相同。
发明内容
为克服上述问题,本发明的目的是提供一种跨境多服务拨测的软件测试系统,实现一系列自动化检测和监控的操作,且拨测模块已通过多地部署,实现跨境服务拨测覆盖,减少漏测试的情况。
本发明采用以下方案实现:一种跨境多服务拨测的软件测试系统,所述软件测试系统包括配置服务模块、可视化报表模块,告警推送模块、拨测数据分析模块,多个拨测模块,多个拨测模块部署在多个跨境的服务器上,所述配置服务模块,用于配置被测系统对应的被测服务名;所述拨测模块,用于根据配置服务模块中设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试;所述拨测数据分析模块,用于排除人为操作或外因引发测试结果异常,然后将测试结果进行共因分析,结合拨测模块中各测试单元的测试结果,确认测试错误的原因,并汇总测试结果;所述可视化报表模块,用于将测试结果以报表形式进行呈现;所述告警推送模块,用于将测试结果通过消息信息推送给使用者并进行告警;
用户通过在配置服务模块中配置被测系统对应的被测服务名,软件测试系统会根据被测服务名,在配置信息库中查找对应被测服务的基础信息进行梳理待测用例和测试期望值设定;拨测模块根据设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试,各个测试单元测试结束后测试结果汇总,并输送至拨测数据分析模块;拨测数据分析模块收到数据后,排除人为操作或干扰测试结果的因素后,进行数据共因分析;告警推送模块:根据拨测数据分析模块数据分析的结果将共因分析和测试结果推送给配置服务模块中配置的推送对象,通过推送对象进行消息发送;可视化报表模块将测试结果以报表形式进行呈现。
进一步的,所述拨测数据分析模块进一步包括:数据清洗单元、数据分析单元、以及数据存储单元;
所述数据清洗单元:当服务出现异常,根据被测服务名去查询服务当前的操作记录,若此时存在人为操作记录,或此时服务器网络波动,则视为本次测试结果存在异常;若人为操作合理,则本次测试失败结果则认为受外界干扰影响;
所述清洗分析单元:经数据清洗单元通过后,将测试失败的测试用例进行共因分析,所述共因分析包括:实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、单实例异常;
所述数据存储单元:用于存储测试结果和测试用例数据。
进一步的,所述拨测模块进一步包括:服务域名可用性测试单元、实例可用性测试单元、DNS解析测试单元、API场景可用性测试单元以及WEB页面可用性测试单元;
所述服务域名可用性测试单元:用于检测被测服务对应协议访问结果;
所述实例可用性测试单元:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;
所述DNS解析测试单元:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;
所述API场景可用性测试单元:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;
所述WEB页面可用性测试单元:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。
进一步的,所述基础信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
另外,本发明还提供了一种跨境多服务拨测的软件测试方法,所述软件测试方法包括如下步骤:
步骤S1、先部署一存储数据库、并部署可视化配置报表,将报表与存储数据库进行关联;
步骤S2、部署一个配置服务,该配置服务用于配置被测对象信息、拨测频率、告警推送信息、读取被测对象原始服务状态;
步骤S3、配置服务配置被测对象信息,被测对象信息包括服务名,是否跨境、拨测频率、告警推送信息;
步骤S4、根据所配置的被测系统的服务名采集被测服务的基础信息;根据所收集的基础信息自动梳理待测用例和配置测试期望值,并发起测试,所述测试包括服务域名可用性测试、实例可用性测试、DNS解析测试、API场景可用性测试以及WEB页面可用性测试;
步骤S5、获取测试结果,并将测试结果进行存储,对测试结果进行测试结果校验,若测试结果等于期望值,则视为测试通过,并进入步骤S7,若测试结果不等于期望值,则视为测试失败,并进入步骤S6;
步骤S6、对测试失败用例进行处理,所述处理包括排除人为操作或外因引发测试结果异常的测试用例;
步骤S7、将步骤S5和步骤S6中产生的测试结果,经过人为操作记录做初步筛查后,对测试结果进行共因分析;
步骤S8、将共因分析和测试结果推送给配置服务中配置的推送对象,通过推送对象进行消息发送;同时能将测试结果以报表形式进行呈现。
进一步的,所述共因分析包括:实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、以及单实例异常。
进一步的,所述服务域名可用性测试为:用于检测被测服务对应协议访问结果;所述实例可用性测试为:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;
所述DNS解析测试为:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;所述API场景可用性测试为:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;所述WEB页面可用性测试为:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。
进一步的,所述基础信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
进一步的,所述步骤S6中对测试失败用例进行处理具体为:测试过程若发现双实例中一个实例主域名概率性出现异常,域名解析通过API拨测场景通过率不达100%,则进行测试失败用例处理环节,并再次读取该服务的操作信息,确认是否存在人为关停实例或解绑操作记录;存在人为操作记录:确认操作合理性,根据该服务近期服务器Nginx访问量情况进行分析,若访问量高,且关停操作已经导致核心API不可用,则视为不合理,即测试结果属于人为操作引起,进入步骤S7;不存在人为操作记录:即测试结果排除人为干扰,进入步骤S7。
本发明的有益效果在于:1、本发明利用被测服务的服务唯一识别码(服务名)为切入点,根据服务名获取服务相关的一系列信息,并自动根据服务信息匹配以对应预设的测试项,并自动完成一系列的测试自动化验证,快速实现完整的测试覆盖,减少漏测。
2、本发明中存在跨境的多服务交互式验证,遍历深度直达SAAS(Software-as-a-Service软件即服务)层,且自动化完成测试异常结果的共因分析,缩短测试结果定位和分析的时间。
3、本发明利用将测试模块部署于境内、境外多地,实现跨境的服务调用,完成单个服务境外、境内交互性的可用性验收。
4、本发明可以在大型运维活动中,起到高效的测试回归作用,不需人工测试过多的介入,就能将被测服务的综合情况进行逐一的遍历回归。
附图说明
图1是本发明软件测试系统原理框图。
图2是本发明拨测模块中进行拨测检测机制的原理图。
图3是本发明一实施例的软件测试系统物理部署图。
图4是本发明软件测试方法的流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
现有常规的一个被测系统或产品,一般通过服务端和客户端组成,本专利是服务端和客户端分开作为2个被测服务颗粒来看,客户端和服务是分离的,通过两个服务之间的相互调用构成一个系统,故一个完整的被测系统,实际上存在着2个或者更多的被测服务颗粒,请参阅图1所示,本专利是通过配置以对应被测服务名的形式,完成1个(1个前端被测服务+1个服务端被测服务)或多个产品(多个前端被测服务+多个服务端被测服务)的测试和监控。
请参阅图1、图2、图3所示,本发明的一种跨境多服务拨测的软件测试系统,所述软件测试系统包括配置服务模块、可视化报表模块,告警推送模块、拨测数据分析模块,多个拨测模块,多个拨测模块部署在多个跨境的服务器上,所述配置服务模块,用于配置被测系统对应的被测服务名;所述拨测模块,用于根据配置服务模块中设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试;所述拨测数据分析模块,用于排除人为操作或外因引发测试结果异常,然后将测试结果进行共因分析,结合拨测模块中各测试单元的测试结果,确认测试错误的原因,并汇总测试结果;所述可视化报表模块,用于将测试结果以报表形式进行呈现;所述告警推送模块,用于将测试结果通过消息信息推送给使用者并进行告警;
用户通过在配置服务模块中配置被测系统对应的被测服务名,软件测试系统会根据被测服务名,在配置信息库中查找对应被测服务的基础信息进行梳理待测用例和测试期望值设定;拨测模块根据设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试,各个测试单元测试结束后测试结果汇总,并输送至拨测数据分析模块;拨测数据分析模块收到数据后,排除人为操作或干扰测试结果的因素后,进行数据共因分析;告警推送模块:根据拨测数据分析模块数据分析的结果将共因分析和测试结果推送给配置服务模块中配置的推送对象,通过推送对象进行消息发送;可视化报表模块将测试结果以报表形式进行呈现。所述基础信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
在本发明中,所述拨测数据分析模块进一步包括:数据清洗单元、数据分析单元、以及数据存储单元;
所述数据清洗单元:当服务出现异常,根据被测服务名去查询服务当前的操作记录,若此时存在人为操作记录,或此时服务器网络波动,则视为本次测试结果存在异常;若人为操作合理,则本次测试失败结果则认为受外界干扰影响;
所述清洗分析单元:经数据清洗单元通过后,将测试失败的测试用例进行共因分析,所述共因分析包括:实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、单实例异常;
所述数据存储单元:用于存储测试结果和测试用例数据。
所述拨测模块进一步包括:服务域名可用性测试单元、实例可用性测试单元、DNS解析测试单元、API场景可用性测试单元以及WEB页面可用性测试单元;
所述服务域名可用性测试单元:用于检测被测服务对应协议访问结果;
所述实例可用性测试单元:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;
所述DNS解析测试单元:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;
所述API场景可用性测试单元:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;
所述WEB页面可用性测试单元:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。参阅图3所示,服务域名可用性测试单元的测试方式为:向协议+域名(http://test.101.com)发起请求,校验返回数据情况;
实例可用性测试单元的测试方式为:先向实例对应IP+端口号拼接为域名发起请求,校验返回数据情况;公网IP(全球可访问)拨测模块部署于内网环境;内网IP(仅服务器内网可访问)拨测模块部署于同服务器物理机环境;
DNS解析测试单元的校验方式为:域名是否正常解析为域名IP,域名解析方式是否发生变更,域名解析的IP是否属于服务器已知的IP信息,在用域名证书是否到达到期时间,解析IP出现异常的时候,自动检测同服务器丢包、响应时间等网络可用性信息;
API场景可用性测试单元检测机制为:定时调用在用服务核心业务API,并根据核心业务场景构造成测试用例进行执行,并根据返回数据是否符合预期确认用例是否通过;如:系统A角色上架资源C,1s内,B角色登录系统后,可通过列表查询接口返回上架资源C的信息其中系统A角色可以在境内上架资源,B角色可在境外调用查看;
WEB页面可用性测试单元检测机制为:定时通过UI层面发起核心业务流程覆盖和验证,确认UI层面核心功能可用性。
请参阅图4所示,本发明的一种跨境多服务拨测的软件测试方法,所述软件测试方法包括如下步骤:
步骤S1、先部署一存储数据库、并部署可视化配置报表,将报表与存储数据库进行关联;
步骤S2、部署一个配置服务,该配置服务用于配置被测对象信息、拨测频率、告警推送信息、读取被测对象原始服务状态;
步骤S3、配置服务配置被测对象信息,被测对象信息包括服务名,是否跨境、拨测频率、告警推送信息;
步骤S4、根据所配置的被测系统的服务名采集被测服务的基础信息;根据所收集的基础信息自动梳理待测用例和配置测试期望值,并发起测试,所述测试包括服务域名可用性测试、实例可用性测试、DNS解析测试、API场景可用性测试以及WEB页面可用性测试;
举例如:被测服务部署加州环境即存在跨境场景,被测服务属于纯服务端应用,且支持HTTP/HTTPS两个协议、该服务存在双实例,部署Tomcat,流量指向Tomcat,存在主域名、别名、通用域名,实例当前可用,双实例对ip是1xx.xxx.xxx和2xx.xxx.xxx,已成功发布过V1.0版本,拨测频率是5分钟/次,推送人是MM,域名解析方式是A记录);
(1)测试系统会根据所配置的被测系统服务名(产品/服务唯一标识),采集被测服务信息:
1) 主域名(服务在用的域名、操作Nginx配置的主键)
2) 别名(短域名,为了更好的对外服务)
3) 通用域名(为了让同个域名不会因为使用不同的组件让用户看到不同域名,所以设定的域名)
4) 域名协议信息(HTTP/HTTPS)
5) 服务当前流量指向情况(弹性Web Tomcat或开源的应用容器引擎Docker)
6) 服务在用实例信息(实例名、实例个数、实例状态、各实例对应ip)
7) 服务发布记录
8) 服务在用API中Nginx访问量情况及API清单
9) 服务部署情况(是否存在服务跨境部署)
10)服务拨测频率、拨测结果推送对象等
11)服务最近一次测试结果
(2)根据(1)所收集的服务信息,测试系统会自动梳理待测用例和配置测试期望值:
A. 待测用例项:
1) 跨境拨测:加州->加州,国内->加州
2) 双实例对应可用性
3) 主域名、别名、通用域名可用性
4) 域名解析方式检测
5) API拨测场景可用性
6) 因服务属于服务端服务,故不配置以WEB页面可用性检测用例
B. 测试用例期望值:(参照图3所示)
1) 跨境拨测:境外拨测各项均测试通过,境内拨境外通过CN2加速也测试通过,且与同境外拨测耗时迟不超过1s;
2) 双实例对应可用性:访问正常,测试通过;
3) 主域名、别名、通用域名:访问正常,测试通过;
4) 域名解析方式检测:解析方式正常,测试通过;
5) API拨测场景可用性:Nginx访问量前10名的API单接口拨测通过率100%,核心场景拨测通过率100%;
(3)触发检测:各用例同步发起检测;
步骤S5、获取测试结果,并将测试结果进行存储(即测试结果存储1),对测试结果进行测试结果校验,若测试结果等于期望值,则视为测试通过,并进入步骤S7,若测试结果不等于期望值,则视为测试失败,并进入步骤S6;
步骤S6、对测试失败用例进行处理,所述处理包括排除人为操作或外因引发测试结果异常的测试用例;所述步骤S6中对测试失败用例进行处理具体为:测试过程若发现双实例中一个实例主域名概率性出现异常,域名解析通过API拨测场景通过率不达100%,则进行测试失败用例处理环节,并再次读取该服务的操作信息,确认是否存在人为关停实例或解绑操作记录;存在人为操作记录:确认操作合理性,根据该服务近期服务器Nginx访问量情况进行分析,若访问量高,且关停操作已经导致核心API不可用,则视为不合理,即测试结果属于人为操作引起,进入步骤S7;不存在人为操作记录:即测试结果排除人为干扰,进入步骤S7。
步骤S7、将步骤S5和步骤S6中产生的测试结果,经过人为操作记录做初步筛查后,针对存储的测试结果2(即测试结果存储1中扣除人为操作记录做初步筛查不合格的数据)进行数据分析。数据分析主要是做共因分析,如实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、单实例异常、无人为操作记录、其他测试项通过,可综合分析API拨测概率性异常是因为双实例中存在单实例异常后流量概率性切换至不可用实例导致。
步骤S8、将共因分析和测试结果推送给配置服务中配置的推送对象,通过推送对象进行消息发送;同时能将测试结果以报表形式进行呈现。
在本发明中,所述服务域名可用性测试为:用于检测被测服务对应协议访问结果;所述实例可用性测试为:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;
所述DNS解析测试为:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;所述API场景可用性测试为:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;所述WEB页面可用性测试为:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。
所述基础信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
另外,本发明测试系统支持同时配置多个被测服务对象,如遇到大型基础设施运维,如服务器硬盘故障、内存告警、交换机割接等,需要将对应相关服务的各项信息做快速回归和验证,仅需要在测试系统配置服务配置以服务名,即可完成后续一系列的测试验证。
总之,本发明利用部署多服务跨境业务可用性拨测服务,实现千量级服务可用性的快速回归和拨测监控,从基础设施到业务层的流程化的可用性覆盖和验收,完成各类大型运维活动的验收和日常大型故障的影响面评估和回归。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (7)

1.一种跨境多服务拨测的软件测试系统,其特征在于:所述软件测试系统包括配置服务模块、可视化报表模块,告警推送模块、拨测数据分析模块,多个拨测模块,多个拨测模块部署在多个跨境的服务器上,所述配置服务模块,用于配置被测系统对应的被测服务名;所述拨测模块,用于根据配置服务模块中设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试;所述拨测数据分析模块,用于排除人为操作或外因引发测试结果异常,然后将测试结果进行共因分析,结合拨测模块中各测试单元的测试结果,确认测试错误的原因,并汇总测试结果;所述可视化报表模块,用于将测试结果以报表形式进行呈现;所述告警推送模块,用于将测试结果通过消息信息推送给使用者并进行告警;
用户通过在配置服务模块中配置被测系统对应的被测服务名,软件测试系统会根据被测服务名,在配置信息库中查找对应被测服务的配置信息进行梳理待测用例和测试期望值设定;拨测模块根据设定的用例路径和预设的测试期望值,完成拨测模块中各个测试单元的测试,各个测试单元测试结束后测试结果汇总,并输送至拨测数据分析模块;拨测数据分析模块收到数据后,排除人为操作或干扰测试结果的因素后,进行数据共因分析;告警推送模块:根据拨测数据分析模块数据分析的结果将共因分析和测试结果推送给配置服务模块中配置的推送对象,通过推送对象进行消息发送;可视化报表模块将测试结果以报表形式进行呈现;
所述拨测数据分析模块进一步包括:数据清洗单元、数据分析单元、以及数据存储单元;
所述数据清洗单元:当服务出现异常,根据被测服务名去查询服务当前的操作记录,若此时存在人为操作记录,或此时服务器网络波动,则视为本次测试结果存在异常;若人为操作合理,则本次测试失败结果则认为受外界干扰影响;
所述数据分析单元:经数据清洗单元通过后,将测试失败的测试用例进行共因分析,所述共因分析包括:实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、单实例异常;
所述数据存储单元:用于存储测试结果和测试用例数据。
2.根据权利要求1所述的一种跨境多服务拨测的软件测试系统,其特征在于:所述拨测模块进一步包括:服务域名可用性测试单元、实例可用性测试单元、DNS解析测试单元、API场景可用性测试单元以及WEB页面可用性测试单元;
所述服务域名可用性测试单元:用于检测被测服务对应协议访问结果;
所述实例可用性测试单元:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;
所述DNS解析测试单元:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;
所述API场景可用性测试单元:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;
所述WEB页面可用性测试单元:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。
3.根据权利要求1所述的一种跨境多服务拨测的软件测试系统,其特征在于:所述配置信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
4.一种跨境多服务拨测的软件测试方法,其特征在于:所述软件测试方法包括如下步骤:
步骤S1、先部署一存储数据库、并部署可视化配置报表,将报表与存储数据库进行关联;
步骤S2、部署一个配置服务,该配置服务用于配置被测对象信息、拨测频率、告警推送信息、读取被测对象原始服务状态;
步骤S3、配置服务配置被测对象信息,被测对象信息包括服务名,是否跨境、拨测频率、告警推送信息;
步骤S4、根据所配置的被测系统的服务名采集被测服务的配置信息;根据所收集的配置信息自动梳理待测用例和配置测试期望值,并发起测试,所述测试包括服务域名可用性测试、实例可用性测试、DNS解析测试、API场景可用性测试以及WEB页面可用性测试;
步骤S5、获取测试结果,并将测试结果进行存储,对测试结果进行测试结果校验,若测试结果等于期望值,则视为测试通过,并进入步骤S7,若测试结果不等于期望值,则视为测试失败,并进入步骤S6;
步骤S6、对测试失败用例进行处理,所述处理包括排除人为操作或外因引发测试结果异常的测试用例;
步骤S7、将步骤S5和步骤S6中产生的测试结果,经过人为操作记录做初步筛查后,对测试结果进行共因分析;
步骤S8、将共因分析和测试结果推送给配置服务中配置的推送对象,通过推送对象进行消息发送;同时能将测试结果以报表形式进行呈现;
所述步骤S6中对测试失败用例进行处理具体为:测试过程若发现双实例中一个实例主域名概率性出现异常,域名解析通过API拨测场景通过率不达100%,则进行测试失败用例处理环节,并再次读取该服务的操作信息,确认是否存在人为关停实例或解绑操作记录;存在人为操作记录:确认操作合理性,根据该服务近期服务器Nginx访问量情况进行分析,若访问量高,且关停操作已经导致核心API不可用,则视为不合理,即测试结果属于人为操作引起,进入步骤S7;不存在人为操作记录:即测试结果排除人为干扰,进入步骤S7。
5.根据权利要求4所述的一种跨境多服务拨测的软件测试方法,其特征在于:所述共因分析包括:实例当前CPU使用率高、域名访问出现异常、API拨测概率性异常、以及单实例异常。
6.根据权利要求4所述的一种跨境多服务拨测的软件测试方法,其特征在于:所述服务域名可用性测试为:用于检测被测服务对应协议访问结果;所述实例可用性测试为:每个服务由单个或多个实例组成,根据对应实例的拨测能验证实例的业务可用性;所述DNS解析测试为:每个服务对应域名的DNS解析方式是固定的,但是在异常的情况下解析方式会发生变化,从而影响业务可用性,通过检测DNS解析方式确认解析是否正确,是否发生异常;所述API场景可用性测试为:利用每个被测服务中所用的服务端API信息,通过API自动化将被测服务或被测系统的核心业务流程编写成脚本进行遍历,以确认被测系统在访问域名可用的情况下,单核心接口和业务场景可用;所述WEB页面可用性测试为:针对被测服务是WEB应用,如果被测服务是个前端和后端的应用,则仅通过API无法覆盖,需要WEB页面通过UI控件获取和自动化点击来覆盖WEB页面可用性。
7.根据权利要求4所述的一种跨境多服务拨测的软件测试方法,其特征在于:所述配置信息包括:主域名,别名,通用域名,域名协议信息,服务当前流量指向情况,服务在用实例信息,服务发布记录,服务在用API中服务器Nginx访问量情况及API清单,服务部署情况,服务拨测频率、拨测结果推送对象,服务最近一次测试结果。
CN201910843388.4A 2019-09-06 2019-09-06 一种跨境多服务拨测的软件测试系统及其方法 Active CN112463572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910843388.4A CN112463572B (zh) 2019-09-06 2019-09-06 一种跨境多服务拨测的软件测试系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910843388.4A CN112463572B (zh) 2019-09-06 2019-09-06 一种跨境多服务拨测的软件测试系统及其方法

Publications (2)

Publication Number Publication Date
CN112463572A CN112463572A (zh) 2021-03-09
CN112463572B true CN112463572B (zh) 2023-09-15

Family

ID=74807197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910843388.4A Active CN112463572B (zh) 2019-09-06 2019-09-06 一种跨境多服务拨测的软件测试系统及其方法

Country Status (1)

Country Link
CN (1) CN112463572B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967613B (zh) * 2022-12-20 2024-10-01 广州骏伯网络科技有限公司 一种自适应性页面拨测告警方法、装置、设备及存储介质
CN117768939B (zh) * 2023-12-07 2024-10-18 江苏中博通信有限公司 一种面向无线通信设备的分布式自动拨测系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271271A (en) * 1991-04-03 1993-12-21 Frazier Charles H Method and apparatus for inspection of gears
CN102468993A (zh) * 2010-11-17 2012-05-23 大唐移动通信设备有限公司 一种终端测试设备及方法
KR101768428B1 (ko) * 2017-06-28 2017-08-16 경북대학교 산학협력단 어플리케이션간 상호작용 테스팅을 위한 인텐트 기반의 테스트 시나리오 생성 방법
CN108683569A (zh) * 2018-06-06 2018-10-19 国家计算机网络与信息安全管理中心 一种面向云服务基础设施的业务监测方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271271A (en) * 1991-04-03 1993-12-21 Frazier Charles H Method and apparatus for inspection of gears
CN102468993A (zh) * 2010-11-17 2012-05-23 大唐移动通信设备有限公司 一种终端测试设备及方法
KR101768428B1 (ko) * 2017-06-28 2017-08-16 경북대학교 산학협력단 어플리케이션간 상호작용 테스팅을 위한 인텐트 기반의 테스트 시나리오 생성 방법
CN108683569A (zh) * 2018-06-06 2018-10-19 国家计算机网络与信息安全管理中心 一种面向云服务基础设施的业务监测方法及系统

Also Published As

Publication number Publication date
CN112463572A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN109189665B (zh) 数据录制、数据回放和自动测试的方法及装置
CN112054941B (zh) 私有域名自动化测试方法、装置、设备及存储介质
CN107710683A (zh) 弹性即服务
CN110088744B (zh) 一种数据库维护方法及其系统
CN109885496B (zh) 测试日志管理方法及系统
CN111506489A (zh) 测试方法、系统、设备、服务器及存储介质
CN112463572B (zh) 一种跨境多服务拨测的软件测试系统及其方法
CN112636985B (zh) 基于自动化发现算法的网络资产探测装置
CN114884838B (zh) Kubernetes组件的监控方法及服务器
CN112860569A (zh) 一种自动化测试方法、装置、电子设备和存储介质
CN112231271A (zh) 数据迁移完整性校验方法、装置、设备及计算机可读介质
CN108683569A (zh) 一种面向云服务基础设施的业务监测方法及系统
CN108933693B (zh) 一种域名服务系统故障处理方法和系统
CN112737856B (zh) 链路追踪方法和装置、存储介质及电子装置
CN114363151A (zh) 故障检测方法和装置、电子设备和存储介质
CN106095676A (zh) 数据上报的测试方法、装置及系统
CN112202647A (zh) 区块链网络中的测试方法、装置及测试设备
JP2014035595A (ja) 通信システムの試験装置、通信システムの試験用プログラム及び通信システムの試験方法
CN107769957B (zh) 一种域名系统故障原因分析方法和装置
CN112235128B (zh) 一种交易路径分析方法、装置、服务器及存储介质
CN104639351A (zh) 用以建构网络结构部署图的处理系统及其方法
CN111385157B (zh) 一种服务器异常检测方法及装置
CN110769076B (zh) 一种dns测试方法和系统
CN110134558B (zh) 一种服务器的检测方法和装置
CN106649099A (zh) 一种dns监测服务自动化测试方法与系统

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