BTestLab浏览器稳定性自动化测试开发框架介绍

上一篇 / 下一篇  2012-07-17 09:06:37 / 个人分类:自动化测试

g4j3_"| n]0  浏览器的稳定性一直是大家最关注的,因此浏览器稳定性自动化工具的选择尤其重要。经历了一段时间的探索,在市面上并未发现有类似相关的工具来测试浏览器的稳定性。经过我们的探索和研究,决定自行进行浏览器稳定性工具的开发。这里对工具作以简单介绍。

SVa3c8F H*r-|0

/D]+D^XS"`0  支持的浏览器:51Testing软件测试网 YvBS1?s

51Testing软件测试网g6[L$w;ae3` X

  支持目前所有浏览器的测试。51Testing软件测试网*@+\J W+v ?!I@ G

51Testing软件测试网1U k2GoI|0K7^u1Ip b!EA

  需求的确定:51Testing软件测试网8k2n1F zko

51Testing软件测试网 h5M|^V*CY

  仔细分析浏览器用户的行为,发现莫过于4种:打开新网址,点击网页中的网址,切换标签页,关闭标签页。不同用户的使用频率可能会不一致,但大致行为逃不出其中。明确了这一点后,对自动化中所需要执行的用户操作就一目了然了。51Testing软件测试网%tH0`H-i5]FS

51Testing软件测试网T Bxu*HH Z"Q

  开发工具的选择:

![V'n|M.r-p0

g0?6pu e w%M4x3R1S0  浏览器在不同的电脑,不同的操作系统上运行的稳定性都有所区别,我们需要能在各个不同的系统环境中轻松运行的测试工具,因此我们选择了C#开发windows应用程序客户端,不需要搭建开发环境,拷贝即用。51Testing软件测试网iP{0|ghRG2E

n{~l(}/Ty+|0  测试模型:

r4ZZ)Mik+FH051Testing软件测试网mGP(pt6`

  自动化工具需要同时运行在不同的电脑环境中,但需要得出统一的报表和一致的运行参数,其执行数据才有意义,因此我们采用了C/S模式。所有客户端的执行结果均会统一上传到服务器,由服务器来统一展现运行结果。51Testing软件测试网] c}&|;~CWH

51Testing软件测试网3B_%_(k;Qy R h

  测试结果展现:

[9W2DT/R*c"t r0

+k+xgQdQ f#U|0  测试结果需要统一展现,我们采用access数据库,事实证明在30万条数据以下,access的执行效率并不低,虽然access自身并没有数据库锁的实现机制,但我们可以通过在程序中加上锁来解决数据库存取冲突问题。之前用过sqlite的数据库,但sqlite在64位和32位机器上所用的dll不一致,会有一些兼容性问题。

U+Ik!o&w5y0p&FS4k051Testing软件测试网8w(MXb8t-j!X

  测试报表的导出:

{9R,d0aOG KT9D0

3T2N|@yDD0  测试报表最终会自动导出到excel表格之中51Testing软件测试网h/P-E4FK3u%q$E1I+z

51Testing软件测试网mw)OxV8e

  评判指标:

gEYT-eS&nDxAU051Testing软件测试网k3th Qf[

  自动化测试需要运行很长的时间,我们主要记录浏览器崩溃,假死,异常关闭以及每小时故障数等指标,这些指标能很好的反映浏览器的稳定性。

!xDN ?X*p0

b GA;q0H6u0  测试过程跟踪:

P3}!E5p)?ul9P0

;G$UI7Y.zw&pD7^,k t0  仅仅记录下浏览器的崩溃假死情况并不够,在测试之后,我们需要提供给开发一系列的日志来保证问题的重现和调研。因此我们会记录下详细的操作日志,崩溃或假死时自动收集dump信息,测试中保存截图日志等等信息。并且支持从操作日志来自动重现场景。

H1qZTe A'Nv3}0

m(r(]F)M"R0  参数的配置:

!q.g&|D tmn@051Testing软件测试网`E(X|^

   不同用户的使用习惯不一样,因此需要模拟不同的测试场景。我们尽量用参数来定义每一个用户操作行为。目前已经实现的可配参数主要有:浏览器路径以及相关 参数,测试执行时间,操作频率,日志记录数,内存上限,是否启用自动监控,自动截图,打开新网址概率,关闭标签概率,切换标签概率,点击网址概率,等等。51Testing软件测试网7b3Cm1Q0Ks!M~?m

y#c:Q@ DBC0  服务器远程控制功能:

,h,ZZ$iV%V5j/l051Testing软件测试网N[ [!_rp-l

  为了在服务器上来控制客户端执行指定的操作,加入如下功能:远程同步配置,远程升级,设定测试浏览器,开始测试,结束测试,杀浏览器进程等等。51Testing软件测试网"aJ jHLj

51Testing软件测试网`w)|c+bF9Xo3v#G

  工具实现简单介绍:

Z4_dG{7]051Testing软件测试网9A2a z7Q Wf@

  数据库:采用access作为数据库。51Testing软件测试网K7y.jf+SaG
  通信:采用socket通信。51Testing软件测试网unJWI}5?$I(K1u
  语言:采用C#。51Testing软件测试网 h ^9}H\epvG
  开发工具:VS2008。51Testing软件测试网_&Q:[yEf&J
  设置:采用INI文件。
@:xB2dK'T1u0  执行:多线程方式。51Testing软件测试网Lk qb [ C*W
  模拟操作:采用windows API。51Testing软件测试网OFN3aw
  检测崩溃:采用注入dll方式捕获异常51Testing软件测试网!Bt2u_aq8@W
  报表导出:EXCEL
51Testing软件测试网KZ g0v%XPS4p

51Testing软件测试网 N]#f X m,P2T^_~

  时间关系,这里对工具的实现和具体的开发上不做介绍,后续会陆续添加关于自动化工具开发实现相关的文章,欢迎大家关注。如果在自动化方面有兴趣的同学,也欢迎大家和我交流。最后附上测试工具截图。51Testing软件测试网%fm4G9?_A

c6J"Cmrb0

TAG:

 

评分:0

我来说两句

Open Toolbar