专访搜狗测试Leader:浏览器之争搜狗如何用技术迎战

发表于:2015-10-22 11:40

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

 作者:51Testing    来源:51Testing软件测试网原创

  51Testing小编:作为上期专家活动的嘉宾,现在也是我们版主群的一员,很荣幸今天能与您进行一次深入的交流,在开始之前,还是请您向大家介绍一下自己吧!
  诸葛东明:大家好,我的名字叫诸葛东明。每次自我介绍的时候,大家都会问:你与诸葛孔明只差一个字,一定很聪明吧。"三分靠聪明,七分靠勤奋",我觉得自己并不聪明,所以一直以来我都是告诫自己要去不断地努力,这样才能有未来。
  简单介绍下自己的经历:
  2006年兰州理工大学毕业,只身一人来到北京打拼。第一份工作是在一家电力相关的公司做C++开发。两年的开发经历锻炼了我的编码能力,同时也为后来转行做测试埋下了种子。
  当时做的项目是电力设备的软件,公司规模不大,软件基本没有经过系统的测试就投入了使用,所以我疲于出差去现场解决各种软件问题。由于变电站有停送电时间点的要求,所以为了解决一个BUG,往往都是在时间非常紧迫的情况下去调试的,压力极大。困惑第一次在我脑中徘徊:我以后是不是要一直这样工作下去?
  2008年初我参加了51testing北京9期的培训。本来是想借着培训让自己镀层金,但实际让我有机会认识了软件测试:原来一个软件发布之前是要经过一系列专业测试的!
  同年8月,正值搜狗浏览器项目启动,我幸运地进入了搜狐研发部门(即现在的搜狗)从事测试工程师一职,先后进行了黑灰盒测试、单元测试自动化测试项目管理和团队管理工作,一路见证了搜狗浏览器从无到有的过程。同时,我心中埋下的那颗种子,也经历了发芽、生根的过程:测试领域的好奇→未来发展的困惑→选择开发还是测试的纠结→对测试发展的再思考→坚定测试之路。
  51Testing小编:您这一路走来,经历了开发向测试的转变,顶住了新产品的压力,期间肯定有很多难忘的事,能跟我们说说您当初遇到过哪些重要的转折点?又有哪些收获?
  诸葛东明:因为之前有开发经历,所以后来转做测试后会觉得手中的事情没有技术含量,甚至一段时间我想过换工作。但是后来经历的事情,让我重新认知了自我,也彻底地改变了我对测试的看法。
  2009年刚做浏览器时,在浏览器各项指标中,项目组一直极为重视浏览器的稳定性,也就是浏览器的崩溃率。为了改善崩溃率,只是通过常规的手工测试是保证不了的,这需要使用自动化技术。
  起先,我们使用了BHO技术来完成浏览器内核的自动化测试,自动化脚本可以使得浏览器自动地进行前进、后退、导航、刷新等操作。但是这一技术的缺陷是无法进行浏览器内核以外功能的自动化操作,所以随着新功能不断地增多,BHO技术已经无法满足。
  之后,我们尝试使用业界比较成熟的QTP进行自动化测试,通过控件识别+键盘快捷键等方式,内核之外的功能也逐步纳入到稳定性测试之中。但是随着浏览器2.0版本的发布,内核变为Trident+Webkit双内核,QTP无法有效识别Webkit内核的控件。
  此外,更多的困难也随着项目的行进不断地暴露出来:
  1.QTP软件体积庞大,随着测试机由两台不断扩充到几十台,每次部署到新环境非常耗时间。
  2.QTP自动化脚本日积月累,已经庞大到几十个组合动作,脚本维护成本巨大。
  3.QTP所使用的VBScript脚本无法支持多线程等功能,这使得自动化脚本所能操作的对象比较有局限性。
  4.自己同时肩负着测试工作和自动化脚本维护工作,精力和时间不足。
  5.更为致命的一点,自动化脚本的作用受到质疑。每次浏览器上线前,自动化测试没有发现什么问题,但是上线后仍然有大量的崩溃问题,这些崩溃问题在测试环境没有被提前发现。
  诸多的困难之下,我逐渐对自动化丧失信心,开始质疑这一方法的可行性。在我的学习经历中,所接受到的知识是自动化技术是用于解决重复性的、有预期结果的测试用例回归,我们只能让机器按照我们提前设定好的步骤去执行,然后对比实际结果是不是符合预期。而使用自动化技术进行随机性操作去发现未知的问题,这行不通。
  因为这个问题,我和我的Leader争论了多次,但他始终坚信自动化可以发现浏览器稳定性的问题,未来可以作为评估上线的标准。
  我放弃了,但是Leader没有放弃。
  他后来做了两件事:第一,让测试开发的同事使用Python重写稳定性自动化脚本,以此来克服QTP的诸多问题。第二,让开发同事每天查看浏览器的崩溃栈,根据栈信息分析可能的操作路径,然后将这些操作路径转化为自动化脚本。这项工作大概持续了一个月之久,开发同事通过每天不断地动作补充,建立了三百个庞大的浏览器动作组合脚本。基于Python面向对象的特性和更为高效的随机算法,稳定性脚本在效率、问题发现能力和脚本可维护性上都取得了进步。
  通过这个脚本,我们多次在测试阶段就发现了潜在的崩溃问题,避免了问题的遗漏。这一通过随机浏览自动化测试的方式,后来成为了国内浏览器厂商必备的评估方法。
  此所谓之逆商。它就是在困境之下,你还能保持始终如一的初心,不畏困难、面对困难、战胜困难,存在于你内心中的一种信念和动力。这是我一直以来所欠缺的东西,无论是做开发,还是做测试,困难与挑战从来都是存在的。所以岗位不重要,重要的是你强大的内心和理想。
  我重新审视自己:当初为何来北京?
  因为一个理想,希望在这个城市立足、有所作为。
  我重新审视自己的工作:测试这一行业有发展吗?
  有!因为它在国内才发展短短几年,还有很大的发展空间。如果我们努力,终有一天也会像Google测试一样,留下自己浓重的一笔。
  版权声明:本文出自51Testing软件测试网测试专题。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 小小_闯天涯
    2015-11-10 16:48:42

    大赞诸葛老师。

  • zhuruize
    2015-11-05 18:37:41

    好,赞一个

  • 咚咚宝031102
    2015-10-30 14:08:47

    从来没有用过搜狗浏览器的路过, 不过貌似用过搜狗输入法

  • 冉冉的小屋
    2015-10-28 19:27:39

    非常好的访谈内容,收获颇丰。很关注诸葛东明,涉及到的文章全都记录下来,确实收到的启发很大,对我的帮助很多。果断下载了搜狗浏览器,哈哈。一起努力继续加油。

  • wander_miss
    2015-10-22 13:32:54

    好!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号