- 1、本文档共157页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 软件测试 软件测试的对象 软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。 需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。 为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。 验证和有效性确认 验证(Verification):通过检查和提供客观证据,表明规定要求已经满足的认可。 在软件生存期各个阶段,验证是指检测各个阶段结束时的工作产品是否满足对上一阶段的结束后的工作产品所定义的规格的验证过程 有效性确认(Validation):通过检查和提供客观证据,表明一些针对某一特定预期用途的要求已经满足的认可。 在软件生存周期各个阶段,确认是指检测各个阶段结束时的工作产品是否满足在软件生存周期初期在系统需求文档中描述的各项软件规格的确认过程。 都是测试活动。 验证和有效性确认 验证(Verification): 有效性确认(Validation): 都是测试活动。 黑盒测试 这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。 黑盒测试又叫做功能测试或数据驱动测试。 黑盒测试的作用 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? 黑盒测试的局限 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。 但这是不可能的。 示例 假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试: 可能采用的测试数据组:232×232=264 如果测试一 组数据需要1毫秒,一年工作365× 24小时,完成所有测试需5亿年。 白盒测试 此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 白盒测试的作用 软件人员使用白盒测试方法,主要想对程序模块进行如下的检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性,等。 白盒测试的局限 对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行20次的循环。 包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路径测试完,需3170年。 白盒测试与黑盒测试对比 例子 func(int A,B,X) { if((A1)(B=0)) {X:=X/A}; if((A=2)||(X1)) {X:=X+1}; } 测试覆盖率示例(1) 测试覆盖率示例(2) 语句覆盖 语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 语句覆盖例 测试用例的设计格式如下 【输入的(A, B, X),输出的(A, B, X)】 正好所有的可执行语句都在路径L1上 测试用例 【(2, 0, 4),(2, 0, 3)】 分支覆盖 分支覆盖又称判定覆盖。 分支覆盖:执行足够的测试用例,使得程序中每个判定都获得一次“真”值和“假”值,或者说使得程序中的每一个分支至少都通过一次。 分支覆盖例 选择路径L1和L2 【(2, 0, 4),(2, 0, 3)】 覆盖 ace【L1】 【(1, 1, 1),(1, 1, 1)】 覆盖 abd【L2】 或选择路径L3和L4 【(2, 1, 1),(2, 1, 2)】 覆盖 abe【L3】 【(3, 0, 3),(3, 0, 1)】 覆盖 acd【L4】 条件覆盖 条件覆盖:执行足够的测试用例,使得判定中的每个子条件都获得所有可能的结果。 条件覆盖例 判定/条件覆盖 判定/条件覆盖:执行足够的测试用例, 使得判定中每个子条件取到各种可能的值,并使每个判定取到各种可能的结果。 分支/条件覆盖例 条件组合覆盖 条件组合覆盖:执行足够的测试用例,使得每个判定中各条件的所有可能的组合都出现一次。 条件组合覆盖例 条件组合覆盖例 条件组合覆盖例 路径覆盖 路径测试就是设计足够的测试用例,覆盖程序中每一条可能的执行路径
您可能关注的文档
- 2006年高职语文复习建议.ppt
- 2006年汕尾市高中阶段学校招生.ppt
- 2008年天然橡胶贸易分析及2009年展望.ppt
- 2010年度国有资产统计报表.ppt
- 2013-2014学年第二学期第三讲机器人导论.ppt
- 2013年5月6日校本部三楼阶梯教室.ppt
- 2014.10.30早报.ppt
- 2014.11.01早报.ppt
- 2014.11.04早报.ppt
- 2014.11.05早报.ppt
- 实施指南《GB_T41906 - 2022 超氧化物歧化酶活性检测方法实施指南解读》.docx
- 实施指南《GB_T41976 - 2022 停车设备智能控制与管理系统》实施指南.docx
- 实施指南《GB_T41979.5-2022 搅拌摩擦点焊》实施指南.docx
- 实施指南《GB_T42013-2022信息安全技术快递物流服务数据安全要求》实施指南.docx
- 实施指南《GB_T42101-2022 游乐园安全》实施指南.docx
- 新解读《GB_T 27920.1-2011数字航空摄影规范 第1部分:框幅式数字航空摄影》.docx
- 实施指南《GB_T41892-2022 智能船舶机械设备信息编码指南》实施指南.docx
- 实施指南《GB_T41908-2022 人类粪便样本采集与处理》实施指南.docx
- 实施指南《GB_T41977-2022 包装条码标准》实施指南.docx
- 实施指南《GB_T41979.2-2022 搅拌摩擦点焊铝及铝合金焊接接头设计》实施指南.docx
文档评论(0)