个人观点,仅供参考:
1. 首先明确真正的开发和测试的联系和区别是什么?
开发和测试都是技术含量很高的工作,只是侧重方向不同而已,开发是在某些点或者方面非常深入,测试是站在用户的角度,对被测对象整体进行进行把握,这就是一个深度和广度的区别.测试人员最好在开发的需求分析和设计阶段就介入进来,并参加开发人员的需求分析和设计评审会,站在用户角度对设计提出自己的意见和建议.这样可以更好的保证开发出来的产品更好的贴近用户需求,避免一些设计上的不合理造成最后的缺陷甚至返工,这样可以减少开销,更有利控制项目进度和成本.
说开发的就是写代码的/写代码的才牛/测试如果不写程序技术含量就低/测试人员不懂编程就不是好的测试人员/.....这些人个人觉得要么是超一流的大牛,要么就是不懂真正的软件测试.没有哪本书上说开发就等于写代码(实际上Codeing是最基本的要求,越往上还有设计, 再往上还有需求分析,这点国内部分企业已经有培养对应的专职人员了,测试的需求分析是对应产品包特性进行产品测试规格和特性测试规格分析, 测试的设计只要是测试方案设计和测试用例设计, 测试的codeing可以认为是搭建环境,比如写适配代码和测试脚本) ; 没有哪本书上说会写代码的就牛,哪怕你是扫大街的,只要你能扫的来比任何一个人都干净,至少在扫地这方面,你就是牛人! Microsoft的一个Test Leader牛不牛? 当然牛,但是这些Test Leader也有不懂代码的,主要看自己负责测试的对象是否需要,所以MS甚至有家庭主妇可以做Test Leader.
在V模型中可以看到, 开发处于碗口底部,测试是为开发服务的,但不等同于测试就比开发地位低.测试中也会引入很多开发一般用不到的工程技术方法,比如Gompertz, 四象限,因果图/判定表,pairwise...等等
另外,没有任何一个条文说测试的编程能力就比开发差,测试没有创造性.难道测试人员不可以自己多写点代码,使得编程能力比开发人员强点吗?注意不要有"成见"!有时候开发一个模块出来并不难 ,毕竟开发出来的东西也有好次之分,难得可能会是如何建立一个模型,环境(比如写一些测试程序)去测试这个模块是否符合规格?
2. 做开发和测试也与个人性格有关系,这点就不多讲了
3.开发和测试的前景比较
开发和测试做好了都有很好的前景,不过可以考虑一点, 如果全世界只剩下一个扫地的了,那这个扫地的绝对比很多的BOSS都吃香,这样比喻可能有些不恰当,不过这个社会就是这样,可能你的绝对能力高低是其次的,你的相对能力高低才往往是主导你的因素.李嘉诚说,我不需要自己比别人好多少,只要比其它人好一点点就可以了.
4.更正一下上面有的帖子中的误解
华为的测试不是要求比开发低,而是人才市场上合适的测试人才太少,所以在选择上打了折扣.
引用"二、如果你非常喜欢做开发,那么进了华为你可以看到他们开发人员的水平,知道自己差在哪里,暗自努力提高,再找机会进开发部门。"--->二、如果你非常喜欢做开发,那么你就不要进测试部门了(转部门很困难的),那么进了华为你可以看到他们开发人员的水平,知道自己差在哪里(你也可以知道开发人员差在哪里了,自己以后避免犯同样的错误),暗自努力,争取提高一下个人的层次(比如写用例脚本的层次大多比设计用例的层次要低一些)
"谢谢 各位的宝贵建议啊。to:all我现在想知道的是做华为的软件测试是否可以看到代码? "
有的部门是可以开看的,还可以对代码进行code review, 发现问题经过开发人员确认就可以直接提出缺陷问题单,不过大多数部门是用的lib库
"我就是从华为测试出来的,在华为主要是能学习到正规的测试流程,其它东西就很少了。国际上有名的测试软件,华为都没用。它有自己的中央软件院,和中央硬件部来开发专门的测试工具"
除了学流程,还可以学习很多业务知识.国际上有名的测试软件,是否使用是根据各自工作需要来选择的,不过使用之前需要进行申请, 真正好的工具为什么不用呢,真正实用的工具还担心公司舍不得出钱?呵呵, 工具少量是软件部开发的,更多的是测试工具部开发的 :)
"在华为做开发和测试待遇一样,甚至招聘的时候大家一起面试,遇到主考官是开发,就坐开发,遇到测试就做测试 "
重视测试的表现,不过还是要看部门,产品线的很多测试不需要什么编程的,所以可能就没有必要把开发人员招过来了,这样也许不适合啊
[ 本帖最后由 阿帆 于 2006-4-23 15:33 编辑 ] |