HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

软件测试魅力何在——QCon 北京测试专题出品人高楼访谈

  • 2013-03-19
  • 本文字数:4212 字

    阅读完需:约 14 分钟

高楼,ID Zee(微博 @Zee_BJ ),曾经作为性能测试、性能调优高级工程师和性能测试项目经理参与过多个大型企业及机构的测试服务、咨询和管理工作,提供专业的测试支持和服务。曾编写大量性能测试理论及实践相关文档,曾编写一些完整的测试案例,并对性能测试原理、性能测试实施和项目实施管理有非常深入的看法。高楼还是第一个非商业的专业性能测试网站 www.7dtest.com 的站长。

作为 QCon 北京 2013“优秀测试实践分析”专题出品人,高楼接受了InfoQ 的采访。采访内容如下:

InfoQ:能否先简单谈谈您在测试领域的从业经验,和您对此领域的理解?

高楼:我刚毕业时是做路由器的软件测试,那时是对着一堆的路由器跳来跳去的,这个过程对我挺重要的,让我理解了网络中的一些比较关键的知识点。后来的工作就转向应用层的性能测试领域,这是我自己的选择,我比较喜欢应用级的性能测试,这个阶段让我对应用性能的认识提升比较快,也让我慢慢的关心应用的逻辑实现,关心上层语言的性能优化。以后的工作经历几乎都在应用层的性能测试方面,不仅做一些具体的性能测试实施、分析优化的工作,也带领团队做性能测试服务。

从我做这些年的测试经历来看,当前的测试领域可谓五花八门,它没有软件开发那么长的历史,纵然有些测试的理论已逐渐成型,但是这个行业的从业人员技术参差不齐。有些初找工作的人因为不喜欢编码而走向测试,其实测试领域要求的技能并不比开发人员少。市场上一些利润导向的误导,也会导致从业人员技能差距较大。但是不管怎么说,测试行业在慢慢的成长、成熟。不管有多少负面的看法,都不能阻止这个行业的进步。

InfoQ:软件测试的魅力何在?您为什么选择测试一行而不做开发?

高楼:这个问题乍一看不好回答,因为有好多人是因为不喜欢写代码才选择了测试行业。

其实我想反问一句:开发的魅力何在?为什么要选择开发?我想可能会有如下答案:开发是在创造东西,有成就感;开发代表着深入的技术,等等。首先,我觉得软件测试需要的代码功底并不弱,这一点在实际的工作中会有比较深刻的体会,之所以有些人觉得软件测试不需要代码功底,实际上那些做的都是基于业务需求的测试,了解业务是一个重要的方面,这是软件测试行业中的一个细分,那属于业务测试工程师。

我想带领大家看一下软件测试行业中的技能要求。在测试行业中,对一些基于业务的测试,要求一些测试用例的设计方法和策略,这方面也是测试人员的基础技能。并且业务测试要求对业务的熟悉度很高。自动化功能测试,要求有代码功底,并且对代码的要求一点也不比开发人员低。性能测试、性能分析职位,不仅对代码有要求,还对系统中涉及到的所有技术节点有要求,并不是说性能测试职位上的人可以把一个系统中所有的技术都干得下来,但是至少能把系统中的各节点能串起来,并且可以在某些细节上和相应的工程师沟通;当然性能测试的职位也是有细分的,所以还要看一个细分的职位是什么,还会有更细的要求,这个话题要说的比较多,这里只是说个大概。

所以如果想掌握深入的技术,做测试也是一个很好的选择。当然测试不能创造最终用户使用的产品,测试总是要有一个测试目标。如果你就是喜欢创造最终用户使用的产品,那选择开发当然更理智。这是方向上的不同,不是技术上的不同。但是如果想做好测试,我个人认为要求的综合素质要比开发高得多,在我的从业经验中,我认为写代码是一种能力而不是一种经历。也就是说,确定一个系统的正常运行比

创造出这个系统来可能更复杂。开发人员写了 100 行的代码,可能需要测试人员写 1000 行的代码去测试,这也是常见的事情。

我选择测试,应该说我选择的是一条挑战自己的路,我觉得这条路上,我可以有更高、更快的提升。基于这一目标,我不会局限在手工的业务测试上,我在不断的寻找被虐的机会,希望能成长的更快。

InfoQ:有人说“开发人员在创造世界,测试人员在拯救世界”,在您眼中开发与测试是怎样的关系?

高楼:我从来没觉得开发人员创造世界,就算是说创造产品,我都觉得不正确。确切的说,我觉得产品经理创造产品,而开发只是其中的一小部分,测试也是其中的一小部分。所以,我觉得开发和测试是相辅相成的,他们共同努力把一个产品变得可用、好用、生存周期更长。当然现在业内有开发和测试对立的情况存在,我只能说对立的开发和测试都眼光浅薄了,对立只能相互消耗。开发不好,测试也不好,反之亦然。一个最实际的情况就是,生产环境出现问题,大家都会觉得不好,不可能是测试是成功的,开发是失败的,反之亦然。

