51Testing软件测试论坛
标题:
先做测试还是先做开发?
[打印本页]
作者:
rosacoco
时间:
2006-11-24 11:10
标题:
先做测试还是先做开发?
本人计算机系应届硕士,做了一年试验室的项目,用的java,编程水平一般,但我们项目开发的流程还是比较规范的。
正在找工作中,感觉我这个人在开发上是没法成为高手的(没有那样对技术的狂热),测试发展前景不错,而且测试入门公司对人员的要求也不高,竞争也少。现在有一家做开发比较好(技术含量比较高)的公司要我去实习,后面还有几家公司我投的测试,还在面试进程中。
如果做测试的话,我希望能成为专家,问题是比较高级的测试似乎都需要比较扎实的编程基础,那么是否应该先做几年开发再转测试呢?为将来做高端的测试者打个基础?
比如几年后我去应测试的职位,那个时候是几年的编程工作经验比较好还是已经有几年的测试经验比较好呢?
迷茫中,希望各位有经验的同仁多提点建议,bow
作者:
shanxi
时间:
2006-11-24 11:24
先做开发几年 养成良好的项目习惯 懂得一些事 比如技术是个人最主要的优势吗?
作者:
网络游侠
时间:
2006-11-24 12:54
sdlkfj2 ,开发至少坚持2-3年,在做测试时,后劲才能十足sdlkfj2
作者:
GoAhead
时间:
2006-11-24 16:29
标题:
我踏入社会就做测试
目前已经做了4年。建议你先做开发吧,然后再做测试,这样将来进展会更快些。
作者:
nightbossa
时间:
2006-11-24 17:48
我已经有非常强烈的想法想转入开发了,虽然做测试才2个多月.
很多时候测试都是接触业务层面的东西(当然,白盒测试的除外),真正要想成为测试高手还是得先熟悉开发作为基础.
作者:
罂粟黑豹
时间:
2006-11-25 10:06
建议的话,肯定是先做开发
作者:
katy_cc
时间:
2006-11-25 12:05
做了一阵子测试了,但是想要深入才发现编码很重要
支持先做开发!
作者:
Blessing
时间:
2006-11-25 19:17
我准备去做测试了 可是我是非软件专业的 不太懂开发噢 只能直接做测试了 不过我觉得能先做开发是最好不过的了
作者:
watermelon
时间:
2006-11-25 20:52
我今年刚毕业就被招去测试了,由于是大专毕业,所以就只能做黑盒测试,我自身也觉得如果想干这行还是先做开发再转测试,在测试方面捏拿得更准确些~
作者:
icat8281
时间:
2006-11-26 11:38
我做了两年的开,现在正要转去做测试,都说有开发经验对策是很有帮助,正要体验中。不过有些公司,比如我前两天面试的一家外企,测试主要是做功能测试,并且还要做需求和客户接触,所以,不怎么看我的开发经验的。
作者:
anny_lv
时间:
2006-11-27 12:42
标题:
开发\测试 郁闷中
sdlkfj7 个人感觉开发测试同样重要,可是为什么总不能按照规范走呢?刚进公司做开发是在日本公司,那的流程比较严格,给我们的要求中连类名都写好了,感觉没有发展,就换到私企,可是到私企发现代码写的很不规范,注释太少,看前辈的代码简直晕头转向.现在做测试,开发的东西全丢到一边了,整天拿个计算器算啊算.只看数据对不对!
现在让我很迷茫,为什么是这个样子,劝学历高的朋友们最好去比较大的公司发展,小公司不规范.sdlkfj9
作者:
story35
时间:
2006-11-28 06:18
根据你的所言,你应该主动出击——软件测试。那样你能够做到最好。你也提到对开发不是很有兴趣。这个终究是要突破的,为什么?测试工作是在你的开发经验达到某个阶层后必走的道路。你只是先起步在此环节,成不成功不是在于你的开发有多好,而在于你是如何思考此问题的优势与劣势。祝你好运!
作者:
chunfeng216
时间:
2006-11-28 11:33
我个人认为,作为测试人员要求是很高的,你要了解测试的软件的业务,你的了解开发软件的代码,还有和开发人员的人际关系,再就是你的文笔--的写好报告,so 建议你先做开发,再转为测试。
作者:
hsy1217
时间:
2006-11-28 13:15
和楼主有同样的困惑!
作者:
死于潇洒过度
时间:
2006-11-28 13:41
看你个人啦。
你对开发不是很感兴趣
如果去做开发的话 压力肯定很大的
不一定过得开心。
可以先尝试一下做测试。
作者:
011
时间:
2006-11-28 15:31
对呀 测试高手不一定要会编码,他可以是对业务非常熟悉的人
与人打交道对测试人员来说也很重要呢
作者:
江南黑衣
时间:
2006-11-28 17:31
这是我写的论文的一部分,希望对你有帮助,建议你先学2-4年的开发,在转为测试,这才是正常的渠道
对软件测试的认识还有很多误区。
(1) 如果发布出去的软件出现了质量问题,那就是软件测试人员的错。
软件测试是一种有效提高软件质量的手段,但即使再投入上有保证,测试叶柄不可能百分之百的发现所有质量隐患。况且软件的高质量并不是测试出来的。
(2) 软件测试技术的要求不高,至少比编程容易多了。
很多人认为软件测试就是运行一下软件,然后看看结果对不对。但实际上,如何在有限的投入下,提高软件测试效率和产出是一件很见功底的事情。所以,一个好的测试人员不仅仅要掌握各种测试技术,而且还要具备丰富的编程经验和对BUG的敏感。
(3) 软件测试随便找一个能力差的人就可以做。
这一点和上一项有着千丝万缕的关系,这里需要说明的是:第一,经验对于软件测试至关重要。有经验的测试人员和没有经验的测试人员是有天壤之别的;第二,软件测试技术也有复杂之处,并且除了测试的技术问题之外,还有测试的管理问题。就像开发一样,谁都可以做,但是做出的结果是有好坏之分的。
(4) 有时间就多测试一些,没有时间或者来不及,就少测试一些。
软件测试并不是可有可无的,测多少,怎么测也不是随心所欲的。规范化的软件开发需要对软件测试早做计划,分配必要的时间、人力和财力等资源,并将其作为项目管理的一个部分加以控制和协调。
(5) 软件测试是测试人员的事,与开发人员无关。
为了减小互相影响,一般要求开发和测试相对独立,但这只是分工上的不同。开发和测试是软件项目相辅相成的两个过程,人员之间的交流、协作和配合是提高整体效率的重要因素。而且在实际操作中也会有一些测试,比如单元测试,会由测试人员提供测试用例,有开发人员运行。
(6) 设计-实现-测试,软件测试是开发后期的一个阶段。
很多人有这样一种观念:“软件产品开发完毕后,在进行测试工作。”可是他们不知道,实际上这种观念是有悖于生命周期理论的,而在这种观念的指导之下的测试工作显然是必将产生很多的问题,因为这种观念的错误在于:
生命周期中的“测试阶段”表明在该阶段,测试工作是主要工作,并不是说测试工作只发生在“测试阶段”。通常,到“测试阶段”,测试的主要任务是运行测试、形成测试报告。而测试的准备工作,诸如测试计划、测试用例的确定以及测试代码的编写等都是要在更早的阶段完成的。如果到“测试阶段”才开始启动测试工作,那为时已晚,测试很容易的就变成了“走过场”。
测试并不是要等到软件产品全部完成了,才可以开始进行。针对每一个程序单元,可以进行单元测试;针对若干或全部单元的交互,可以进行集成测试;而针对整个完整的软件产品,可以进行系统测试。因此,开发(指编程)与测试是交互进行的,并不存在严格的先后关系。
测试的对象不仅仅是程序代码,需求文档和设计文档等一系列文档也是测试的对象;因此,事实上,测试工作的正式展开也和测试的准备工作一样,贯穿于整个软件产品的生命周期。软件测试也要经历测试计划、测试用例的设计和实现,以及测试运行的一系列阶段,因此,早在软件需求阶段,甚至更早,软件测试的工作就要开始了。
软件产品中的质量问题发现的越晚,修正错误的代价就越大。错误并不只是在编程阶段产生的,需求和设计阶段同样会产生错误,也许从一开始,只是在很小的一个范围内潜在错误,但是随着软件产品的开发工作的进行,小错误会慢慢的演化成大错误,潜在的错误也会逐渐的表现出来。如果错误不能及早发现,那样的话,只有可能带来越来越严重的后果。Harry Boehm在《Software Engineering Economics》(1981年)一书中写到:平均而言,如果在需求阶段修正一个错误的代价是1,那么在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的15~40倍,在外部测试阶段是它的30~70倍,而到了产品发布出去的时候,这是个数字就是40~1000倍。修正错误的代价不是随着时间线性增长,而几乎是呈指数级增长的
派最好的人去做测试;
正如我们前面所说过,很多人特别是目前国内的企业,认为:软件测试技术的要求不高,至少比编程容易多了;软件测试随便找一个能力差的人就可以做。可是追求最好的质量软件,测试是必不可少而且是最重要的这样一个环节,真的可以随便找个人就能做,做得好吗?结论显而易见的,当然做不好,因为这样的话,软件的测试工作质量无法保证,那么软件的质量肯定也是无法保证的。原因有很多,主要有一下几个:首先,如果一个没有经验的或者经验很少的测试人员,无法完成一份完整而且有质量的测试用例,或者在检查程序员完成的单元测试用例时也无法检查出错误或者检查出很少的错误,在测试中对于一些敏感的容易出错的地方也无法进行全面的检查和测试,这些都是经验上的缺乏而造成的;其次,当程序中出现BUG的时候,没有开发经验的测试人员唯一会做的只是把它记录下,而不会去考虑这个BUG是怎样产生的,为什么会产生,所带来的影响怎么样或者会有什么其他的后果,正是由于没有开发经验,所以他不会去想,这样子导致了程序员还要自己去查看到底什么地方错了,如果在碰上一个经验也不是很丰富的程序员,结果只是增加了测试周期,增加了成本而已;再次,在测试过程中往往需要进行一些测试代码的开发,这个不言而喻,一个没有开发经验的测试人员怎么可能完成;最后,没有开发经验的测试人员往往在测试中会受到开发人员的不必要的影响,比如和需求不符,与设计不符,或者对于很小的代码中不如意的地方,当测试人员试图进行纠正的时候,开发人员往往会说这样没有问题或者怎么样,特别是国内的一些公司的开发人员,会认为,你不就是一个测试的吗,又没有做过什么开发,你懂得什么来进行反驳和开脱。正式因为开发经验的缺乏,测试人员有时并不知道如何去反驳,变不了了之,结果却导致了小错误变成了大错误。所以测试人员一定要由最好的人来担当,这样才不会出现这些的本不应该出现的错误。
作者:
rosacoco
时间:
2006-11-28 22:02
谢谢大家的建议,看来大家还是觉得先做开发比较好吧
也许我也是有点逃避开发的意思……
作者:
chenyx
时间:
2006-11-28 22:53
勇敢去面对吧,这么多人支持你!
作者:
bill_hen
时间:
2006-11-30 04:53
相信自己,相信常识,不听胡言乱语。
作者:
nanacy1981
时间:
2006-11-30 16:47
标题:
我的见解
我也是今年毕业,已经在一家公司里做了半年的测试实习生了,打算转正后直接做测试。测试确实需要对项目和开发平台很了解,但是一定要做开发才能掌握这些么?测试是个长期积累的过程,我不认为做两年测试比做两年开发对人的测试潜力挖掘少
作者:
gwell
时间:
2006-11-30 16:53
我在北大青鸟培训了二阶段的白盒测试,感觉也是编程基础很重要,现在还是决定在做白盒的同时努力提高编程技术,希望可以和时间赛跑。
作者:
生活总会更美的
时间:
2006-11-30 17:40
标题:
关于测试和开发
我觉得到不一定要先做开发再做测试,但是这就要求在测试的时候要处处留心了,我觉得测试比开发接触的技术并不少。
首先要求能搭建各种测试环境,所以有机会学习到目前比较流行的各种技术,当然还是主要停留在 应用层。
其次,做性能测试的,对开发的过程也需要了解,而且还要学会积累开发人员开发过程中的错误,这对分析性能也很有好处了。
最后,可以和开发人员多交流,用来弥补编程方面的不足,再加上看得多了,想得多了,自然也就知道一些东西是怎么实现得了。
总之,我觉得只要做个有 心人,好好努力,技术上的欠缺可以很快弥补的。
作者:
shuaixiaokang
时间:
2006-11-30 18:55
我个人认为就看自己是怎么想的,根据自己的自身情况出来,选择一种职业或岗位,就拿开发和测试来讲,无论先从事哪个,都有其利与弊,为什么很多公司喜欢应届毕业生作测试工作呢,他们的编程并不怎样?那是为什么呢,绝对有他的道理,前面的也都建议先做开发后做测试,当然也有他的道理,我的意思还是根据自己的情况和自己今后的打算,选择属于自己的,"选择自己最爱的,爱自己所选择的"
作者:
lana.li
时间:
2006-12-2 14:36
要想在测试方面做得更高一点,那一定会涉及到高效率的自动化测试。
涉及到自动化测试部分,编写测试脚本,也需要编程基础。但是并不一定说是必须要怎么怎么样。
如果是十分聪明,喜欢钻研,可以直接去做测试,只要你觉得不会因为不会编写脚本而影响你。
如果觉得稍微差一点还是有一点开发经验比较好,锻炼出一些基本的编写程序的思想,不会让这个成为你的绊脚石。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2