软件测试 郑人杰 许静 于波 第1章测试综述新.pptVIP

  • 5
  • 0
  • 约3.74千字
  • 约 46页
  • 2015-12-24 发布于广东
  • 举报

软件测试 郑人杰 许静 于波 第1章测试综述新.ppt

软 件 测 试 Software Testing 许 静 2011.2 测试的目标 测试人员的职责 测试设计与管理 测试工具开发 测试执行者 课程主要内容 软件测试技术 软件质量管理与控制 测试技术:如何做测试? 如何选择数据 如何执行操作 如何管理测试 专项测试技术 Web应用测试 用户界面测试 性能测试 自动化测试 课程的目标 完成测试计划 设计测试数据 评估测试结果 开发测试工具 第一章 软件测试综述 本章主要内容 测试的原则 基本定义 测试的发展 测试的生命周期 1.1 测试的原则 原则一:穷尽测试是不可能的 针对输入 :如果有三个数作为输入。。。 每个数的取值个数:264 总的取值:264 x 264 x 264 =2192 如果每次运算之需要1ms,那么也需要。。。 针对结构 :在表中查找“名字=Bill”,并打印 表中有Bill 表中没有Bill 表的大小 Bill在表中的位置 表中的其他名字是否有关? “不充分的测试是愚蠢的,过度的测试也是一种罪孽” 原则二:测试工作具有创造性,但很困难 测试是破坏性工作?重复性的工作? 测试需要有洞察力、广泛的知识、测试经验和正确的方法 原则三:测试旨在防止错误的发生 原则四:测试是有风险的 原则五:测试要有计划性 测试计划 测试设计 原则六:测试要有独立性 测试部门 测试经理 测试工程师 测试的局限 输入/状态空间 执行顺序 例:for (int i=0; in; ++i) { if ( a.get(i)==b.get(i)) x[i]=x[i]+100; else x[i]=x[i]/2; } 3. 故障敏感性和巧合正确性 代码对测试包隐藏故障的能力成为故障敏感性。 错误的代码执行时,却产生了正确的结果,得到了巧合性。 例1:x+x 是 X*X 的错误代码 当x=2 时,隐藏了错误 例2:int scale (int j) { j=j-1; //should be j=j+1 j=j/30000; return j; } 对于j的65536个可能的值中,只有六个可能产生错误:-30001,-30000,-1,0,29999,30000。 例3:测试x,y,z是否相等 if ((x+y+z)/3==x) print”x,y,z are equal in value” else print”x,y,z are unequal” Test Case1: x=1,y=2,z=3 Test Case2: x=y=z=2 Test Case3: x=2,y=1,z=3 程序测试可以表明缺陷的存在,但决不能证明没有缺陷。 测试必须用需求作为参考点。如果需求是错误的或不完全的,就会产生假的测试。 基于实现的测试并不能发现遗漏,正如缺少的代码不能被测试一样。 从来都不能确信一个正在测试的系统是正确的,测试设计中的错误,可能产生假的测试结果。 得到一个预测是困难的,有的甚至是不可能的。 测试能完成什么 首要任务就是发现错误 对于给定的测试包,说明被测试系统是符合规约所描述的需求。 1.2 基本定义 错误(Error):Bug 缺陷(Fault):是错误的表现 失效(failure):当缺陷执行时会发生失效 事故(incident):系统在制定范围内执行所需功能时表现的无能 测试脚本:一个用过程脚本语言编写的程序,该程序用来执行一个测试包 测试包:测试实例的集合 测试装置:由测试驱动器和其他支持测试执行的工具组成的系统。 测试用例(Test Case):由输入数据和预期结果组成 输入数据:数据、文件或操作序列 预期结果:后果和实际输出 好的测试用例的3个特性: 检测软件质量的有效性,是否能发现缺陷,或至少可能发现缺陷; 经济性,可仿效的测试用例可以测试很多内容,测试用例的执行、分析和调试是否经济 测试用例的可修改性,每次软件修改后对测试用例的维护成本 通过维恩图理解测试 所描述的行为与所实现的程序行为 测试就是确定既被描述又被实现的程序行为,以及它们之间的差距 已描述、已实现和经过测试的行为 S:规格说明描述的行为 P:程序实现的行为 T:测试用例检测到的行为 没有测试的已描述的行为(2,5) 测试的已描述的行为(1,4) 未描述行为的测试用例(3,7) 没有测试的程序行为(2,6) 经过测试的程序行为(1,3) 未经过实现的行为(4,7) 1.3 测试的起源与发展 测试的定义 – Glenfor

文档评论(0)

1亿VIP精品文档

相关文档