- 1、本文档共247页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程—第9章 软件测试_lyh.ppt
软件测试背景 软件是人编的—所以不完美 实例: 1994-1995,迪斯尼的狮子王系统不支持问题 1999年12月3日,美国航天局火星极地登陆飞船失踪 1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度 千年虫,世界各地解决2000年错误超过数亿美元 软件生存期各阶段间需保持的正确性 教学目的及要求: 要求: 掌握黑盒测试方法和测试用例的设计; 掌握白盒测试方法和测试用例的设计; 掌握单元测试方法和集成测试方法; 了解面向对象的软件测试方法。 1.软件测试的目的与任务 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 测试的目的与地位 G.J.Myers在软件测试技巧中认为: 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止尚未 发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发现的错误 的测试。 ※ 软件测试的目的与任务 测试的目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的 错误。 纠错的目的:定位和纠正错误; 任务:消除软件故障,保证程序的可靠运行。 软件测试的定义: 软件测试是为了发现错误而执行程序的过程; 软件测试是根据软件开发个阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 2.测试原则(9条) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 程序员应避免检查自己的程序。 pareto原则:测试发现的错误中80%很可能起源于20%的模块中。应孤立这些疑点模块重点测试。 测试用例应由输入数据和预期的输出结果两部分组成 程序修改后要回归测试 穷举测试是不可能的。 测试的原则 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。所有的测试都应追溯到用户需求 最严重的错误(从用户角度)是那些导致软件无法满足需求的错误。程序中的问题根源可能在开发前期的各阶段解决、纠正 错误也必须追溯到前期工作。 应长期保留测试用例,直至系统废弃。 3. 测试的特性 挑剔性 “吹毛求疵” “鸡蛋里面头挑骨头” 复杂性 例如一个程序的功能是输入3个数作为三角形的3条边,然后鉴别这一三角形的类别。 不彻底性 例如有人开发了一个C语言的编译程序,要对他进行彻底的测试,需要设计多少个测试用例呢? 经济性 4.测试的种类 5.测试的文档 测试计划 主体是“测试内容说明”它包括:测试项目的名称,各项测试的目的、步骤和进度,以及测试用例的设计等。 测试报告 主体是:“测试结果”,它包括测试项目名称,实测结果与期望结果的比较,发现的问题,以及测试达到的效果等。 测试用例={测试数据+期望结果} 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? 例9.2 :假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试: 可能采用的 测试数据组: 232×232 =264 如果测试一组数据需要1毫秒,一年工作365× 24小时,完成所有测试需5亿年。 1. 等价类划分法(Equivalence Partitioning) 把所有可能的输入数据(有效的和无效的)划分成若 干个等价的子集(称为等价类),使得每个子集中的 一个典型值在测试中的作用与这一子集中所有其它 值的作用相同,可从每个子集中选取一组数据来测 试程序。 例如,在程序的规格说明中,对输入条件有一句话: “…… 项数可以从1到999 ……” 则有效等价类是“1≤项数≤999” 两个无效等价类是“项数<1”或“项数>999”。在数轴上表示成: (2) 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。
文档评论(0)