对以下代码进行.net代码白盒测试试

单元测试之白盒测试方法(代码审查)原创 - 测试人生 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
让我们的人生更加快乐
单元测试之白盒测试方法(代码审查)原创
& 15:53:10
/ 个人分类:
&&& 偶所在公司内目前还没有,前两天测试某系统的FTP上传功能时,发现其软件的流程设计有问题,进而觉得单元测试对系统还是很重要的,今天又在网上查看了很多关于单元测试的文章,发现现在做单元测试的公司还真的不是很多呀。原因之一单元测试的bug发现率太低使得公司忽视了这一块;再就是公司内没有一个好的单元测试流程。鉴于上面提到的两个原因及公司现在的环境(流程的可行性),偶想出了以下的白盒测试流程。简称单元测试之白盒测试方法(代码审查)。&&& 首先先说一下测试中需要出的文档&&& 在单元测试前可以进行代码规范性审查。注:可以对所有代码进行规范性审查,也可以对重点代码进行规范性审查。此步骤可裁剪。&&& 1、单元测试申请。注明测试的功能点,时间,各功能点测试原因等。(1)测试功能点(2)测试进度(3)每个功能点的测试原因&&& 2、制定单元测试计划 。在许多资料中定义单元测试中的单元时各不相同。有用模块的,有用函数的,有用类的等。偶在这里为了可操作性,再就是偶测试的系统都是应用软件,很重视界面的操作,所以偶将单元定义为界面上的功能性操作。如添加按钮等。当然不会是这么简单的。偶只是将比较复杂的一些操作写入了单元测试计划中。单元测试的计划模板如下:(1)定义单元测试功能点。如(ftp上传功能)(2)功能点需求规格说明书。(3)功能点测试时间。(4)功能点测试的组织方式及人员。(5)功能点测试采用的方法。(6)功能点测试的通过标准&&& 3、单元测试设计 在单元测试设计中主要由开发人员将其程序的设计思路,即流程图画出。(1)功能点需求。(2)功能点设计流程图(3)功能点设计数据流图(4)功能点伪代码(可裁剪的)&&& 4、单元测试用例& 这一部分主要由测试人员根据功能点需求进行测试用例的设计(1)功能点需求(2)测试用例设计方法(3)测试用例&&& 5、评审人员的bug记录(1)测试功能点(2)测试bug记录。&&& 6、单元测试报告& 这一部分由开发人员写单元测试用例报告,包括本次单元测试发现的bug类型,单元测试中拒绝bug的原因,单元测试情况等。&&& 然后再提一下测试的组织方式。由项目经理或者系统设计人员准备单元测试申请,单元测试计划,单元测试设计(单元测试设计也可以由开发人员准备),准备好以上文档后,提交测试部门;测试人员根据上面的文档出单元测试用例(单元测试用例也可以在需求出来以后就出,此处可以灵活变通);然后测试人员根据上面的文档检查设计中的bug,填写bug记录单;测试人员根据bug记录单组织专家评审(项目经理、设计人员等),专家针对测试人员测试出的bug进行讨论,在评审中专家也可以提出新的bug记录到bug记录单中,最后在评审中达成协议,bug记录单中的问题哪些修复,哪些不修复怎样处理等,最后由开发人员修改bug记录单中的问题,修改完后交给测试人员,测试人员可以用黑盒测试的方法验证bug记录单中的问题是否修改。验证完后,由开发人员填写单元测试报告。单元测试完成。终于完成,希望大家多提宝贵意见。测试方法/白盒测试
白盒测试的测试方法中运用最为广泛的是基本路径测试法。简介基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法:1.程序的控制流图:描述程序控制流的一种图示方法。2.程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。4. 准备测试用例:确保基本路径集中的每一条路径的执行。工具方法图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。程序的控制流图:描述程序控制流的一种图示方法。圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句。流图中的箭头称为边或连接,代表控制流任何过程设计都要被翻译成控制流图。如何根据程序流程图画出控制流程图?在将程序流程图简化成控制流图时,应注意:在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。步骤基本路径测试法的步骤:第一步:画出控制流图流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围。第二步:计算圈复杂度圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。有以下三种方法计算圈复杂度:流图中区域的数量对应于环型的复杂性;给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。第三步:导出测试用例根据上面的计算方法,可得出四个独立的路径。(一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的独立路径的条数。)路径1:4-14路径2:4-6-7-14路径3:4-6-8-10-13-4-14路径4:4-6-8-11-13-4-14根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。
要求/白盒测试
1.保证一个模块中的所有独立路径至少被使用一次;2.对所有逻辑值均需测试 true 和 false;3.在上下边界及可操作范围内运行所有循环;4.检查内部数据结构以确保其有效性。
目的/白盒测试
通过检查软件内部的逻辑结构,对软件中的逻辑路径进行复盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
优缺点/白盒测试
优点·迫使测试人员去仔细思考软件的实现·可以检测代码中的每条分支和路径·揭示隐藏在代码中的错误·对代码的测试比较彻底·最优化缺点·昂贵·无法检测代码中遗漏的路径和数据敏感性错误·不验证规格的正确性
局限/白盒测试
但即使每条路径都测试了仍然可能有错误。可能出现的情况如下:穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。穷举路径测试不可能查出程序中因遗漏路径而出错。穷举路径测试可能发现不了一些与数据相关的错误。
工具挑选/白盒测试
白盒测试白盒测试主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。白盒测试工具在选购时应当主要是对开发语言的支持、代码复盖的深度、嵌入式软件的测试和测试的可视化等。语言支持白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的。测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java和Visual J++等。复盖深度从复盖源程序语句的详尽程度分析,逻辑复盖标准包括以下不同的复盖标准:语句复盖、判定复盖、条件复盖、条件判定组合复盖、多条件复盖和修正判定条件复盖。1.语句复盖 为了暴露程序中的错误,程序中的每条语句至少应该执行一次。因此语句复盖(Statement Coverage)的含义是:选择足够多的测试数据,使被测程序中每条语句至少执行一次。语句复盖是很弱的逻辑复盖。2.判定复盖比语句复盖稍强的复盖标准是判定复盖(Decision Coverage)。判定复盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定复盖又称为分支复盖。3.条件复盖在设计程序中,一个判定语句是由多个条件组合而成的复合判定。为了更彻底地实现逻辑复盖,可以采用条件复盖(Condition Coverage)的标准。条件复盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。4.多条件复盖。多条件复盖也称条件组合复盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件复盖的测试用例是一定满足判定复盖、条件复盖和条件判定组合复盖的。5.修正条件判定复盖。修正条件判定复盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,在国外的国防、航空航天领域应用广泛。这个复盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果。它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and、or)连接的布尔条件,每个条件对于判定的结果值是独立的。不同的测试工具对于代码的复盖能力也是不同的,通常能够支持修正条件判定复盖的测试工具价格是极其昂贵的。嵌入式测试对于嵌入式软件的测试,我们还需要一方面进一步考虑测试工具对于嵌入式操作系统的支持能力,例如DOS、Vxworks、Neculeus、Linux和Windows CE等;另一方面还需要考虑测试工具对于硬件平台的支持能力,包括是否支持所有64/32/16位CPU 和 MCU,是否可以支持 PCI/VME/CPCI 总线。可视化白盒测试是工作量巨大并且枯燥的工作,可视化的设计对于测试来说是十分重要的。在选购白盒测试工具时,应当考虑该款测试工具的可视化是否良好,例如:测试过程中是否可以显示复盖率的函数分布图和上升趋势图,是否使用不同的颜色区分已执行和未执行的代码段显示分配内存情况实时图表等,这些对于测试效率和测试质量的提高是具有很大的作用的。
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:18次
参与编辑人数:14位
最近更新时间: 15:05:42
贡献光荣榜
扫码下载APP(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
什么是白盒测试?
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
对程序模块的所有独立的执行路径至少测试一遍。
对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
在循环的边界和运行的界限内执行循环体。
测试内部数据结构的有效性,等等。
  以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本...
软件测试工程师是指理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试...
  白色家电:(英语:White goods)指的是生活及家事用的家庭用电器,可以替代人们家务劳动的产品。早期这些家电大多是白色的外观,因此得名。如洗衣机、空调...
中药名,又名独角莲。性温,味辛,有毒。功能:祛风痰,定惊搐,解毒散结止痛。常用于中风痰壅、口眼歪斜、语言涩秤、痰厥头痛、偏正头痛、喉痹咽痛、破伤风症;外治瘰疬痰...
答: 小程序的核心目的是什么呢?
答: cisco网络技术是一个为CTO、IT技术经理、网络工程师、安全工程师、数据库工程师、网络管理员、系统工程师、开发工程师、项目管理人员等IT技术人员搭建的有关先...
答: 最简单的方法,买个路由,什么都解决了......
B.20世纪上半叶,人类经历了两次世界大战,大量的青壮年人口死于战争;而20世纪下半叶,世界基本处于和平发展时期。
“癌症的发病率”我认为这句话指的是:癌症患者占总人数口的比例。
而B选项说是死亡人数多,即总体人数下降了,但“癌症的发病率”是根据总体人总来衡量的,所以B项不能削弱上述论证
关于三国武将的排名在玩家中颇有争论,其实真正熟读三国的人应该知道关于三国武将的排名早有定论,头十位依次为:
头吕(吕布)二赵(赵云)三典韦,四关(关羽)五许(许楮)六张飞,七马(马超)八颜(颜良)九文丑,老将黄忠排末位。
关于这个排名大家最具疑问的恐怕是关羽了,这里我给大家细细道来。赵云就不用多说了,魏军中七进七出不说武功,体力也是超强了。而枪法有六和之说,赵云占了个气,也就是枪法的鼻祖了,其武学造诣可见一斑。至于典韦,单凭他和许楮两人就能战住吕布,武功应该比三英中的关羽要强吧。
其实单论武功除吕布外大家都差不多。论战功关羽斩颜良是因为颜良抢军马已经得手正在后撤,并不想与人交手,没想到赤兔马快,被从后背赶上斩之;文丑就更冤了,他是受了委托来招降关羽的,并没想着交手,结果话没说完关羽的刀就到了。只是由于过去封建统治者的需要后来将关羽神话化了,就连日本人也很崇拜他,只不过在日本的关公形象是扎着日式头巾的。
张飞、许楮、马超的排名比较有意思,按理说他们斗得势均力敌都没分出上下,而古人的解释是按照他们谁先脱的衣服谁就厉害!有点搞笑呦。十名以后的排名笔者忘记了,好象第11个是张辽。最后需要说明的是我们现在通常看到的《三国演义》已是多次修改过的版本,笔者看过一套更早的版本,有些细节不太一样。
这个问题有点不知所问了。
公务员并不由单位性质决定,行政单位行政编的是公务员,但并不是说行政单位的就是公务员,事业单位里面参照管理的也是公务员。
所以你的问题只能回答为:按公务员管理的是公务员。
一般都是对着电视墙,这样的感觉有一些对私密的保护..
因为一般人在自己家里是比较随便的,有时来了客人也来不及收敛,但是如果正对的是电视墙,就给了主人一个准备的时间,就不至于显得很尴尬..
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
【优点】:可以很直观地从源代码得到测试用例,无须细分每条判定表达式
中文名白盒测试外文名white-boxtesting别称结构测试、透明盒测试主要类别测试释义一种测试用例设计方法1测试方法2要求3目的4特点5实施步骤6优缺点缺点7局限8工具挑选覆盖深度可视化9测试方法步骤10相关区别区别11三步法白盒测试测试方法编辑白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异
黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误
这个覆盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果
白盒测试优缺点编辑白盒测试优点1.迫使测试人员去仔细思考软件的实现2.可以检测代码中的每条分支和路径3.揭示隐藏在代码中的错误4.对代码的测试比较彻底5.最优化白盒测试缺点1.昂贵2.无法检测代码中遗漏的路径和数据敏感性错误3.不验证规格的正确性白盒测试局限编辑但即使每条路径都测试了仍然可能有错误
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
对程序模块的所有独立的执行路径至少测试一遍。
对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
在循环的边界和运行的界限内执行循环体。
测试内部数据结构的有效性,等等。
  以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
白盒测试[1]又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试
三步法尽量避免重复工作,白盒方法和黑盒方法相结合,人工方法和自动方法相补充,如果第2步的覆盖率比较理想,那么基本上可以保证找出所有等价类
【优点】:条件组合覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则
白盒测试覆盖深度从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括以下不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖和修正判定条件覆盖
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区51CTO旗下网站
适当采用白盒测试
《软测之魂:核心测试设计精解》第5章测试需求分析与测试策略制定,本章从测试需求的介绍开始,与读者分享如何超越于需求文档之外,收集更多、更全面的需求,然后如何分析这些需求,特别是一些隐含需求的识别,从而提取方向性的顶层测试对象。接着为提取到的测试对象部署测试策略,重点介绍了各种测试技术的裁剪与合理应用的方法。主要体现在以黑盒功能测试为主,适当采用白盒测试,活用灰盒测试,部分功能或模块采用自动化测试的方法上。本节为大家介绍适当采用白盒测试。
作者:肖利琼来源:电子工业出版社| 18:42
5.5.2& 适当采用白盒测试
是否采用白盒测试,从软件工程角度出发,由于白盒测试能看到程序的内部逻辑结构,可以在单元测试阶段就开始测试,在修复Bug的成本方面占极大的优势。且对某一类的Bug,如果用黑盒测试方法,需花很多时间或精力去准备测试数据或测试环境,而用白盒测试方法却很容易做到。白盒测试不只限于单元测试,代码走查、代码的静态分析、动态分析都属于白盒测试的范畴。下面是一个采用代码走查发现的对于黑盒测试来说很难测试到位的边界值问题。
【案例】一个边界值测试的问题
背景描述:某精密仪器具有测量环境温度的功能,当环境温度在5℃到35℃时它能正常工作,当温度超过30℃后,测量结果的准确性将受影响,仪器要求进入报警测量状态。
测试分析:此功能黑盒测试工程师在执行测试时,用一杯热水来加热温度传感器,使其温度上升到边界值35℃,但由于精度的处理问题,传感器感应到的温度通过硬件指令发送给软件后存在一定的误差,软件在界面上显示的30℃,可能已超过真实的30℃,或实际上不足30℃。还有像30.1℃、29.9℃,这样的边界数据,用这种方法基本模拟不出来。在这种情况下,必须考虑其他方法,如进行软件插桩或硬件插桩(指令仿真),这两者的工程成本都不小。最后决定采用代码走查的方法审核代码。
测试结果:结果很快发现在边界值定义范围的边界上,开发人员把闭区间的表示,写成开区间的表示了,代码片段示例如下:if(&(&EnvrTemp&&5&)&&&&(EnvrTemp&&&)&) &{ &//软件正常工作 &} &Else &&{ &&&//软件进入报警测量状态 &}&
依据需求,第一行代码正确的表达应是if( ( EnvrTemp>=5 ) && (EnvrTemp<=30 ) )。
小结:对于黑盒测试难于验证,或重要的逻辑判断处理,核心模块的实现可采用白盒测试手段。方法很多,也可结合工具代替人工分析,如pc-lint代码静态分析工具就是一个不错的选择。
在项目测试中,决策白盒测试要不要开展很容易回答为"要",因为它有显而易见的好处,上例便是一个很好的例证。但要如何开展,对代码的覆盖率做到多高,不是拍拍脑袋就能拍出来的。众多因素中,人力的投入与产出应该是最重要也最需要考虑的问题,如项目的代码量会有多少,全部进行单元测试需多少人力?单元测试由开发人员进行的话,对进度的影响可以接受吗?如果测试人员来做,代价会不会太大,目前的资源胜任度如何?如果只对核心模块或核心代码进行白盒测试,质量上可以满足项目需求吗?就白盒测试展开的"度",包括广度与深度,也是策略决策者必须谨慎考虑的事情,有时甚至就是一个事倍功半或是事半功倍的决策。笔者曾见过的一个失败案例,见下面所述。
【案例】一个代码测试的失败案例
一个20.4万代码行的软件,安排2个测试工程师进行代码测试,介入时间在开发人员实现代码的中期。2个测试人员共耗时13个月,对重要模块进行了单元测试、集成测试及代码走查。项目结束时,共提交131个缺陷,被开发人员取消的问题有83个,确认真正被开发人员解决的仅有48个。由于人力产出比与预期相差很远,对项目的实质性贡献不明显,最后只好取消这个代码测试组。导致这个结果的原因很多,其中最主要的是测试人员进行代码测试的条件不够成熟,包括代码的注释低(统计才8.4%,业界公认代码注释率达到整个代码行的30%左右是比较理想的)、测试人员介入晚、人员少、自身能力有限等。
与黑盒测试技术相比,白盒测试要求门槛高,且弄不好就会吃力不讨好。但无可否认,白盒测试技术,是一把"好钢",只是好钢要用在刀刃上,方能发挥它应有的价值。
【责任编辑: TEL:(010)】&&&&&&
大家都在看猜你喜欢
热点热点头条头条热点
24H热文一周话题本月最赞
讲师:30832人学习过
讲师:207985人学习过
讲师:83178人学习过
精选博文论坛热帖下载排行
本书全面介绍了Ubuntu Linux的相关知识,内容详实,论述清晰。主要内容包括Ubuntu介绍、文件系统管理、进程管理、压缩与查询系统、Shel...
订阅51CTO邮刊

我要回帖

更多关于 白盒测试源代码 的文章

 

随机推荐