导言

PC上浏览器的入口重要性想必已经被历史验证。微软94年意识到这点,所以有了今天的IE;08年谷歌的不断创新,使得Google Chrome成为市场新贵;有人将这两个时间点称作浏览器“世界战争”,而如今信息化时代,国内浏览器市场产品层出不穷,浏览器“内战”也因此全面爆发,产品的性能、稳定性、安全性、用户体验将成为这场战争的制胜武器,而检验“武器”是否牢靠也成为了测试人员的挑战。今天小编有幸采访到搜狗测试leader诸葛东明先生,请他来谈谈搜狗浏览器在这场战争中,是如何用技术迎战,测试团队又是如何迎难而上化解难题的。  

专访内容

1、作为上期专家活动的嘉宾,现在也是我们版主群的一员,很荣幸今天能与您进行一次深入的交流,在开始之前,还是请您向大家介绍一下自己吧!

大家好,我的名字叫诸葛东明。每次自我介绍的时候,大家都会问:你与诸葛孔明只差一个字,一定很聪明吧。“三分靠聪明,七分靠勤奋”,我觉得自己并不聪明,所以一直以来我都是告诫自己要去不断地努力,这样才能有未来。

我也是从开发转到测试的,可以跟大家分享一下我的职业发展经历……[详情]

2、您这一路走来,经历了开发向测试的转变,顶住了新产品的压力,期间肯定有很多难忘的事,能跟我们说说您当初遇到过哪些重要的转折点?又有哪些收获?

因为之前有开发经历,所以后来转做测试后会觉得手中的事情没有技术含量,甚至一段时间我想过换工作。但是后来经历的事情,让我重新认知了自我,也彻底地改变了我对测试的看法。

2009年刚做浏览器时,在浏览器各项指标中,项目组一直极为重视浏览器的稳定性,也就是浏览器的崩溃率。为了改善崩溃率,只是通过常规的手工测试是保证不了的,这需要使用自动化技术。起先,我们使用了BHO技术来完成浏览器内核的自动化测试,自动化脚本可以使得浏览器自动地进行前进、后退、导航、刷新等操作。但是这一技术的缺陷是无法进行浏览器内核以外功能的自动化操作,所以随着新功能不断地增多,BHO技术已经无法满足。之后,我们尝试使用业界比较成熟的QTP进行自动化测试,通过控件识别+键盘快捷键等方式,内核之外的功能也逐步纳入到稳定性测试之中。但是随着浏览器2.0版本的发布,内核变为Trident+Webkit双内核,QTP无法有效识别Webkit内核的控件……[详情]

3、占领用户桌面一直是各大软件厂商的目标所在,而浏览器市场一直竞争非常激烈。在你看来,浏览器产品测试与普通产品测试有什么不同?搜狗浏览器在这场竞争中,又运用了哪些特殊的测试技术或测试要点?

区别于普通的软件产品,浏览器产品更强调产品的稳定性、响应性能、智能化程度,而在这三点上,不论产品开发还是测试,都有很多难点,对此我们使用了大量的技术来努力,这也成为我们在浏览器竞争中脱颖而出的法宝。

第一点:稳定性。

为了保证稳定性,在程序实现上采用了多进程的方式,即浏览器由多个进程组成,每个进程负责不同的事情,当某个进程出现异常之后,不会因为死锁崩溃等原因导致整个浏览器不能运行。

【测试技术】

为了保证浏览器的稳定性,我们采用的测试方法是随机浏览自动化的稳定性测试,这一测试方法在上一个问题也有介绍,它的主要过程是:使用自动化技术进行大量的、长时间、随机地动作组合运行浏览器,比如访问某个URL、添加收藏、删除收藏等300个动作混合在一起运行,进而观察浏览器的崩溃率。这一自动化平台称之为稳定性评测系统的结构,它由以下几部分组成:[详情]

第二点:响应性能。

浏览器的启动时间是业界浏览器性能对比的重要指标,为了提升用户体验,我们在程序启动做了大量的优化,主要使用了异步加载的技术。举个例子:IE浏览器启动的时候,后台通常需要将收藏数据等加载完毕然后才进行UI界面的绘制显示,所以UI界面会被收藏数据加载所阻塞;而我们是UI界面与收藏数据会同时进行,UI界面先显示程序框架,同时后台数据库线程加载收藏数据,加载一部分后通过POST消息告知前台UI进行绘制,所以它是一个边显示边加载的过程。

【测试技术】

在Windows客户端程序性能评测中,最大的困难在于要客观地反映不同浏览器的加载时间,例如IE浏览器、Chrome浏览器、搜狗浏览器及其他国内主流浏览器。因为被测程序来自不同的厂商,所以我们无法通过源代码中加日志的方法对比,同样通过Hook注入被测进程也是不稳定的。所以最终我们采用了与用户感知相同的方法:图像扫描。[详情]

4、 近几年看到很多你们的研究成果文章发表,尤其近期在移动互联网方面,也开始涉猎云测,想问问看,您认为云测最大的好处在哪?

移动互联网的产品有比较明显的特点是:多终端。这具体表现在:

1)在我们的测试工作量统计中,移动端产品的设备兼容性测试占用很大的时间,例如搜狗手机导航首页,测试人员需要在不同分辨率下、不同的系统版本下,使用不同的浏览器下进行一遍又一遍重复的兼容性测试。

2)移动端设备众多,采购、更新和维护移动设备对于小项目或者创业型公司是一笔不小的负担。

而手机云平台就很好的解决这些问题:[详情]

5、您作为团队的管理者,对于快速增长的团队,在团队管理上有什么好的经验可以与我们分享?

从2012年开始,我逐步参与带人的工作,后来逐渐带整个搜狗浏览器测试组团队,这个过程中先后经历了这样几个阶段:

1) 只关注事,不关注人。技术出身的人有一通病,就是对技术崇拜,对管理不在乎甚至不屑,我也是如此。在这一阶段,我的管理工作可以形容为”路由器”式的管理。上面分配下来一个任务,我分配给下面的组员;下面组员有问题后,我将问题反馈给上面的领导解决。整个工程中只关注事情,不关注人,特别是不关注管理技巧,所以在组员谈话、组员积极性调动、团队目标规划方面都没有作为,结果这导致后来走了不少人,对我打击很大。

2) 物极必反,过分关注人。因为之前的人员离职,Leader指出了我的问题,所以我变得格外敏感。如果组员有一点”风吹草动”,我都会”提心吊胆”,这也导致我在组员的管理上畏首畏尾,只有恩没有威,搞得自己身心俱疲。当团队核心成员离职后,甚至一度让自己的测试之路信念动摇。[详情]

6、对于今后搜狗测试团队的成长,您有什么设想和期望?对于希望加入搜狗团队的测试工程师们,您又有什么要求和建议呢?

搜狗测试团队现在正在快速的发展和成长,我们除了完成职责内的测试工作之外,也在不断创新和改进我们的测试工作,目前最大的愿望是,带领搜狗浏览器测试组向业界学习和交流,未来有一天能够成为像Google测试一样的专业测试团队。

关于对各位同学们的建议,我先简单介绍下搜狗测试部:搜狗测试内部有大致四个方向的岗位:黑灰盒测试、白盒测试、自动化测试和项目管理。[详情]

你来问我来答

诸葛东明

话题回顾:如何搭建一个高产出的测试团队

回顾精彩内容

相关视频

评论


关于我们 | 会员注册 | 联系我们 | 站点地图 | | 沪ICP号05003035号
意见反馈/投稿邮箱:editor#51testing.com(请将#修改为@)
Copyright©51testing.com 2003-2014 All Rights Reserved