- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒测试概述
* 先提问学员“这段代码有什么问题?” 学员可能回答:浮点数据不能与0进行比较,也可能回答除数很小时存储为0。 正确的答案是:虽然浮点数据与0进行了比较,并不会引起程序错误。但是如果程序在处理时,Div的值很小时,造成mod数据溢出。当除数很小时被存储为0时,在上面还是能检查出来,程序就退出,不会造成严重后果。 如果该代码运用在控制软件中,则必须考虑各种情况,在处理前进行判断。 这样的代码,在黑盒测试时也不容易被发现。 * 强调白盒测试和黑盒测试不是决然分开的,单独做黑盒测试或白盒测试都是做了测试的一个方面,很难保证发现了软件中大部分缺陷。 在测试过程中往往把两者结合起来进行测试,从代码逻辑结构上保证正确,再从功能和非功能特性上保证正确,经过这两方面的测试, 才能最大可能的保证软件质量。在测试过程中,采用这两种测试技术的时间有所不同。 * 图解: 这是一个软件开发过程的大致模型,在编码阶段主要运用白盒测试技术。在集成测试也需要进行白盒测试,在整个系统测试时,可能在某个阶段用得上。其实白盒测试与黑盒测试不是完全割裂的两种测试技术,更多的时候是两者结合使用,只是偏重使用那个了。 开发人员和测试人员都使用白盒测试技术。如果是测试人员做白盒测试,则需要开发软件的一方提供资料。 * 做白盒测试也需要了解系统,如果不了解系统,只是从代码上找问题,则可能只能找出语法上的使用错误,或一些与软件功能无关的错误。只有了解了系统功能,才能便阅读代码,边考虑程序如何运行,运行后出来什么现象等。从代码错误找到对应的功能上的错误。这些资料对于测试人员都是有用的。不论是做什么测试,更多的系统背景、设计、使用等资料都会给测试者带来很大的帮助。 当然,如果是开发人员自己做白盒测试,由于其对源代码和业务背景都比较熟悉。更多的只是检查程序代码就可以了。如果在开发过程中运用白盒测试技术来保证软件质量,则必须采取一定的策略和方法。 * 白盒测试主要是在编码阶段采用。而根据编码所处的时间段不同,运用白盒测试的方法也不同。这里简要的提一下,这些方法的使用将在下一章详细讲解。 桌前检查主要是开发人员自己检查自己的代码; 同行评审是引用CMM中的概念,主要是开发人员和设计人员或测试人员参加的代码走查; 代码走查:通常是测试人员测试软件的方法之一,通过阅读源代码发现问题的过程; 单元测试:主要是开发人员自己测试编写的代码,来保证提交的模块是经过测试的;有时测试人员也进行单元测试。 在单元测试中,主要测试功能,并覆盖程序中的语句和分析等达到逻辑覆盖准则。 静态分析:主要是指借助测试工具对源代码进行分析的过程。前面的其它方法都可以看做是静态分析的一部分。 * 逻辑覆盖测试是以程序内部的结构为基础的测试用例设计技术。 基本路径测试是在逻辑覆盖测试很难实现的情况下,减少设计测试用例的数量,达到覆盖程序主要路径的方法。 数据流分析:主要是对模块中的变量、常量、键盘和鼠标输入、文件、屏幕输入/输出、网络等设备的数据输入/输出的跟踪,通过根据对采集的数据分析,进而判断程序执行是否正确。实际上,在做路径测试时,经常需要把采集某一点的数据作为验证点。 也时我们可能还听说信息流分析,其实数据也是一种信息。而信息流关注是提供给用户的信息,这些信息可能是数据、也可能是一个现象、也可能是一种状态。这时更多的是需要人工去判断。 * 白盒测试可能不单独出测试报告,而是对整个软件测试后,一起写进报告。如果把白盒测试作为一个测试阶段,则可能要求编写报告。 例如运用白盒测试技术做了单元测试后,可能做单元测试报告。在对源代码进行了质量分析后,写质量分析报告。借助测试工具进行测试,可能生成很多的图、表等,这些直接引用到报告中。有的测试工具还具有自动生成测试报告的功能。 * * * 做好白盒测试在学习技术的基础上,需要经验的积累,逐步掌握代码中容易出错的地方。 * 对白盒测试人员的要求要大于黑盒测试人员,因为需要对代码的认识和理解,这需要有熟悉编程语言、编程技术等,也需要了解软件的功能,外部表现特征,实际在看到代码时,想到是程序运行到这里该是怎么样的,如果运行到那块代码又该是什么样子?等等。而黑盒测试人员只关注软件外部表现即可,对照需求说明书,检查功能和一些非功能特性。 做白盒测试的人员很容易去做黑盒测试,而做黑盒测试的人员则很难马上就去做白盒测试。 总之,对白盒测试人员的要求要比做黑盒测试人员的要求要高,有过开发和编程经验是必须的。 * 白盒测试的目的是保证程序中所有关键路径都被测试过,防止由于没有执行的路径在实际投入运行后执行到发生意外的情况,通过这些测试来保证软件运行的状态都是经过测试执行过的,状态是确定正确的。通过代码规则检查,可以保证代码符合一定的规范,使编码风格尽量统一,符合规则以尽量减少由于编写代码不规
您可能关注的文档
最近下载
- 照度计算计算书.doc VIP
- 人教版道德与法治三年级上册第4课《 科技力量大》第2课时 科技提升国力 教学课件.pptx VIP
- 超详细的化工装置开停车技术,太全了.pdf VIP
- (完整版)电工三级安全教育试卷附答案.docx VIP
- 部编六年级上册小学道德与法治期中检测试题(共3套).pdf VIP
- 代谢相关(非酒精性)脂肪性肝病防治指南(2024年版)解读(1)(4)PPT课件.pptx VIP
- 2023 年陕西省普通高校职业教育单独招生统一考试语文试题(解析版).pdf VIP
- 《华经》五时八教思想质疑.docx VIP
- 研究生的压力应对与健康心理答案.pdf VIP
- 江苏省苏州市昆山、太仓、常熟、张家港四市2023-2024学年九年级上学期期中阳光测评英语试题.docx VIP
文档评论(0)