一种用于社交网站的智能测试方法与流程

文档序号:12366783阅读:349来源:国知局
一种用于社交网站的智能测试方法与流程

本发明涉及网络技术领域,尤其涉及一种用于社交网站的智能测试方法。



背景技术:

以下对本发明的相关技术背景进行说明,但这些说明并不一定构成本发明的现有技术。

随着Internet的快速发展,各类Web网站大量涌现,已经成为人们获取信息和服务必不可少的手段。其中,社交网站作为特殊的一类Web网站,具有版块主题多样化,实时交互性强,高访问量高并发的特点。在各类社交网站的竞争中,网站性能已经成为决定网站生存及成长的重要因素。网站性能是指网站服务器为用户请求提供响应的能力,尤其是在高并发及高访问量的情况下。因此,对网站性能进行准确的评测对于网站的容量规划和性能改善具有十分重要的意义。

已有的Web服务器性能测评工具主要是通过模拟多个客户端,对服务器进行并发的访问,考察在不同的用户负载下,Web服务器对用户请求响应的能力,从而发现影响系统性能的瓶颈。Webstone是最早的网站测评工具,主要是通过在被测服务器上设置不同大小的文件负载,并配置大量的客户端,模拟用户对服务器的文件发出请求,分析服务器的响应能力。但Webstone只是实现了尽可能多的发送请求序列,不能反映真实用户与服务器的交互行为;并且,Webstone只能处理静态页面,不支持对动态页面的访问,不能检测到用户与Web数据库服务器的交互。

后来又出现了基于捕获用户行为的性能测试工具,如LoadRunner、Web Application Stress Tool(WAS)等。这些工具可以录制真实用户的操作来产生测试脚本,然后运行测试脚本,实现并发的模拟多个用户对Web服务器发送HTTP请求,并通过逐渐增加用户数,测试服务器承受负载的能力。但是通过录制产生的测试脚本场景单一,而真实的Web网站拥有多种类型的业务流程,而且不同的用户会产生不同的用户行为特性,若想真实的模拟用户与网站的交互场景,需要进行场景组合,还需要考虑多种用户类型,这对传统的基于录制的测试工具产生了巨大的挑战。

除此之外,已有的传统的测试工具,只是模拟Web浏览器与Web服务器交互,而不是真正的使用浏览器,没有考虑浏览器处理数据对用户体验产生的影响。而据研究统计,用户访问网页的等待时间,有80%是发生在浏览器前端,如浏览器对页面的渲染、Javascript的执行,图片、CSS、Flash等的下载,这些数据处理过程都会产生结果页面显示的时延。因此,在进行网站性能测评时,还应该考虑浏览器对性能的影响。

为了解决已有测试工具的不足,如何真实的模拟用户行为成为了研究热点。现有的研究大多基于Web日志挖掘,分析用户行为特征,通过建立用户行为模型,尽可能真实的模拟用户与网站的交互。但是已有研究大多只是基于单个用户行为的模拟,没有实现多用户模拟,不能对网站的性能进行真正有效的测评。并且已有研究大多针对的是电子商务类网站,因为其性能问题可能造成重大的利润损失。而社交网站不同于一般的应用型网站,用户既是网站信息的浏览者,也是制造者,具有交互性强,用户行为多样化的特点,为了吸引并留住网站用户,同样需要较高的网站性能保证网站的稳定运营。但是,专门针对社交网站性能的测评研究却没有受到关注。



技术实现要素:

为了解决已有成果与研究的不足,本文专门针对社交网站,本发明提出一种用于社交网站的智能测试方法。

根据本发明的用于社交网站的智能测试方法,包括如下步骤:

S1、选取目标网站和网站测试模式,基于网站测试模式生成任务列表,并发送至消息服务器的消息队列;

S2、消息服务器将消息队列中的任务分发到各个工作节点的客户端程序;

S3、客户端程序接收到任务后,驱动浏览器程序,并依据网站测试模式访问目标网站;每个工作节点并发使用多个客户端线程。

优选地,网站测试模式包括:网站性能测试模式;其中,

任务仅包括一种用户行为;或者,

任务包括多个用户行为,多个用户行为按照预设的行为转换规则设置,客户端程序按照行为转换规则执行多个用户行为。

优选地,网站测试模式包括:网站试运营模式;其中,

任务包括:至少一种用户行为,以及对应不同用户的转移概率矩阵;转移概率矩阵中包括每种用户行为转换成其他任意一种用户行为的转移概率,客户端程序依据转移概率矩阵进行行为转换,模拟对应的用户行为。

优选地,步骤S1之前进一步包括:

