开发与测试的关系

来源:互联网 发布:广州画室知乎 编辑:程序博客网 时间:2024/05/17 02:11

开发与测试的关系

     问到选择软件测试作为职业的原因,有些测试工程师会回答说因为不擅长或不喜欢开发的工作。

     这样的说法割裂了测试和开发的紧密联系,通常反映了开发能力的缺乏(也或许是对开发工作的厌倦)。事实上,测试和开发是“你中有我,我中有你”。对于黑盒测试中有些浅显的测试,并不需要多少开发知识,可是薪水也是测试中最低级的,事实证明,拥有出色的开发能力并努力将之应用于测试中的测试工程师,竞争力更强,薪水也会位于软件测试业的顶级。

 

 

判定缺陷间的重复及依赖关系需要开发能力

 

      很多时候,两个软件缺陷表现形式不同,但是根源相同,这样就形成了重复缺陷,或者有时,一个缺陷基于另一个缺陷,当另一个缺陷被解决了,这个缺陷就会消失,这属于缺陷间的依赖。

       我们知道,有效缺陷数量会用于统计项目的情况,重复或依赖性的缺陷数量达到一定程度时,势必影响领导对于整个项目的进展的判断,进而带来很多的风险。

 如图1-1和图1-2所示


     粗看起来,这似乎是两个不同缺陷,可是有开发能力的人会知道,这二者的解法实则相同,只要限制日期文本框即从日期控件中选择而不手动填入,这两个缺陷就都解决了。由于解决方法相同,因此这两个缺陷应当被判为重复。

     有一定开发经验的测试人员,对于缺陷间的重复或依赖,在从前的开发实践中可能就遇到过类似的情况,而更可以举一反三,进行更精确地判断,而这种判断,对于无开发能力和经验不足的人来说,是很难达到的。

 

 

使用自动化测试工具需要开发能力

     无论是著名的性能测试工具LoadRunner,Jmeter,还是其他的工具,很多工具的使用都需要编写脚本程序。(脚本程序既没有C++或 Java语言那么难,也不是面向对象的,只是简单的解释型语言)

      拥有C++或Java等复杂语言的开发能力能帮助你更好的理解脚本语言,出问题时能够更快速,更准确的定位问题出在哪里,丰富的开发经验能使你事半功倍,得心应手。

      欠缺开发经验的人,即使在编写脚本语言中的简单语言,也不免错误百出,因为缺乏开发的思维,既不能规划好全局,也不能照顾到细节,这样的项目,失败的风险大大增加。

 

 

黑盒测试偏爱开发能力

 

     在黑盒测试中虽然看不到代码,但是如果有开发能力,则测试人员将可以更容易贴近开发人员的思路。从而更好的设计和执行测试。

     测试人员经常回琢磨:“如果我是开发人员,在开发这个模块时可能会犯什么错误?

事实证明,拥有一定的开发能力将帮助我们更准确的判断,从而使我们更聪明,更积极,更有效的完成工作。

 

白盒测试需要开发能力

 

通常意义上的白盒测试不需要重写开发人员的代码,只需要理解并测试其逻辑即可。

 

安全测试需要开发能力

 

进行安全测试时,作为测试人员,经常需要模拟攻击系统。

没有开发能力,就不知道可能的薄弱环节在哪里。

以一些简单的命令来攻击,这个层次比较浅,无法模拟出真正的高手来攻击的姿态,也就是说,漏洞可能很严重,但是我们的测试水平达不到,根本测试不出来。

安全测试是一个计算机学科中很深的领域,很多高手不但精通多门语言,而且精通反汇编,对计算机运行原理了如指掌。

 

 

0 0
原创粉丝点击