- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章测试xz
第7 章 测试 软件测试概述 软件测试的组织与管理 测试方法 黑盒测试 白盒测试 测试用例的设计 多模块程序的测试策略 软件错误导致软件失控的事例1 软件错误导致软件失控的事例2 软件错误导致软件失控的事例3 测试的基本概念 测试(testing)的目的与任务 目的:发现程序的错误 任务:通过执行程序,暴露潜在的错误 纠错(debugging)的目的与任务 目的:定位和纠正错误 任务:消除软件故障,保证程序的可靠运行 测试的特性 挑剔性 抱着为证明程序有错的目的去测试 复杂性 设计合适的测试用例 不彻底性 Dijkstra 一句名言:“程序测试只能证明错误的存在,但不能证明错误不存在” 经济性 挑剔性 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 不彻底性 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。 但这是不可能的。 假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试: 可能采用的 测试数据组: 232×232 =264 如果测试一 组数据需要1毫秒,一年工作365× 24小时,完成所有测试需5亿年。 显然,这是不能容忍的,而且,设计测试用例时,不仅 要有合法的输入,而且还应该有非法的输入,在这个例 子中,输入还应该包括实数、字符串等,这样,输入数 据的可能性就更多了。所以说,穷尽测试是不可能实现 的。 对于一个复杂的系统而言,无论采取什么样的测试手段都 不能证明缺 陷已经不复存在。“彻底地测试”只是一种理想。 在实践中,测试要考虑时间、费用等限 制,不允许无休止 地测试。 测试与质量的关系 测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。测试与质量的关系很 象在考试中“检查”与“成绩”的关系。 学习好的学生,在考试时通过认真检查能减少因疏忽而造成的答题错误,从而“提高”了 考试成绩(取得他本来就该得的好成绩)。 而学习差的学生,他原本就不会做题目,无论检查多么细心,也不能提高成绩。 所以说,软件的高质量是设计出来的,而不是靠测试修补出来的。 测试方法 静态测试(不执行程序) 代码复审 走查 办公桌检查 动态测试(执行程序) 黑盒测试 测试程序功能 白盒测试 测试程序结构 测试的文档 测试计划 测试项目的名称 各项测试的目的、步骤和进度 测试用例的设计 测试报告 测试项目名称 实测结果与期望结果的比较 发现的问题 测试达到的效果 黑盒测试 黑盒测试法是根据程序的功能和性能进行测试的方法。 它把被测程序(模块)看成一个黑盒子,完全不考虑程 序内部的数据结构和逻辑通路。也就是说,黑盒测试是 在程序接口进行的测试,它只检查程序功能和性能是否 满足预期需要,程序是否能适当地接收输入数据产生正 确的输出数据,并保持外部信息(如文件或数据库)的 完整性。 例如,在程序的规格说明中,对输入条件有一句话: “…… 项数可以从1到999 ……” 则有效等价类是“1≤项数≤999” 两个无效等价类是“项数<1”或“项 数>999”。在数轴上表示成: 黑盒测试 等价分类法(equivalence partitioning) 把输入数据的可能值划分为若干等价类 有效等价类和无效等价类 每一无效等价类至少需要一个测试用例 例子 某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2008年3月止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。 “出生年月”的等价分类 在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。” 并且规定:“标识符必须先说明,再使用。” “在同一说明语句中,标识符至少必须有一个。” 用等价类划分的方法,建立输入等价类表: 下面选取了9个测试用例,它们覆盖了所有的等价类。① VAR x,T1234567:REAL; BEGIN x := 3.414; T1234567 := 2.732; ...… (1), (2), (4), (8), (9
文档评论(0)