基于目标网站的用户行为特征确定转移概率矩阵,或者预先设定转移概率矩阵。

优选地,用户行为是指:登陆、或者发帖、或者回帖、或者浏览。

优选地,将任务列表发送至消息服务器的消息队列之前进一步包括:

设定每个任务的执行时间。

优选地,步骤S1之前进一步包括:

使用素材爬虫爬取目标网站的发帖素材和/或回帖素材;

基于发帖素材生成用户行为中的发帖,基于回帖素材生成用户行为中的回帖。

优选地,步骤S1之前进一步包括:

根据测试要求从目标网站中选择拟测试主题的测试板块;

使用素材爬虫爬取测试板块的发帖素材和/或回帖素材;

基于测试板块的发帖素材生成用户行为中的发帖,基于测试板块的回帖素材生成用户行为中的回帖。

优选地,步骤S3之后进一步包括:

采用任务执行结果爬虫对已完成的任务进行爬取,获取用户行为模拟的用户信息、操作行为、发帖量、回帖量、浏览量。

优选地,采用Selenium测试框架驱动浏览器程序,采用蟒蛇语言Python将所述任务编写在测试脚本中。

本发明的用于社交网站的智能测试方法,具有如下有益效果:

(1)自动收集发帖和/或回帖素材,模拟用户的登录、发帖、回帖、浏览行为于一体,实现了多种用户行为组合的测试方式,通过分布式并发的方式,同时模拟多个用户与网站交互;

(2)模拟用户使用真实浏览器与网站进行交互,解决了传统测评工具只通过模拟浏览器行为与Web服务器交互,而忽略了浏览器对网站体验度影响的问题;

(3)依据不同网站用户的行为特点,可通过调节转移概率矩阵产生多样化的用户访问流量,更真实的模拟用户与网站的交互场景;

(4)提供多种兴趣类型用户定制功能,可以满足不同主题的社交网站及版块的测试需求。通过设定测试主题,生成不同测试板块的发帖/回帖素材,从而模拟用户在不同的测试板块与服务器进行交互;

(5)除了可以用于社交网站的性能测试,还可用于新开发网站上线前的试运行测试。通过模拟一定量的用户持续访问网站一段时间,以查看网站各模块性能表现是否稳定,提前发现实际运营可能出现的问题,指导改善网站设计,为真实用户提供更好的用户体验;

(6)传统的测试工具在进行工作时,需要与性能分析工具结合使用,本发明自带数据分析功能,实现了对多种测试结果数据的统计分析,可供测试人员分析使用。

附图说明

通过以下参照附图而提供的具体实施方式部分,本发明的特征和优点将变得更加容易理解,在附图中:

图1是示出根据本发明的用于社交网站的智能测试方法的流程图;

图2是本发明的智能测试方法的原理图;

图3是本发明优选实施例中测试人员根据需求预设的用户行为转换规则的示意图;

图4是本发明优选实施例中依据用户行为转移概率矩阵的用户行为状态转换模型的示意图。

具体实施方式

下面参照附图对本发明的示例性实施方式进行详细描述。对示例性实施方式的描述仅仅是出于示范目的,而绝不是对本发明及其应用或用法的限制。

图1示出了根据本发明的用于社交网站的智能测试方法的流程图,包括如下步骤:

S1、选取目标网站和网站测试模式,基于网站测试模式生成任务列表,并发送至消息服务器的消息队列;

S2、消息服务器将消息队列中的任务分发到各个工作节点的客户端程序;

S3、客户端程序接收到任务后,驱动浏览器程序,并依据网站测试模式访问目标网站;每个工作节点并发使用多个客户端线程。

生成任务列表之后,将消息队列中的任务分发到各个工作节点的客户端程序,并且每个工作节点并发使用多个客户端线程,从而能够通过分布式并发的方式,同时模拟多个用户与网站交互。本发明中,用户行为可以是:登陆、或者发帖、或者回帖、或者浏览。通过模拟用户的登录、发帖、回帖、浏览行为于一体,能够实现多种用户行为组合的测试方式。

现有技术没有考虑浏览器处理数据对用户体验产生的影响,而据研究统计,用户访问网页的等待时间,有80%是发生在浏览器前端,如浏览器对页面的渲染、Javascript的执行,图片、CSS、Flash等的下载,这些数据处理过程都会产生结果页面显示的时延。因此,在进行网站性能测评时,还应该考虑浏览器对网站性能的影响。本发明中,模拟用户使用真实浏览器与目标网站进行交互,解决了传统测评工具只通过模拟浏览器行为与Web服务器交互,而忽略了浏览器对网站体验度影响的问题。

