谈谈软件测试与软件开发

发表于:2013-1-16 15:37

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

 作者:未知    来源:51Testing软件测试网采编

  大环境不景气,不少朋友也在面临选择或者被迫选择。(仅就软件工程师)

  有人也来问我到底是做开发还是做测试?这时一般是有选择的前提下提出来的问题。

  有人也来问做测试有前途吗?这时一般是被迫选择的。似乎骨子里觉得测试就是低人一等)

  面对这些虔诚的小弟小妹的问题,真的是要认真思考才能给答复啊。不然真的是容易误人子弟。良心不安。

  首先我想说虽然测试开发属性上不大相同。但刻意去细化其区别不见得是件好事。

  所以每次我都回答为什么不想想都是软件工程师呢?

  这几年来,我似乎更觉得好的测试工程师更有选择空间。可能是更多人更重视开发,导致测试领域高手并不像开发领域那么多。很多人都认为开发转测试是下楼梯,测试转开发是上楼梯。可我并不这么认为。语言和执行层面的东西毕竟几个月后都没啥区别。有没有正确的意识才是决定你能走多远的关键。

  首先测试是个很庞大的体系,我也没有学过专门的测试理论。

  结合自身经历,我想一般公司里面都有如下的几种吧:

  A:单元测试,一般由开发人员自己负责,或者量太大了,才单独成立一个小组来负责。从TDD开发模式来说,测试难度似乎要高于开发难度,友类啥的。最独立灵活,最不被人看得起,而我认为是个练习程序语言的最佳途径,起码我的编程技能主要都有此得到。如一个函数,一个类。这个层面,你就是主宰一切,。好的UT架构体现出一个人的编程基础能力。

  B:模块测试,往往注重细致的功能测试,feature角度,或者你认为是大块UT.很多函数,好几个类,通常是面向一个特定的进程的。规模适中。需要一定的算法能力才成设计出好的case,stub特别多。中型测试软件支撑。至少是良好架构的,否则越做越乱。这个层面你可能是个主要的player。一些协议层面以下的算法会被很详细的测试到。

  C:再往上,可能是基于特定的仿真设备。往往涉及到多个线程之间的交互,消息层面的东西特别多。可以理解为黑盒测试了。自动化程度很高,往往需要特定的脚本,或者特定的大型测试工具支撑。这个层面一般是个平台的使用者,需要更多专注总体设计层面出发考虑问题,设计case依赖协议,同时兼顾自家实现算法。依照特定设计模式来实现case。(小公司往往做不到这点)

  D:再再往上,可能就是特定的设备了。实验室,介于后面的和前面的中间,典型的黑盒测试。需要懂协议层面的多些,设计出合格的case,需要操作设备,因为很多东西不是软件仿真的,所以自动化是个很郁闷的东西,常常人为介入的东西比较多。大公司和小公司在这点真的是没法比。

  E:最后外场:说实话,这个层面跟编程没啥关系,需要做的是对设备使用熟练,参数敏感,算法场景清晰,需要会提取结果,分析结果,发现问题。驱动问题解决。因为最终功能性能ok与否,都是由这层来把关的。

  介入人群而言:能力要求高的,我认为是B,C,重复性最强的我认为是D,最不容易受重视的是A。至于E没做过,不晓得。

  ABCDE-->自下而上

  EDCBA-->自上而下

  如果说开发和测试在E完全没关系,那么我想在A应该是同为一体的。V型开发模型似乎就是这个道理吧。每个环节都有其特有的需求倾向,都有不断提升的空间。

  祝愿即将离开开发岗位走向测试岗位的两位小弟小妹在新的征程上迎接新的挑战,新的提升领域收获新的美好生活

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号