开发人员在根据需求写产品,测试人员在努力让产品做得更好,如此而已。要说拯救,我觉得运维更像是拯救的角色,毕竟他们面对着最直接的崩溃的用户。

InfoQ:在您眼中,一名出色的测试人员,需要具备素质与知识?

高楼:首先,测试技能方面的基础知识,像用例设计方法、测试设计方法、测试流程、测试策略、测试工具等这些基本的要求,我就不强调了,这是必备的。测试人员要看具体的工作职位和工作性质,如果是公司内部的测试人员,那就要了解公司的产品;如果是项目中的测试人员,就要了解业务需求,根据客户需求来设计测试案例。更细的技能要求,就要根据产品或项目中涉及到的具体技术说了,举个例子,如果是一个 weblogic+oracle 的应用,那做功能测试的,至少要知道如何查看这两个产品和业务的日志,能定位出一个功能出现问题的时候,问题是出在哪里。类似这些具体的知识的要求,都要根据具体的项目或产品涉及到的技术来要求。

至于素质,像细心、工作态度认真负责、专注、奉献精神、专业、学习能力强、沟通能力、耐心等等,这些都是基本的要求。不过其他行业也一样,这些素质同样要求,所以这个不能算做测试人员特有的素质要求。我倒是想另外说一点:测试人员不要看扁自己工作的价值。因为我发现有些初中级的测试人员经常会说自己干的事情一点意义也没有,我非常想对这类人说,意义是靠自己努力提高自己再反馈到工作中体现出来的,抱怨会让人疲倦。执行一万个用例都没有 bug 能说没有意义吗?不执行怎么知道?所以这些工作有意义,只是有些烦琐。谁都能替代的重复的工作也是有意义的,要是觉得做没人能替代的工作才有意义,那就先练内功吧。

InfoQ:自动化测试到底是不是银弹?您怎样看待自动化测试?

高楼:我不认为自动化测试是银弹。这个问题应该和产品或项目的要求、自动化测试的代价联系起来。只要可以让一个团队很快的完成测试,那就是有价值的自动化测试。和手工测试相比起来,自动化测试要真的能节省成本、减少时间。如果这两个条件达不到,自动化测试就不值得推行。

我认为自动化测试在需求不停在变的产品或项目中是需要仔细考量的,在确定了自动化测试真的能达到节省成本、减少时间的前提下才去推行,否则,就是自找苦吃。因为对自动化测试维护的成本高于手工执行测试的成本,那将完全不值得做。

InfoQ:有工程师期望打造强悍的小团队,包揽开发和测试的工作,您认为这样可行吗?

高楼:不是不可行,而是对这个小团队的要求很高。对一个有着丰富经验的工程师团队来说,这是完全有可能的。但是职位的减少并不意味着工作的减少,只是说这些团队中的强人们把其他职位上的工作一块做了,如果说开发写了几千行代码,试都不用试就可以拿出去给客户用,并且不出问题,我觉得那是神人,值得膜拜之。如果开发的功底强,做出的产品很稳定,并且有历史的数据可以证明只要少量的业务流程测试即可,那倒是没有必要非要留着闲置的测试人员,大可以砍掉。现在之所以测试的工作价值被弱化,一方面是测试人员能力有限,没有体现出自己的价值,一方面是需求变化快让测试人员措手不及。测试过的产品和不测试的产品到客户手里出现数量级相当的缺陷,那就足以证明这个测试团队没有存在的价值。

另外,打造什么样的团队和公司的性质有关,并不是从技术角度来看觉得这样的团队好就这么做。就像之前我参加一个活动,有人说测试人员很重要,发现了很多有可能引起宕机的严重问题;也有人说测试人员根本不重要,因为测试之后上线依旧问题汹涌。从资金投入、时间投入、团队成果的角度来分析一个团队应该如何构建,我觉得更有意义,而不是靠着技术人员的偏执。

InfoQ:测试领域在 2012 年有哪些值得记录的进展?

高楼:2012 年,其实并没有太大的进展,都是之前的一些理念的推进。像探索性测试、敏捷测试等都在推进,至于测试技术本身,我觉得没有值得记录的进展。

当然在大家成长的同时,也有更多的新人涌进这个行业,并且有些人为了利润而不惜一切代价把自己并不成熟的技术误导式地教给新人,也导致了行业更为混乱,这是要注意的。希望行业中的人更沉稳、理智地去做对行业有利的事情。

