资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Unit3 软件测试基础知识软件测试分类1软件测试注意事项3 3软件测试模型2终止软件测试的标准3 43.1 软件测试分类1.按照开发阶段划分软件测试贯穿整个软件开发的整个期间,软件测 试分为单元测试、集成测试、确认测试、系统测试、 验收测试等2.按照执行主体划分 (1)开发方测试通常也称为“验收测试”或“测试”。 开发者检测与证实软件的实现是否满足软件设计说 明或软件需求说明的要求。 (2)用户测试通常也称为“测试”。 (3)第三方测试也称“独立测试”。指由第三方测试机构来进行 的测试。3. 按照执行状态划分软件测试分为动态测试、静态测试主持人作者记录员列席人员内审员技术专业人员用户代表运行程序不运行程序,仅通过 分析或检查等其他手 段达到检测的目的。通过运行被测程序,检查运行 结果与预期结果的差异,并分 析运行效率和健壮性等性能针对代码的静态检查包括代码检查、静态结构分析和代码 质量度量等。 (1)代码检查v 代码检查包括代码桌面检查、代码审查、走查等。v 代码检查的具体内容:变量检查、命名和类型审查、程序 逻辑审查、程序语法检查和程序结构检查等。 v 代码检查的优点:在实际使用中,代码检查比动态测试更 有效率,能快速找到缺陷,发现30%70%的逻辑设计和编码 缺陷;代码检查看到的是问题本身而非征兆。 v 代码检查的缺点:非常耗费时间,而且代码检查需要知识 和经验的积累。(2)静态结构分析是指以图形的方式表现程序的内部结构,如函数 调用关系图、函数内部控制流图。 (3)代码质量度量 3种度量方式: Line复杂度:以代码的行数作为计算标准; Halstead复杂度:以程序中使用到的运算符与运算 元的数量作为计数目标。 McCabe复杂度:也称圈复杂度。用图论来计算软件 的复杂度。v动态测试通过人工或工具运行程序进行检查,分析程序 的执行状态和程序的外部表现,通过运行软件来检 验软件的动态行为和运行结果的正确性。4. 按照测试技术划分黑盒测试、白盒测试、灰盒测试客户需求事件驱动输入输出v黑盒测试的基本观点是:任何程序都可以看作是 从输入定义域映射到输出值域的函数过程,被测程 序被认为是一个打不开的黑盒子,黑盒中的内容( 实现过程)完全不知道,只明确要做到什么。 v黑盒测试主要根据规格说明书设计测试用例,并 不涉及程序内部构造和内部特性,只依靠被测程序 输入和输出之间的关系或程序的功能设计测试用例 。v白盒测试(White-box Testing)也称结构测 试。“白盒”将程序形象地比喻为放在一个透明 的盒子里,故测试人员了解被测程序的内部结构 。v测试人员利用程序的内部逻辑结构和相关信息 ,对程序的内部结构和路径进行测试,检验其是 否达到了预期的设计要求。v灰盒测试介于黑盒测试和白盒测试之间。3.2 软件测试模型V模型v局限性:仅把测试作为在编码之后的一个阶段, 主要是针对程序进行的寻找错误的活动,对软件设 计、需求分析等活动的测试要到后期才能完成。修复成本增加W模型vW模型强调:测试伴随着软件开发的各阶段,测试 的对象不仅仅是程序,需求分析、设计等同样要测 试。测试与开发是同步进行的。 vW模型有利于尽早地、全面地进行测试。 vW模型也有利于全过程地测试。 vW模型存在局限性。在W模型中,需求分析、设计 、编码等活动被视为串行的。无法支持迭代、自发 性及变更调整。H模型 它将测试测试 活动动完全独立出来,形成了一个完全 独立的流程,将测试测试 准备备活动动和测试执测试执 行活 动动清晰地体现现出来。 只要测试测试 准备备活动动完成,达到了测试测试 就绪绪点 ,就可执执行测试测试 工作。v几条对测试具有指导意义的概念: (1)尽早测试 (2)全面测试 (3)全过程测试 (4)独立的、迭代的测试v(1) 尽早测试 是从W模型中抽象出来的理念。 测试与开发是并行的,在开发的早期需求 分析阶段就应开展测试。 易于制定出完善的测试计划和方案,提高软件 测试及开发的效率,规避测试中存在的风险。尽早开展测试执行工作,有利于测试人员尽早 地发现软件中的缺陷,大大降低了错误修复的成 本。v(2) 全面测试软件是程序、数据和文档的集合,因而软 件测试不仅仅是对程序的测试,还应包括对软 件副产品的全面测试,这是W模型中的重要理 念。 大量实践表明,软件中的大部分错误不是 在编码阶段而是在编码之前的需求分析和设计 中造成的。v“全面测试”的含义:第一,对软件的所有阶段性产品进行全面 的测试,包括需求分析文档、设计文档、程序 代码、用户文档等。 第二,软件开发人员及测试人员(有时还 包括用户)全面参与到测试工作中,例如对需 求的验证和确认活动,就需要开发人员、测试 人员及用户的共同参与。v(3)全过程测试W模型中体现的另一个测试理念就是“全过程测 试”。 W模型的双V字形象地表明了软件开发与软件 测试的紧密结合。v“全过程测试”的含义:测试人员要充分关注开发过程,对开发过 程的各种变更及时做出响应。 测试人员要对测试的全过程进行跟踪,及 时了解测试过程信息,调整测试策略,持续改 进测试过程。v(4) 独立的、迭代的测试 是H模型倡导的理念。大多数的开发都存在着需求分析、设 计、编码等活动的迭代,故对应的测试工作 也是可迭代的。 测试应成为一个独立的流程,只要测 试准备工作完成,达到了相应的测试就绪点 ,就可执行测试。 “独立的、迭代的测试”有利于应对开发过 程复杂多变的情况,使得测试工作更加灵活, 与开发活动也结合得更紧密,因而“独立的、 迭代的测试”也非常有利于全过程测试。3.3 软件测试注意事项v 严防寄生虫现象 v严防杀虫剂现象 v并非所有的软件缺陷都能修复 v需求规格说明书不断变化 v测试用例的设计 v文档的保存 3.4 终止软件测试的标准v 标准1:测试超过了预定时间,则终止测试。 v 标准2:执行了所有的测试用例,但并没有发现故障,则 终止测试。 v 标准3:使用特定的测试用例设计方法作为判断测试停止 的基础。 v 标准4:给出测试停止的要求,例如发现并修改了100个软 件故障。 v 标准5:根据单位时内查出故障的数量决定是否停止测试 。 v 标准6:软件系统经过单元、集成、系统测试,分别达到 单元、集成、系统测试停止标准。软件系统通过验收测试, 并已得出验收测试结论。 v 标准7:软件项目需暂停以进行调整时,测试应随之暂停 ,并备份暂停点数据。或者软件项目在其开发生命周期内出 现重大估算,进度偏差,需暂停或终止时,测试应随之暂停 或终止,并备份暂停或终止点数据。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号