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

发表于:2012-7-16 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:tiechi    来源:TaoBao QA Team

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

  支持的浏览器:

  支持目前所有浏览器的测试。

  需求的确定:

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

  开发工具的选择:

  浏览器在不同的电脑,不同的操作系统上运行的稳定性都有所区别,我们需要能在各个不同的系统环境中轻松运行的测试工具,因此我们选择了C#开发windows应用程序客户端,不需要搭建开发环境,拷贝即用。

  测试模型:

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

  测试结果展现:

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

  测试报表的导出:

  测试报表最终会自动导出到excel表格之中

  评判指标:

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

  测试过程跟踪:

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

  参数的配置:

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

  服务器远程控制功能:

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

  工具实现简单介绍:

  数据库:采用access作为数据库。
  通信:采用socket通信。
  语言:采用C#。
  开发工具:VS2008。
  设置:采用INI文件。
  执行:多线程方式。
  模拟操作:采用windows API。
  检测崩溃:采用注入dll方式捕获异常
  报表导出:EXCEL

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号