在本发明的一些实施例中,采用Selenium测试框架驱动浏览器程序,采用蟒蛇语言Python将任务编写在测试脚本中。Selenium是一个Web应用的自动化测试工具,通过编写Selenium测试脚本,可以模拟真实用户的操作,包括浏览页面、点击链接、输入文字、提交表单、触发鼠标事件等,测试脚本直接运行在浏览器中。

测试人员可以根据实际测试需要选择不同的网站测试模式,比如网站性能测试模式或者网站试运营模式。

网站性能测试模式是专门针对网站性能的测试,即负载测试。测试人员可以设置模拟用户只执行一种用户行为,当选择单个用户行为时,将实现多个节点并发执行相同的用户行为。测试人员也可以设置模拟用户执行多个用户行为,所述多个用户行为按照预设的行为转换规则设置,客户端程序按照行为转换规则执行每个用户行为。当选择多个用户行为时,测试人员可自主规定用户行为转换规则,如选定登录、浏览、回帖、退出这四类行为后,可以依据如图2所示的行为转换规则,按照次序依次执行不同的任务,图中序号[1]至序号[6]分别代表每个用户行为的执行顺序,图2模拟用户按照[1]登录、[2]浏览、[3]回帖、[4]浏览、[5]退出、[6]开始的顺序依次循环执行每个任务。

测试人员也可以选择网站试运营模式。在这种模式下,任务包括:至少一种用户行为,以及以及对应不同用户的转移概率矩阵;转移概率矩阵中包括每种用户行为转换成其他任意一种用户行为的转移概率,客户端程序依据转移概率矩阵进行行为转换,模拟对应的用户行为。网站试运营模式主要用于新开发网站的上线前试运营。在该模式下,系统将根据预先配置好的用户行为状态转换,在目标网站版块实现在线测试。用户行为状态转换模型如图4,每个用户行为都有可能转换成其他用户行为,但是不同用户的行为状态转换概率不同,对应着不同行为习惯的论坛用户。网站试运营模式能够真实地模拟多个用户在线访问网站的场景,通过模拟一定量的用户持续访问网站一段时间,以查看网站各模块性能表现是否稳定,提前发现实际运营可能出现的问题,使测试人员可以预知网站正式上线后可能出现的问题,指导改善网站设计,为真实用户提供更好的用户体验。

步骤S1之前,测试人员可以基于目标网站的已有用户的行为特征确定转移概率矩阵,也可以根据测试要求预先设定转移概率矩阵。根据该转移概率矩阵指导用户行为的状态转移方式。依据不同网站用户的行为特点,可通过调节转移概率矩阵产生多样化的用户访问流量,更真实的模拟用户与网站的交互场景。

生成任务列表后、将任务列表发送至消息服务器的消息队列之前,还可以设定每个任务的执行时间,例如可设定立即执行或是每日定时自动执行。

不同目标网站或测试版权的用户行为特征不同,为了获取每个用户行为的素材,步骤S1之前可以进一步包括:

使用素材爬虫爬取目标网站的发帖素材和/或回帖素材;

基于发帖素材生成用户行为中的发帖,基于回帖素材生成用户行为中的回帖。提供多种兴趣类型用户定制功能,可以满足不同主题的社交网站及版块的测试需求。

进一步优选地,还可以根据用户的兴趣类型以及测试要求依据,按照主题分版块进行测试。具体地,步骤S1之前进一步包括:

根据测试要求从目标网站中选择拟测试主题的测试板块;

使用素材爬虫爬取测试板块的发帖素材和/或回帖素材;

基于测试板块的发帖素材生成用户行为中的发帖,基于测试板块的回帖素材生成用户行为中的回帖。通过设定测试主题,生成不同测试板块的发帖/回帖素材,从而模拟用户在不同的测试板块与服务器进行交互。

在本发明的一些实施例中,步骤S3之后进一步包括:

采用任务执行结果爬虫对已完成的任务进行爬取,获取用户行为模拟的用户信息、操作行为、发帖量、回帖量、浏览量。可以将以上的统计信息展示在前端界面,便于测试人员直接获取测试结果;也可以将以上的统计信息生成图表(比如折线图)及报表(比如Excel表格),供测试人员分析使用。与传统的测试工具相比,本发明自带数据分析功能,不需要与性能分析工具结合使用。

虽然参照示例性实施方式对本发明进行了描述,但是应当理解,本发明并不局限于文中详细描述和示出的具体实施方式,在不偏离权利要求书所限定的范围的情况下,本领域技术人员可以对所述示例性实施方式做出各种改变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1