- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试技术基础 ;第4章 白盒测试技术;
白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。
;白盒测试方法又可分为静态测试和动态测试。
静态测试是一种不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。它主要是纠正软件系统在描述、表示和规格上的错误,是任何进一步测试的前提。
动态测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态测试的主要特点。它显示了一个系统在检查状态下是正确还是不正确。; 白盒测试的动态测试要根据程序的控制结构设计测试用例,其原则是:
(1)保证一个模块中的所有独立路径至少被使用一次;
(2)对所有逻辑值均需测试true和false;
(3)在上下边界及可操作范围内运行所有循环;
(4)检查内部数据结构以确保其有效性。;程序插桩法
在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。
程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法。; 如果我们想要了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句的实际执行次数,最好的办法是利用插桩技术。这里仅以计算整数X和整数Y的最大公约数程序为例,说明插桩方法的要点。下图给出了这一程序的流程图。 ;插桩后求最大公约数程序的流程图 ;设计插桩程序时需要考虑的问题包括:
① 探测哪些信息;
② 在程序的什么部位设置探测点;
③ 需要设置多少个探测点。;
在程序中特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实。我们把插入的这些语句称为断言。这一做法是程序正确性证明的基本步骤,方法本身是很实用的。下面以求两个非负数NUM和DEN之商的Wensley迭???算法为例,对断言语句的作用做一简要说明。;计算非负数之商的迭代程序 ;插入断言后的迭代程序 ;
逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,是通过对程序逻辑结构的遍历实现程序的覆盖,它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。这一方法要求测试人员对程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节。它属于动态测试。;4.1 白盒测试用例设计方法---逻辑覆盖; 参考例子的代码; 参考例子的流程图;4.1 白盒测试用例设计方法---逻辑覆盖;4.1 白盒测试用例设计方法---逻辑覆盖;
语句覆盖
为了暴露程序中的错误,程序中的每条语句至少应该执行一次。所以,语句覆盖的含义是:选择足够多的测试数据,使被测程序中每条语句至少执行一次。; 逻辑覆盖---语句覆盖; 逻辑覆盖---语句覆盖; 逻辑覆盖---语句覆盖; 逻辑覆盖---语句覆盖;
判定覆盖
比语句覆盖稍强的覆盖标准是判定覆盖。按判定覆盖准则进行测试是指,设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。判定覆盖又称为分支覆盖。;逻辑覆盖---判定覆盖;逻辑覆盖---判定覆盖;逻辑覆盖---判定覆盖;
条件覆盖
在设计程序中,一个判定语句是由多个条件组合而成的复合判定。条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
;逻辑覆盖---条件覆盖;逻辑覆盖---条件覆盖;逻辑覆盖---条件覆盖;
判定/条件组合覆盖:
判定/条件组合覆盖的含义是:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。;逻辑覆盖---判定/条件组合覆盖;逻辑覆盖---判定/条件组合覆盖;逻辑覆盖---判定/条件组合覆盖;
多条件覆盖
多条件覆盖也称为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/条件组合覆盖的。;4.1 逻辑覆盖---多条件覆盖;4.1 逻辑覆盖---多条件覆盖;4.1 逻辑覆盖---多条件覆盖;
修正条件判定覆盖:
它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其
您可能关注的文档
最近下载
- 公路施工组织及概预算-课程设计.doc VIP
- 2024年右江民族医学院马克思主义基本原理概论期末考试题完美版.docx VIP
- 2024年右江民族医学院马克思主义基本原理概论期末考试题附答案.docx VIP
- 部编版八年级上册历史第六单元(中华民族的抗日战争)单元测试卷及答案.docx VIP
- 2024年右江民族医学院马克思主义基本原理概论期末考试题必考题.docx VIP
- 结构加固工程施工组织设计方案.docx VIP
- 2024年右江民族医学院马克思主义基本原理概论期末考试题最新.docx VIP
- 北欧女神2金手指.txt.doc VIP
- 久保田KX挖掘机.doc VIP
- 化工安全作业培训课件.ppt VIP
原创力文档


文档评论(0)