白盒测试有技术含量还是黑盒测试有技术含量?(02-06-19)(获奖名单已公布)
本周的问题为“白盒测试有技术含量还是黑盒测试有技术含量?”如果你也有问题想提出来和大家一起讨论,请点击此处>>
说不定下期讨论的问题就是由你提出的哦,请快快参与吧!
获奖名单
奖项获奖名单奖励答案链接
一等奖wanhao0050移动充值卡40#
这个不好一概而论吧,两者的偏重点不同,使用的工具也不同,最重要的还是测试的思想吧 白盒测试编程能力是必须的,黑盒测试良好的逻辑思维能力和对需求的把握是尤其重要的,两者对比高低没这个必要,白盒测试普遍都由研发人员在项目时间允许的情况下兼职做掉了,国内的测试工程师水准还有待提高,正所谓物以稀为贵,正是由于国内测试工程师编程能力的局限,所以导致搞白盒测试的工资待遇比黑盒测试的搞很多,其实搞好哪个都很难!定位好自己的位置和发展方向为之努力! 这个问题,我问了我们领导,他说是各有千秋,就像牙膏和牙刷一样,如果木有牙膏可以用牙刷直接刷牙,如果木有牙刷,可以用手指头上放点牙膏进行刷牙,也就各有各的用处。
本人认为白盒测试主要就是做代码走查的工作,并且有过编程经验的人,一般是开发人员转测试人员做白盒测试的比较多。黑盒测试主要侧重于功能测试。前几天学习了黑盒测试中的因果图的画法,觉得黑盒测试也不简单。同意3楼的说法,想要搞好哪个很难,得下功夫。 本帖最后由 TesterChen 于 2012-6-8 17:53 编辑
白盒测试有技术含量还是黑盒测试有技术含量?
问题的答案是:不存在哪个高,哪个低
我认为:白盒测试的门槛相对黑盒测试而言要高,而不存在所谓的哪个技术含量更高
写在前面:工作无贵贱,行行出状元,成事在人
下面我们来看一下白盒测试和黑盒测试的概念
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
两者在任职的要求上存在一定的差异
白盒测试,往往要直接接触程序的源代码,所以白盒测试人员任职的一个很重要的条件就是读懂对应开发语言,最好是半个以上的开发人员
黑盒测试,则没有要能读懂程序源代码要求(当然有软件开发这方面知识的更佳),黑盒测试人员的要求往往更侧重测试人员对软件测试理论和对应行业了解
现在很多的测试人员对于白盒测试这个工作近乎有一种膜拜的心态,个人觉得没有必要
做你喜欢做的,做你最擅长做的,坚持你所做的,我想最后被人膜拜的人就是你
两者在工作的内容上存在相同之处也存在不同之处
相同之处在于:都要进行测试用例设计,也都要执行测试用例,报告缺陷
不同之处在于:白盒测试人员是在能看到程序内部实现、及程序需求的情况下进行的测试用例设计,而黑盒测试人员只能通过程序的需求文档进行测试用例设计;往往黑盒测试用例的量相对白盒测试而言要多一些
关于报酬
首先不可否认的一点是白盒测试的平均薪水相对而言要高(现在公司配备白盒测试人员的特别少)
但凡事无绝对,当一个人的能力有相应的提升时,我相信他所得到的回报也会升级
不要去臆想我觉得作一个黑盒测试工作的薪水太低我想去做白盒测试工作……试问,如果连黑盒测试工作都做不到最好,能有几分机会做好白盒测试?
当然如果一个人觉得他在黑盒测试领域做到了极致,仍觉得自己的回报不是理想的,还在想自己是不是应该进军白盒测试领域……说到这里我想大家都明白了
最后,最重要的关于技术含量
没有完全的绝对,凡事都有双面性
白盒测试人员要能看懂代码,要对代码进行检查、进行测试,要使用工具进行代码检查……
黑盒测试人员同样要进行测试,要负责自动化测试,要负责性能测试……
技术含量主要还是要看个人掌握的技术有多少,而不是外观整个这个行业所存在的技术
通过以上的这些,我觉得无法直接的说哪个的技术含量更高,但不可否认的一点是白盒测试的门槛相对于黑盒测试而言要高
最后,不管是哪个行业,哪种工作想要做好,都是需要付出努力的! 这个问题……
怎么可以这么问呢?
白盒和黑盒是完全独立、不同的测试类型。
具体概念层面不多说了。我们都了解~
白盒倾向于代码级,偏重于软件生命周期的底层;而黑盒偏重于业务级,针对最终系统产品的功能,包括用户验收测试等。
目前社会上似乎更倾向于白盒测试有技术含量,好像黑盒功能测试就是随便简单点点界面、搞腾下功能是否正常。其实不然!
术业有专攻。
白盒测试工程师的确在开发、代码层有一定掌握和了解,对于代码走查于分析上,对于具体底层接口和方法进行验证和判断。
黑盒测试工程师必须熟悉业务领域,对于系统/程序/项目有整体至具体的把握,若能站在用户角度去验证,更能使项目质量有质的飞跃。
综上,白盒与黑盒是两种不同的测试技术,所以无法简单评价哪个优、哪个劣。只有在同一技术条件下才有比对意义和价值。换而言之,两者相辅相成,若能熟练掌握黑盒业务技术,又能在代码层协助开发工程师快速定位缺陷,那才是真正技术牛人!
以上纯属个人观点,还请指正,谢谢! 白盒测试是代码级别的测试,能够从根源发现问题,这需要懂得编程的人才能做。
黑盒测试则相对白盒测试来说不是特别需要编程知识,但是黑盒测试中同样蕴含着测试思想,并且黑盒测试能够直观的发现程序外部的问题。
这两种测试方法的侧重点不一样,分别各有各的作用,个人感觉无论是做白盒测试还是黑盒测试,同样都需要扎实的测试基础知识,最重要的要有发现缺陷的敏感度。 我觉着白盒测试和黑盒测试是两种不同的工作,不应该说那个技术含量高,那个技术含量低。
不论做何种测试,我觉着重要的是测试思想,一个人具备了非常好的测试思维,才能从不同的角度发现问题。不论是白盒还是黑盒,目的都是保证软件质量,黑盒有黑盒的技术,白盒有白盒的技术。
不可否认,现在白盒的工资水平是比黑盒高点,可是也不可否认,大部分的问题仍然是黑盒发现的。
个人观点,请讨论 对白盒,我觉得应该分成2方面看,首先,白盒牵涉测试人员一般不涉及的产品代码;其次,抛开代码,那说明的是测试人员的程序能力。
产品代码,如果不是专门的白盒测试人员,也许不用关注; 但不关注,不代表不懂,何况现在的测试工具,如果深入学习,编程能力还是需要具备的。
存在就是有道理的,所以,单单讨论技术含量,没有意义,每个职位有存在的必要,就肯定有professional的一面。
技术含量,如果不从职位的角度来看,而从人员的角度来看,那白盒的技术含量肯定更高些,所以,测试人员的职业发展必然是2合1. 做的深,都有含金量!这种话题不适合讨论!没意义! 回复 6# 土土的豆豆
你说的是灰盒哇 个人认为这样的比较是没有可比性的!
什么是技术含量?白盒对代码的要求比较高,黑盒相对弱一点,对代码的要求高低就能称之为技术含量多少吗?个人认为这样是不正确的。
总之不管是黑盒还是白盒都叫做测试,只是测试的方式方法不同,各有优劣。 本帖最后由 iamr9 于 2012-6-8 17:21 编辑
白盒测试 没有代码基础根本连门都入不了
(在没有代码基础的情况下被分配了白盒测试工作)赶上心理素质差的 不是辞职 就是跳楼了
而黑盒 对人的要求是
一个善于投机的“技术南郭先生”混口饭吃是不难的,甚至还可能升迁
我说的是刚刚接触测试工作的时候
当真的做深了
都不容易 不管是白盒测试还是黑盒测试都是为了提高产品质量,正所谓白猫黑猫抓到老鼠就是好猫,都要有一定的技术才能做好!!! 白盒测试更有技术含量,但黑盒测试更有含金量!白盒测试是纯技术活,需要黑盒测试理论来设计科学的测试用例,白盒测试只不过是编个程序去执行测试用例罢了。白盒测试与黑盒测试的关系就像员工和领导的关系,员工懂技术,领导懂理论,领导把控全局,他知道什么该做什么不该做,他负责引导员工的工作,员工只需要使用自己的技术去实现领导交给的任务就行了。要做白盒测试不还是要使用黑盒测试的理论来设计测试用例吗?大家觉得是不是这个道理?
因此作为测试人员应该维护自己的核心价值,哪怕你是做白盒测试的,是不是觉得工作中最难把握的还是测试用例的设计呢?现在的行情是白盒测试比黑盒测试薪水高,那是因为软件测试这一行才刚刚起步,很多公司对软件测试并不十分了解也不太重视,测试人员大多是半路出家没有接受过系统的教育,对自己也没有多大信心,所以有很多测试员做了一段时间后想转开发或者做白盒测试。但是随着行业的发展和分工的逐渐细化,黑盒测试的价值总有一天会得到社会的承认,而且一定比白盒测试的含金量高。 黑盒测试+准确的缺陷原因定位+缺陷分析。
这个话题就像是 叫花鸡好吃 还是鱼翅鲍鱼好吃。
什么事情做到极致,那么就殊途同归了。
中国测试行业整体水平决定了,物以稀为贵。
有朋友去国外做黑盒测试,感觉如鱼得水。
代码能力差的同学,加强自我学习,不求能写,但求能看懂。 一、首先理解他们的定义:什么是黑盒测试和白盒测试?
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
二、进行黑盒测试与白盒测试各自需要的掌握的知识
技术上:白盒测试需要的:编码能力,测试方法,测试手段,对程序逻辑的分析,辅助工具等
黑盒测试需要的:文档能力,测试方法,测试手段,对用户体验性的敏感,各种辅助工具等
从概念中我们知道白盒测试需要一定的编程技术,很多人的理解就是白盒测试的技术含量高于黑盒测试,黑盒测试很简单,其实这样是很偏见的。目前白盒测试的待遇要比黑盒测试高,这样也不能说明白盒测试技术高于黑盒测试,为什么白盒测试比黑盒测试高呢?个人认为:国内大部分的人都是黑盒测试,另一方面就是国内的软件产品主要采用的是黑盒测试,而较少且有限的使用白盒测试,甚至一部分企业就进行一般的黑盒测试通过就OK了,根本就没有白盒测试的概念,物以稀为贵吧。
黑盒测试和白盒测试是两种不同的测试类型,他们的侧重点不一样,但最终的目的是一样的。白盒测试是需要编程,编程不能代表测试技术含量就高,因为编程不是很技术含量的全部,我们还需要具备很多其他的技术,上述中的测试方法,手段等等,还有比如,与人的沟通,很有创意,做事细心等等这些你自身具备的优点,用到测试中也属于一项技术。如果有人说这些不是技术,那他肯定不是一个合格的测试人员。
针对不同的行业不同的软件以及不同的软件阶段,我们需要掌握很多技术,需要各个方面的知识储备,比如网络,操作系统,数据库,web服务器等等,这些都是一个测试人员的技术能力的体现,也是我们作为测试人员技能要相对全面的一个体现。
:)总之,我们要正确的看待白盒和黑盒测试,安下心来,好好学习,天天向上!! 很明显白盒更有技术含量。
理由很简单:同级别下,白盒工资比黒盒高 我觉得2L的分析已经很到位了。。 白盒测试更有技术含量吧,白盒测试是需要了解软件的内部结构,需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。白盒测试一般是由开发人员做的。
黑盒测试不需要了解软件的内部结构,一般进行功能测试或数据驱动测试。
白黑盒测试不仅工资上有很大差别,而且面试时也有很大区别,面试白盒测试时需要考编程,写代码;面试黑盒时不需要。