InfoQ:您认为测试在未来会有怎样的发展趋势?

高楼:以后的测试发展,我希望能很快的好起来,但是这也要看这个行业的人有没有在认真的做事情,靠着吹嘘出来的市场繁荣不可能有太好的发展。

在测试人员方面,以后的要求会更明确,技能要求更高;在业务方面,现在各企业对测试的认识正在慢慢形成,所以市场的需求量也会越来越大。当然最重要的是高端的技术人员需求量会更大,现在高端的技术人员需求量已经是瓶颈了。

在业务方面,不仅金融、互联网、保险、电信等企业有更多的业务机会,其他的传统行业也会有更多的业务机会。

InfoQ:做为 QCon 中这个专题的出品人,您希望通过此专题为大家带来哪些实践经验,从而解决哪些问题?

高楼:只说一句话:具体的技术给参与者带来思路上的提升。

InfoQ:谢谢接受 InfoQ 的采访,最后再问两个轻松的问题:长期从事软件测试,会有职业病吗?

高楼:我觉得职业做长了,总会有些职业的影子,这没办法磨灭。就像看到我之前在地铁上看到画面出现异常,就会想是什么原因,这也是正常的。但是思维观念上有多少的影响,我并不确定。更多的思维观念,我觉得来自于性格。

至少我觉得我现在还没有职业病吧,因为我腰间盘没有突出,生活中也没有体现出我的工作思维来。

InfoQ:如果不做 IT 行业,您会考虑做什么工作?

高楼:拍电影呀。往那一戳,挤两个表情,摆两个姿势就赚钱,并且赚的还比做 IT 的多,多好。

(采访内容结束)

“优秀测试实践分析”专题信息,请见专题页面。关于此次 QCon 北京其他专题的详细信息,请移步至大会官网

需要特别注明的是,每年 QCon 大会门票都会在开幕前售罄,及早预定可提前确保席位,并享受更低折扣。现在报名参加将可享受 9 折优惠。团体购票(5 人及以上)将享有更多优惠。详请咨询 qcon【at】cn.infoq.com,或直接致电 010-64738142。报名请点击报名页面。

2013-03-19 02:122393
用户头像

发布了 91 篇内容, 共 36.8 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

数字货币量化对冲搬砖套利交易软件APP系统开发

系统开发

工信部:推动区块链等与工业互联网的融合技术研究

CECBC

大数据

“直男”审美?不存在的!来看看 “攻城狮”对一款IoT App的UI改造吧!

IoT云工坊

android App 物联网 IoT sdk

架构师训练营第二周作业 - 学习总结

阿德儿

量化交易系统开发软件源码

TRX智能合约系统开发案例详解

运维大规模ES集群的思考和实践

京东科技开发者

数据库 elasticsearch 数据分析

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

区块链:行业应用即将“引爆”

CECBC

区块链

DevSecOps:好处和挑战

啸天

敏捷开发 运维自动化 DevSecOps 应用安全

Redis 用的很溜,了解过它用的什么协议吗?

古时的风筝

redis RESP Redis 协议

【Mysql-InnoDB 系列】锁定读

程序员架构进阶

MySQL innodb 锁机制 28天写作

Kubernetes介绍篇:是什么?为什么要用?

xcbeyond

Docker Kubernetes 容器 28天写作 Kubernetes从入门到精通

springboot整合Shiro

Java架构师迁哥

keycloak集群化的思考

程序那些事

架构设计 架构师 权限系统 程序那些事 集群服务

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

全网独家首发!—份破解大厂面试官千层套路的算法+数据结构笔记!真是太TM重要了

比伯

Java 架构 面试 程序人生 算法

废弃fastjson!大型项目迁移Gson保姆级攻略

Zhendong

Java json Gson Fastjson

Spring Boot 中的MVC支持

武哥聊编程

Java mvc springboot SpringBoot 2 28天写作

区块链未来三年内将广泛落地

CECBC

区块链

图解 | 原来这就是网络

编程 网络 计算机

龙归科技 |企业办公自动化的未来

龙归科技

又出神作!阿里技术官再出山,操作性超强的Spring事务+AOP实践手册

比伯

Java 编程 程序员 架构 面试

一周信创舆情观察(1.4~1.10)

统小信uos

架构师训练营第二周作业 - 命题作业

阿德儿

币值管理机器人系统开发|量化交易系统开发

W13902449729

币值管理机器人系统开发 量化交易系统开发

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

智慧building之一 智能家居

张老蔫

28天写作

三分钟快速掌握 maven插件

田维常

maven

不要用+""代替强转

BerryMew

软件测试魅力何在——QCon北京测试专题出品人高楼访谈_软件工程_彭超_InfoQ精选文章