永远不要哀叹,像树一样用一生绿着,然后成就一个金色而成熟的梦!

memory leak test 引发的思考

上一篇 / 下一篇  2014-03-25 18:56:24 / 个人分类:测试背后

toolbar memory leak  test引起的思考

 

最近项目组中一直在做模块的memory leak测试,我是负责toolbar的部分,所以toolbarmemory leak test需要我来完成。

先简单介绍一下toolbar的基本功能吧,我们的产品是mac上面的安全产品,toolbar主要是装在browser上面(支持的browserchrome,Firefox,Safari),当用户通过browser去冲浪的时候,比如我们支持大名鼎鼎的搜索引擎(google,baidu等等),toolbar就会对用户的搜索结果进行评级(rating.如果一个搜索结果是危险的(dangerous,那么toolbar就会告诉用户,怎么告诉呢,就会将这个link标红,并作相应的标志。也就是从web的角度来保护用户去避免打开危险的网站,以免中毒。

以上是toolbar对于用户层面的表现形式。然而对于tester对它的认识应该更加深入一点,最起码它的工作原理和工作流程必须要熟烂于心中。

首先是Toolbar的脚本将搜索引擎所搜索出来的结果拿到(比如web页面上面的a结点),发送给本地的server,本地server将三到四个url为一组创建一个进程,给远程服务器发送请求,然后返回给本地server,最后本地server根据返回的结果,调用相应的脚本,在web页面上来插入标志给用户反馈信息。

为了营造测试环境,我们通过seleniumchromedriver来启动browser,browser一些搜索关键字的url。通过点击下一页toolbarrate很多批量的不同的url从而来完成memory leak的测试。

这个测试方法满足了一段时间的测试,也取得了相应的效果,我们成功地发现了toolbarmemory leak。但是测试人太累了,虽然是写的automation的脚本,它只要自己执行即可。然而不幸地是这个方法太依赖于其他的组件,比如selenium(有selenium版本的兼容问题吧),比如网络,当网络很差的时候,通过脚本打开浏览器不能成功get url,而且很容易出现browser hang的情况,所以在测试的时候简直太痛苦了。

在抱怨之余,一个同事提出了很好的建议,可以写脚本去模拟浏览器发送toolbar rating的请求。这就需要你充分了解toolbar的工作原理了。

那么怎么实现呢?

在我们通过browser去访问一个google搜索关键字的时候,实际上也是通过toolbar的脚本先抓取网页的url到服务器来完成rating的整个过程,其实客户端需要做的只是发送url给服务器而已。

于是先尝试着,用requests组件来发送url请求,并且模拟toolbarrequest head.后面的本地serverurl请求发送给远程server,然后再从远程server去返回就不管用户的事情啦。所以我们通过用python脚本来模拟toolbarrating请求来测试相当稳定,也很快,解决了之前的烦恼,也节约了大量的时间。

其实不仅仅是做软件测试,很多时候,即使再困恼的时候都会有解决的办法,当然解决办法多少是与你了解一个东西的多少有关系的。当你知道的越多,你能想出来的法子就更多啦。

在我们以后学习,工作,生活中遇到问题应该首先要想着有没有更好的解决方法,这样将会来来事半功倍的效果。


TAG:

 

评分:0

我来说两句

qjcslg

qjcslg

在软件测试的路上,正为做优秀的软件测试者而努力!(嗅到bug的气息,就深入下去,使劲浑身解数将其挖出来,优秀测试人员的品质!)

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 23833
  • 日志数: 30
  • 建立时间: 2012-03-11
  • 更新时间: 2014-08-03

RSS订阅

Open Toolbar