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^u1Ipb!E A 需求的确定:51Testing软件测试网8k2n1F z ko
51Testing软件测试网h5M|^V*CY 仔细分析浏览器用户的行为,发现莫过于4种:打开新网址,点击网页中的网址,切换标签页,关闭标签页。不同用户的使用频率可能会不一致,但大致行为逃不出其中。明确了这一点后,对自动化中所需要执行的用户操作就一目了然了。51Testing软件测试网%tH0`H-i5]FS
51Testing软件测试网TBxu*HH
Z"Q 开发工具的选择:
![V'n|M.r-p0 g0?6pue 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
Rh 测试结果展现:
[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,d0aOGKT9D03T2N|@yDD0 测试报表最终会自动导出到excel表格之中51Testing软件测试网h/P-E4FK3u%q$E1I+z
51Testing软件测试网mw)OxV8e 评判指标:
gEYT-e S&nDxAU051Testing软件测试网k3thQf[ 自动化测试需要运行很长的时间,我们主要记录浏览器崩溃,假死,异常关闭以及每小时故障数等指标,这些指标能很好的反映浏览器的稳定性。
!xDN ?X*p0b 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 [[!_r p-l 为了在服务器上来控制客户端执行指定的操作,加入如下功能:远程同步配置,远程升级,设定测试浏览器,开始测试,结束测试,杀浏览器进程等等。51Testing软件测试网"aJ jHLj
51Testing软件测试网`w)|c+bF9Xo3v#G 工具实现简单介绍:
Z4_dG{7]051Testing软件测试网9A2az7Q
Wf@ 数据库:采用access作为数据库。51Testing软件测试网K7y.jf+S aG
通信:采用socket通信。51Testing软件测试网unJWI}5?$I(K1u
语言:采用C#。51Testing软件测试网
h^9}H\epvG
开发工具:VS2008。51Testing软件测试网 _&Q:[yEf&J
设置:采用INI文件。
@:xB2dK'T1u0 执行:多线程方式。51Testing软件测试网 Lkqb
[C*W
模拟操作:采用windows API。51Testing软件测试网OFN3aw
检测崩溃:采用注入dll方式捕获异常51Testing软件测试网!B t2u_ aq8@W
报表导出:EXCEL51Testing软件测试网KZg0v%XPS4p
51Testing软件测试网N]#f
X
m,P2T^_~ 时间关系,这里对工具的实现和具体的开发上不做介绍,后续会陆续添加关于自动化工具开发实现相关的文章,欢迎大家关注。如果在自动化方面有兴趣的同学,也欢迎大家和我交流。最后附上测试工具截图。51Testing软件测试网%fm4G9?_A
c6J"Cmrb0
收藏
举报
TAG: