51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 9713|回复: 34
打印 上一主题 下一主题

[原创] 论发展,程序设计-测试人员始终无法回避的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-8-3 17:45:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
三年前,大学毕业,带着一本已经出版的计算机安全方面的书籍来到现在的公司,进入了非常陌生的测试部门。不低的薪水以及不难而重复的工作曾使得自己非常迷茫,非常浮躁,找不到一个方向;我曾经最危险的迷茫是觉得编程设计不那么重要,至少在测试领域,至少在自己的发展路上;但是,现在我觉得,这是错误的,一定。

在谈论自己的发展方向时,首先先说说国内测试的发展方向,我现在的理解简单说就是测试和开发在技能和职责上的区别会越来越少,一个测试人员只不过是一个更加有测试方面经验的开发人员而已。
70年代,测试职位的分离,是一个时代的必然和标志;敏捷/XP设计的提出,则是测试和开发重新融合的开始。在国内,测试领域的发展确实比国外少不仅仅是10年。
但我有一个大胆的预测:在国内,在未来5年,会出现一些公司,一些团队,测试人员将完全融入到开发团队中,这些人用一半时间来进行测试足以,而一半时间会用来进行测试理念的传播和具体的开发工作。

在这里,就有很多人会想,怎么可能?测试怎么可能这么轻松?难道是用了自动化测试?
不错,在这样的团队中,自动化测试会是一种常态,但不是银弹。但,大家设想一下,如果你现在测试的产品,当交到你手中时已经没有什么Bug时,你的测试时间会缩短很多吗?

如果要说到银弹,”让开发人员进行有效的测试“或许能算上。这里说的和测试驱动开发有些类似,但我们只是借鉴里面的思想,而不是全部,因为我们有中国的”国情“。
测试人员一直试图去负责”质量“这个东西,也一直有人在不断提出我们怎么样怎么样把质量贯穿到整个产品中,也试图让测试人员做一些事情来”督促“、”改善“质量;我个人觉得让质量贯穿产品一个最简单也是最有效的方式就是开发人员进行测试。

开发人员进行测试?
我靠,那测试人员干嘛?开发?

不对,但也差不多。测试人员的职责会这么转变:
1.在团队确定了这种产品开发理念后,测试人员的职责有两个:一是进行通常意义的产品测试,在此时,花费的时间和现在的测试工作会差不多;
二是培训,培训开发人员如何编写测试用例,和开发人员一起研究如何在开发阶段融入更多的测试代码,进行更多有效的自测;测试驱动开发是一个可以参考的模型;
2.当第一个阶段,进行的很顺利后,开发人员的代码质量应该会有很大的提高,接着到测试人员手中的产品会越来越有质量保证,Bug会越来越少;此时,测试人员就可以把更多的精力放到自动化测试上,注意,这里的自动化测试应该融入编码阶段,而不是仅仅当代码被Build以后才进行;
3.当一个团队的开发人员逐步学会了如何测试,以及一个有效的自动化测试体系得到建立,此时的测试人员平时能干的事情就会少很多了,那么干什么?
补充测试用例?写产品测试总结?
错,进行一些开发工作,熟悉产品,提高自己的技能呗。

这里插一句,我注意到不少公司都要求员工将那些Google就能获得的东西不断总结成Word文档。我觉得这里很大的原因是我发现不少员工都不怎么会用Google搜索,找不到想要的内容。这或许通过培训Google搜索技巧就可以解决了,而不是让不同的人不断去写类似”Tcpreplay使用指南“。

我觉得这将是一个国内测试的趋势,至少我们在Thoughtwork之类的公司已经看到这样团队的大量存在,在国内一些精炼的团队中也已经有这样的影子。

说道这里,如果你觉得我说的有道理,那么对于现在我们要做什么准备就应该很清楚了。
程序设计

每个测试人员都不会去否认程序设计的重要性,但由于工作的繁重以及自己周围环境对自己潜移默化的影响,很多人在潜意识中已经觉得自己和程序设计没关系,那东西只是给自己锦上添花的东西,自己主要的精力应该放在某些产品的应用上;如果你有这样的想法,我到觉得你现在转作工程或者售后会是一个不错的选择。

如果你是一个想在技术上发展的测试人员;
如果你是一个未满28岁,又不是部门总监级别的测试人员;
那么,从现在起,拾回程序设计。该学什么?
很简单,按照google招聘的要求,做即可:
一门脚本语言;(我推荐python或者Ruby)
一门程序设计语言;(C++或者JAVA呗)
Google很强调算法,但现在的高级语言的编程很多时候就是调用库,调用库,再调试,而那些库已经把算法问题考虑的比较清楚了,所以算法到不一定是学习重点,而且我始终认为算法是一个靠经验或者天赋才能领悟的东西。

现在国内大部分企业的测试工作,很多时候只能磨练你的性格,给你一个养家的职业,而如果你要把这个职位作为事业,程序设计将是你始终要面对的。

写的有些凌乱,不过想法应该都反映了,也很想听听各位测试大牛的见解。

[ 本帖最后由 蓝色 于 2008-8-3 18:16 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-8-3 17:54:09 | 只看该作者
测试人员的开发水平不需要很高,但起码能做就行,能用自己有限的开发水平解决测试中的问题就可以,不要忘了,一切都是为了测试,一切都是服务于测试,过于强调开发水平对于测试人员来说也是没什么意义的

[ 本帖最后由 afeng 于 2008-8-3 17:55 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-8-3 17:56:36 | 只看该作者
你说的还是立足与现在的测试发展现状,以及现在国内几乎90%以上的公司情况;
我谈的可能是5年后,20%公司的情况,呵呵。

尊重公司发展的现状,但不能说我就要因为公司或者大环境的原因而放松去自己的要求。
我并没有否认测试经验,比如Bug分析能力,耐心,文档能力等等在测试中的重要性,我始终认为一个好的测试人员应该具备三个特征:
1、测试经验,这个很多时候必须靠时间来获得;
2、程序设计能力;
3、知识面

[ 本帖最后由 蓝色 于 2008-8-3 18:02 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2008-8-4 09:48:40 | 只看该作者
    测试工程师该掌握:数据结构,程序设计,数据库原理,计算机网络...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-8-4 11:44:01 | 只看该作者
    不好意思,我没有看你的文章,只是针对你的标题发表了一些看法,呵呵,其实现阶段很多外企的测试人员就是一半开发,一半手工测试,对于测试人员的开发并不要求一定要象开发人员那样掌握一整套开发技术,只要能针对所测试的项目,开发一些小工具,解决手工测试所无法解决难题即可,并不要求要达到优秀开发人员那样的水平
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-8-4 11:51:48 | 只看该作者
    我和你同意LZ的想法,随着敏捷开发的推广,测试与开发的界限会越来越模糊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-8-4 12:11:33 | 只看该作者
    单纯说测试就有些笼统了。一般来讲测试分三类
    SQAA, SQAE and SDET。楼主的重点在于如何从SQAA/SQAE往SDET上发展。而且对于程序设计的要求也只是SDET的基本入门要求。有了这些还未必能应聘得到。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2008-8-4 13:42:05 | 只看该作者
    大公司细分的职业划分,不是我的重点。我更多是想探讨当你一开始没有进入微软/google后很多同行面临的问题,以及如果有机会,可以怎么在现有环境下改变自己的团队。很多人在的公司已经是某个行业的NO1,但测试的发展到不一定...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-8-4 13:58:00 | 只看该作者
    前途是光明的,道路是曲折的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-8-4 14:15:49 | 只看该作者
    明确了方向,多学一点总不是坏处,有的时候古话说的还是很好的,“艺不压身”,如果你的时间用来无节制的游戏或者逛街吃喝,那用这些时间学些东西更好的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-8-5 11:34:37 | 只看该作者
    说的都是一个很理想的状态
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-8-5 11:40:01 | 只看该作者
    生活就是需要理想
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-8-9 16:14:54 | 只看该作者
    这个需要一个过程,开始的时候,测试的都是简单基本的问题,过一段时间自然就渗透到程序里去了,这个有上进心的测试新手们会自主的接触到编程的 .
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-9-2 22:18:18 | 只看该作者
    想要达到楼主所要求的测试状态,中国估计还要好多年。

    测试要懂开发是为了更好的测试,测试教开发写测试用例,融入开发团队中,你觉得开发会怎么想
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-9-3 09:31:48 | 只看该作者
    我也有这样的想法,只是工作时间上,安排上有问题。老了,没有精力了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2008-9-3 11:09:13 | 只看该作者
    就目前很多的外企也没有达到这个水平,这个要求也只是MS和Google公司而已。

    而且LZ说的也不过是从手工测试转换到(升级到)单元测试的高度而已。测试不仅仅是代码的能力,代码的能力只是测试的一个方面。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2008-9-11 10:32:44 | 只看该作者
    看个人的侧重点吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2008-9-16 14:08:52 | 只看该作者
    不是很懂的说
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2008-9-16 14:35:29 | 只看该作者
    确实,刚来 不太懂!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2008-9-17 09:55:15 | 只看该作者
    写程序也不是这么难吧,况且测试人员得开发要求也没有向开发人员那么高,可能还是很多测试人员主观上不愿意写代码,而不是没有这个能力,人是要靠逼出来得,呵呵
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-25 09:53 , Processed in 0.085041 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表