CN110941559B - 自动测试方法及*** - Google Patents

自动测试方法及*** Download PDF

Info

Publication number
CN110941559B
CN110941559B CN201911181263.6A CN201911181263A CN110941559B CN 110941559 B CN110941559 B CN 110941559B CN 201911181263 A CN201911181263 A CN 201911181263A CN 110941559 B CN110941559 B CN 110941559B
Authority
CN
China
Prior art keywords
test
database
automatic
flow
advertisement
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
CN201911181263.6A
Other languages
English (en)
Other versions
CN110941559A (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.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information 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 Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201911181263.6A priority Critical patent/CN110941559B/zh
Publication of CN110941559A publication Critical patent/CN110941559A/zh
Application granted granted Critical
Publication of CN110941559B publication Critical patent/CN110941559B/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

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

本发明实施例提供自动测试方法及***,以减少在自动测试过程中,对广告引擎的误判。上述自动测试***包括:自动测试框架***和测试用数据库;在进行自动化测试之前,测试用数据库为空数据库;上述方法包括:自动测试框架***加载测试用例;测试用例包括初始化流程、测试流程及预期响应;自动测试框架***根据测试用例中的初始化流程,向测试用数据库中灌入配置数据和广告素材,并配置BS的服务器参数;预期响应是针对配置数据、广告素材、服务器参数以及测试流程中的广告请求而设定的;自动测试框架***根据测试用例中的测试流程,向BS发送广告请求,接收BS返回的响应,将返回的响应与预期响应进行比对,生成测试报告。

Description

自动测试方法及***
技术领域
本发明涉及自动测试技术领域,具体涉及自动测试方法及***。
背景技术
后端服务内部组件之间通信,以及服务端和客户端之间的通信都有各自不同的接口定义。当某个模块的接口实现不符合其他模块的要求时,会出现严重的通信故障。所以需要完备的接口测试。
目前的接口测试框架,主要针对Web服务,可以对不同URL、不同请求参数、不同请求方法的场景进行覆盖测试。广告引擎(BS)接口测试也是如此。
在测试时,接口测试框架会执行测试用例,向BS服务发送http请求,并得到响应,接口测试框架会比较返回的响应与预期响应是否一致,得到测试报告。
然而发明人发现,BS接口的自动测试比较特殊,因为BS的大部分复杂逻辑(比如对广告素材进行的过滤、排序等逻辑)集中在BS服务内部,由数据库中各种不同配置表(可统称为配置数据)以及服务器参数决定的。
预期响应是针对具体的配置数据和服务器参数而设计的。若数据库的配置数据、服务参数发生变化,那么,对于同样的http请求,BS可能会触发执行不同的逻辑,从而返回与期望响应不一致的响应,这样,即使BS并未出现错误,也可能会因返回的响应与预期响应不同而被误判。
发明内容
有鉴于此,本发明实施例提供自动测试方法及***,以减少在自动测试过程中,对广告引擎的误判。
为实现上述目的,本发明实施例提供如下技术方案:
一种自动测试方法,用于测试广告引擎BS,应用于自动测试***;所述自动测试***包括:自动测试框架***和测试用数据库;在进行自动化测试之前,所述测试用数据库为空数据库;
所述方法包括:
所述自动测试框架***加载测试用例;所述测试用例包括初始化流程、测试流程及预期响应;
所述自动测试框架***根据所述测试用例中的初始化流程,向所述测试用数据库中灌入配置数据和广告素材,并配置BS的服务器参数;所述预期响应是针对所述配置数据、所述广告素材、所述服务器参数以及所述测试流程中的广告请求而设定的;
所述自动测试框架***根据所述测试用例中的测试流程,向所述BS发送广告请求;
所述自动测试框架***接收所述BS返回的响应,将所述返回的响应与所述预期响应进行比对,生成测试报告;所述测试报告至少包括:表征所述测试用例测试成功或失败的信息。
可选的,还包括:在执行完所述测试用例后,删除所述数据库中的数据。
可选的,还包括:在执行完所述测试用例后,将所述BS的服务器参数恢复至默认值。
可选的,所述测试报告还包括:所述BS针对所述广告请求产生的日志。
一种自动测试***,用于测试广告引擎BS,包括:自动测试框架***和测试用数据库;在进行自动化测试之前,所述测试用数据库为空数据库;
所述自动测试框架***包括:
加载单元,用于加载测试用例;所述测试用例包括初始化流程、测试流程及预期响应;
数据库配置单元,用于根据所述测试用例中的初始化流程,向所述测试用数据库中灌入配置数据和广告素材;
BS配置单元,用于根据所述测试用例中的初始化流程,配置BS的服务器参数;所述预期响应是针对所述临时配置数据、所述广告素材、所述服务器参数以及所述测试流程中的广告请求而设定的;
测试单元,用于:
根据所述测试用例中的测试流程,向所述BS发送广告请求;
接收所述BS返回的响应,将所述返回的响应与所述预期响应进行比对,生成测试报告;所述测试报告至少包括:表征所述测试用例测试成功或失败的信息。
可选的,所述数据库配置单元还用于:在执行完所述测试用例后,删除所述数据库中的数据。
可选的,所述BS配置单元还用于:在执行完所述测试用例后,将所述BS的服务器参数恢复至默认值。
可选的,所述测试报告还包括:所述BS针对所述广告请求产生的日志。
可见,在本发明实施例中,在执行测试流程之前,先执行初始化流程。在初始化过程中,向空数据库中灌入配置数据和广告素材,将数据库的环境配置成预期环境,同时,还配置BS的服务器参数。这样,可保证数据库配置数据和BS的服务器参数与预期响应的一致性。避免在进行自动测试时,因配置数据、服务器参数变动而导致BS触发执行不同的逻辑返回不同的响应,进而减少对BS的误判。
附图说明
图1为本发明实施例提供的自动测试***的一种示例性架构;
图2为本发明实施例提供的自动测试方法的一种示例***互流程;
图3为本发明实施例提供的自动测试方法的另一种示例***互流程;
图4为本发明实施例提供的自动测试方法的又一种示例***互流程;
图5为本发明实施例提供的自动测试***的示例性结构。
具体实施方式
本发明实施例提供自动测试方法及***,以减少在自动测试过程中,对广告引擎的误判。
图1示出了上述自动测试***的一种示例性架构,包括:自动测试框架***(autotest)和测试用数据库(DB)。
其中,在进行自动化测试之前,上述DB为空数据库。
autotest可包括服务器和部署在服务器上的自动测试框架(服务端应用程序),自动测试框架采用Python语言实现的,通过命令行工具,启动服务,执行相关的测试流程操作。其可部署在jenkins持续集成工具上,定期执行接口测试。
需要说明的是,jenkins持续集成工具是持续集成的一个框架,具有图形化界面,可方便反复操作,从而不必登录到服务器上操作。
被测试的广告引擎服务(BS),主要用于广告过滤、广告粗排等。
自动测试***与被测试的广告引擎服务(BS)构成测试环境。
需要说明的是,在测试环境中,BS只从测试用数据库中获取数据,不从其他数据库中获取数据。
此外,测试环境中还可包括:
拉取单元,用于每天定时2次,拉取数据库的广告素材和配置数据,通过ft(引擎***的一个微型服务,主要作用就是传输文本文件,从一台机器到另一台机器)写入BS服务。
实时更新模块:用于实时获取DB更新的内容并写入BS服务。
在实际运行中,是由广告投放端(广告主)向数据库中存入广告素材和配置数据,并对BS的服务器参数进行配置。
在本实施例中,可由自动测试框架***加载测试用例或测试任务/项目后,在执行测试用例的初始化流程中,模拟广告投放端的操作,向数据库中灌入广告素材和配置数据,并对BS的服务器参数进行配置。
图2示出了基于上述自动测试***所执行的自动测试方法的一种示例***互步骤,包括:
S1:自动测试框架***加载测试用例。
自动测试框架***可依次执行一个测试任务或项目下的多个测试用例。
在执行到每一测试用例时,会加载该测试用例。
每一测试用例可包括初始化流程、测试流程及预期响应。
其中的,初始化流程可包括对数据库灌入配置数据和广告素材,以及配置BS的服务器参数的操作。
测试流程可包括发送http请求和验证http响应的逻辑。
需要说明的是,测试流程模拟的是用户(客户端)请求广告的过程。
举例来讲,使用者打开某手机购物软件客户端时,该购物软件的页面上具有广告位,则客户端会向服务器发送http请求以请求广告投放。
S2:自动测试框架***根据测试用例中的初始化流程,向测试用数据库中灌入配置数据和广告素材,并配置BS的服务器参数。
这里的“灌入”可理解为“写入”、“存储”。
其中,测试用例中,数据库的配置数据可示例性的包括但不限于:广告的投放周期、投放广告位、出价、广告优先级、广告投放状态、预算、频控配置、黑白名单等。
配置数据可以配置表的形式存在。
服务器参数可包括广告模板配置(广告图片尺寸)、黑白名单。
步骤S2模拟的是广告投放端的操作。
S3:自动测试框架***根据测试用例中的测试流程,向BS发送广告请求(http请求)。
广告请求中可包括用户标识、广告位信息等。
步骤S3模拟的是客户端请求广告的操作。
S4:BS返回http响应。
S5:自动测试框架***将返回的响应与测试用例中的预期响应进行比对,生成测试报告。
其中,测试用例中是预期响应是针对上述配置数据、广告素材、服务器参数以及测试流程中的广告请求而设定的。
上述测试报告至少包括:表征测试用例测试成功或失败的信息(测试结果)。
此外,测试结果还可包括:BS针对上述广告请求产生的日志。
需要说明的是,测试报告可包含多个测试用例的测试结果。
可见,在本发明实施例中,在执行测试流程之前,先执行初始化流程。在初始化过程中,向空数据库中灌入配置数据和广告素材,将数据库的环境配置成预期环境,同时,还配置BS的服务器参数。这样,可保证数据库配置数据和BS的服务器参数与预期响应的一致性。避免在进行自动测试时,因配置数据、服务器参数变动而导致BS触发执行不同的逻辑返回不同的响应,进而减少对BS的误判。
在本发明其他实施例中,请参见图3,在执行完测试用例后,上述自动测试方法还可包括:
S6:自动测试框架***删除数据库中的数据。
在完成测试后清空数据库,可避免测试用例顺序的不同,影响最终执行效果。
在本发明其他实施例中,仍请参见图3,在执行完测试用例后,上述自动测试方法还可包括:
S7,自动测试框架***将BS的服务器参数恢复至默认值。
请参见图4,下面以更具体的例子介绍本发明实施例提供的自动测试方法,其可包括:
S41:自动测试框架***初始化数据库中的配置表至默认值。
需要说明的是,配置表可有多种,测试用例可针对某一种或多种配置表进行配置,其他配置表可使用默认值。
S42:自动测试框架***加载测试用例。
步骤S42与步骤S41的执行顺序可互换。
测试用例的相关介绍请参见前述记载,在此不作赘述。
S43:自动测试框架***根据测试用例中的初始化流程,向测试用数据库中灌入配置数据和广告素材,并更新BS的服务器参数。
具体的,服务器参数是文件形式,自动测试框架***可使用ssh相关模块(ssh模块是远程登录服务相关的代码功能,主要用于登录服务器、连并下载日志、校对日志)登陆BS,进行服务器参数的更新。
自动测试框架***可使用两个模块分别执行“向测试用数据库中灌入配置数据和广告素材”和“配置BS的服务器参数”。
其他相关介绍请参见前述步骤S2,在此不作赘述。
S44:BS获取测试用数据库中的配置数据。
可由前述提及的拉取单元每天定时2次,从数据库中拉取广告素材和配置数据,通过ft写入BS服务。
此外,还可通过前的实时更新模块实时获取DB的更新的内容写入BS服务。
S45:自动测试框架***根据测试用例中的测试流程,向BS发送广告请求(http请求)。
广告请求中可包括用户标识、广告位信息等。
步骤S45模拟的是客户端请求广告的操作。
S46:BS返回http响应。
S47:自动测试框架***将返回的响应与测试用例中的预期响应进行比对。
S48:自动测试框架***获取BS的日志,与预期日志进行匹配。
BS针对上述广告请求产生的日志会写入文本文件,自动测试框架***会读取文本文件,进行相关文本匹配,验证是否符合预期。
S49:自动测试框架***根据比对结果,生成测试报告。
上述测试报告可为HTML测试报告。
可在测试报告中统计执行成功的测试用例,以及执行失败的测试用例。
其中,若日志比对一致且http响应比对一致,则测试用例执行成功,否则失败。
对于失败的测试用例,还可在测试报告中附具相应的日志,以方便定位。
S410:自动测试框架***删除数据库中的数据。
下面介绍自动测试***。请参见图5,其示例性的包括:
加载单元1,用于加载测试用例;
测试用例包括初始化流程、测试流程及预期响应;
数据库配置单元2,用于根据测试用例中的初始化流程,向测试用数据库中灌入配置数据和广告素材;
BS配置单元3,用于根据测试用例中的初始化流程,配置BS的服务器参数;预期响应是针对临时配置数据、广告素材、服务器参数以及测试流程中的广告请求而设定的;
测试单元4,用于:
根据测试用例中的测试流程,向BS发送广告请求;
接收BS返回的响应,将返回的响应与预期响应进行比对,生成测试报告;测试报告至少包括:表征测试用例测试成功或失败的信息。
具体介绍请参见本文前述记载,在此不作赘述。
此外,测试单元4还会从BS处获取针对广告请求的日志,将其与预期日志进行比对,则上述测试报告还可包括BS针对广告请求产生的日志。具体介绍请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述数据库配置单元2还用于:在执行完测试用例后,删除数据库中的数据。
具体介绍请参见本文前述记载,在此不作赘述。
上述BS配置单元3还用于:在执行完测试用例后,将BS的服务器参数恢复至默认值。
具体介绍请参见本文前述记载,在此不作赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种自动测试方法,用于测试广告引擎BS,其特征在于,应用于自动测试***;所述自动测试***包括:自动测试框架***和测试用数据库;在进行自动化测试之前,所述测试用数据库为空数据库;
所述方法包括:
所述自动测试框架***加载测试用例;所述测试用例包括初始化流程、测试流程及预期响应;
所述自动测试框架***根据所述测试用例中的初始化流程,向所述测试用数据库中灌入配置数据和广告素材,并配置BS的服务器参数;所述预期响应是针对所述配置数据、所述广告素材、所述服务器参数以及所述测试流程中的广告请求而设定的;
所述自动测试框架***根据所述测试用例中的测试流程,向所述BS发送广告请求;
所述自动测试框架***接收所述BS返回的响应,将所述返回的响应与所述预期响应进行比对,生成测试报告;所述测试报告至少包括:表征所述测试用例测试成功或失败的信息。
2.如权利要求1所述的方法,其特征在于,还包括:在执行完所述测试用例后,删除所述数据库中的数据。
3.如权利要求2所述的方法,其特征在于,还包括:在执行完所述测试用例后,将所述BS的服务器参数恢复至默认值。
4.如权利要求3所述的方法,其特征在于,所述测试报告还包括:所述BS针对所述广告请求产生的日志。
5.一种自动测试***,用于测试广告引擎BS,其特征在于,包括:自动测试框架***和测试用数据库;在进行自动化测试之前,所述测试用数据库为空数据库;
所述自动测试框架***包括:
加载单元,用于加载测试用例;所述测试用例包括初始化流程、测试流程及预期响应;
数据库配置单元,用于根据所述测试用例中的初始化流程,向所述测试用数据库中灌入配置数据和广告素材;
BS配置单元,用于根据所述测试用例中的初始化流程,配置BS的服务器参数;所述预期响应是针对所述配置数据、所述广告素材、所述服务器参数以及所述测试流程中的广告请求而设定的;
测试单元,用于:
根据所述测试用例中的测试流程,向所述BS发送广告请求;
接收所述BS返回的响应,将所述返回的响应与所述预期响应进行比对,生成测试报告;所述测试报告至少包括:表征所述测试用例测试成功或失败的信息。
6.如权利要求5所述的***,其特征在于,所述数据库配置单元还用于:在执行完所述测试用例后,删除所述数据库中的数据。
7.如权利要求6所述的***,其特征在于,所述BS配置单元还用于:在执行完所述测试用例后,将所述BS的服务器参数恢复至默认值。
8.如权利要求7所述的***,其特征在于,所述测试报告还包括:所述BS针对所述广告请求产生的日志。
CN201911181263.6A 2019-11-27 2019-11-27 自动测试方法及*** Active CN110941559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911181263.6A CN110941559B (zh) 2019-11-27 2019-11-27 自动测试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911181263.6A CN110941559B (zh) 2019-11-27 2019-11-27 自动测试方法及***

Publications (2)

Publication Number Publication Date
CN110941559A CN110941559A (zh) 2020-03-31
CN110941559B true CN110941559B (zh) 2023-10-03

Family

ID=69908607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911181263.6A Active CN110941559B (zh) 2019-11-27 2019-11-27 自动测试方法及***

Country Status (1)

Country Link
CN (1) CN110941559B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925725B (zh) * 2021-04-09 2024-03-15 网易(杭州)网络有限公司 数据测试方法和装置、可读存储介质、电子设备
CN113485919B (zh) * 2021-06-30 2024-01-26 山东有人物联网股份有限公司 测试方法、测试装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012135748A2 (en) * 2011-03-31 2012-10-04 Google Inc. Integrated mobile/server applications
CN110162468A (zh) * 2019-04-26 2019-08-23 腾讯科技(深圳)有限公司 一种测试方法、装置以及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110088011A1 (en) * 2009-10-14 2011-04-14 Vermeg Sarl Automated Enterprise Software Development
US20140073420A1 (en) * 2012-09-07 2014-03-13 Downing Matthew System and method for optimizing user value in an online environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012135748A2 (en) * 2011-03-31 2012-10-04 Google Inc. Integrated mobile/server applications
CN110162468A (zh) * 2019-04-26 2019-08-23 腾讯科技(深圳)有限公司 一种测试方法、装置以及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶永鑫 ; 丁晓明 ; .实时嵌入式产品的测试***设计.单片机与嵌入式***应用.2010,(07),全文. *

Also Published As

Publication number Publication date
CN110941559A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
US7900216B2 (en) Creating a modified service request and processing the results of its execution
US8281187B1 (en) Unified and extensible meta-testing framework
CN108347356B (zh) 一种多协议单元测试方法、装置、电子设备和存储介质
CN108052451A (zh) 测试方法、***、测试服务器、测试终端及存储介质
CN105095059B (zh) 一种自动化测试的方法和装置
CN110941559B (zh) 自动测试方法及***
US10303463B2 (en) Terminal management framework and terminal management method
CN111290936A (zh) 一种接口测试方法和装置
CN110659202A (zh) 客户端自动化测试方法及装置
CN107896244A (zh) 一种版本文件的分发方法、客户端及服务器
CN102572896A (zh) 一种无线通讯***升级方法及升级装置
CN110833693B (zh) 游戏运行方法和装置、存储介质及电子装置
CN105337933A (zh) 创建子账户的方法、***以及主账户装置和子账户装置
CN110196800A (zh) 分布式事务测试方法、装置及***
CN113791765A (zh) 云服务的资源编排方法、装置、设备及存储介质
CN113111000A (zh) 持续集成自动化测试***和方法、电子设备、存储介质
CN109739704A (zh) 一种接口测试方法、服务端及计算机可读存储介质
US11573780B2 (en) Automated generation of status chains for software updates
CN116257438A (zh) 接口测试用例的更新方法及相关设备
CN106293842A (zh) 一种软件安装方法及装置
CN107273112A (zh) 一种礼物榜单信息显示方法及装置
CN105991700A (zh) 处理语音数据的方法、云端服务器***和终端设备
CN111930625B (zh) 基于云服务平台的日志获取方法、装置及***
CN109388420A (zh) 应用升级测试方法、装置、计算机设备及存储介质
CN114840225B (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