- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[软件测试周
Unit3 软件测试基础知识 3.1 软件测试分类 1.按照开发阶段划分 软件测试贯穿整个软件开发的整个期间,软件测试分为单元测试、集成测试、确认测试、系统测试、验收测试等 2.按照执行主体划分 (1)开发方测试 通常也称为“验收测试”或“α测试”。 开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求。 (2)用户测试 通常也称为“β测试”。 (3)第三方测试 也称“独立测试”。指由第三方测试机构来进行的测试。 3. 按照执行状态划分 软件测试分为动态测试、静态测试 针对代码的静态检查包括代码检查、静态结构分析和代码质量度量等。 (1)代码检查 代码检查包括代码桌面检查、代码审查、走查等。 代码检查的具体内容:变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等。 代码检查的优点:在实际使用中,代码检查比动态测试更有效率,能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷;代码检查看到的是问题本身而非征兆。 代码检查的缺点:非常耗费时间,而且代码检查需要知识和经验的积累。 (2)静态结构分析 是指以图形的方式表现程序的内部结构,如函数调用关系图、函数内部控制流图。 (3)代码质量度量 3种度量方式: Line复杂度:以代码的行数作为计算标准; Halstead复杂度:以程序中使用到的运算符与运算元的数量作为计数目标。 McCabe复杂度:也称圈复杂度。用图论来计算软件的复杂度。 动态测试 通过人工或工具运行程序进行检查,分析程序的执行状态和程序的外部表现,通过运行软件来检验软件的动态行为和运行结果的正确性。 4. 按照测试技术划分 黑盒测试、白盒测试、灰盒测试 黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。 黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。 白盒测试(White-box Testing)也称结构测试。“白盒”将程序形象地比喻为放在一个透明的盒子里,故测试人员了解被测程序的内部结构。 测试人员利用程序的内部逻辑结构和相关信息,对程序的内部结构和路径进行测试,检验其是否达到了预期的设计要求。 灰盒测试 介于黑盒测试和白盒测试之间。 几条对测试具有指导意义的概念: (1)尽早测试 (2)全面测试 (3)全过程测试 (4)独立的、迭代的测试 (1) 尽早测试 是从W模型中抽象出来的理念。 测试与开发是并行的,在开发的早期—需求分析阶段就应开展测试。 易于制定出完善的测试计划和方案,提高软件测试及开发的效率,规避测试中存在的风险。 尽早开展测试执行工作,有利于测试人员尽早地发现软件中的缺陷,大大降低了错误修复的成本。 (2) 全面测试 软件是程序、数据和文档的集合,因而软件测试不仅仅是对程序的测试,还应包括对软件副产品的全面测试,这是W模型中的重要理念。 大量实践表明,软件中的大部分错误不是在编码阶段而是在编码之前的需求分析和设计中造成的。 “全面测试”的含义: 第一,对软件的所有阶段性产品进行全面的测试,包括需求分析文档、设计文档、程序代码、用户文档等。 第二,软件开发人员及测试人员(有时还包括用户)全面参与到测试工作中,例如对需求的验证和确认活动,就需要开发人员、测试人员及用户的共同参与。 (3)全过程测试??? W模型中体现的另一个测试理念就是“全过程测试”。 W模型的双V字形象地表明了软件开发与软件测试的紧密结合。 “全过程测试”的含义: 测试人员要充分关注开发过程,对开发过程的各种变更及时做出响应。 测试人员要对测试的全过程进行跟踪,及时了解测试过程信息,调整测试策略,持续改进测试过程。 (4) 独立的、迭代的测试 是H模型倡导的理念。 大多数的开发都存在着需求分析、设计、编码等活动的迭代,故对应的测试工作也是可迭代的。 测试应成为一个独立的流程,只要测试准备工作完成,达到了相应的测试就绪点,就可执行测试。 “独立的、迭代的测试”有利于应对开发过程复杂多变的情况,使得测试工作更加灵活,与开发活动也结合得更紧密,因而“独立的、迭代的测试”也非常有利于全过程测试。 3.3 软件测试注意事项 严防寄生虫现象 严防杀虫剂现象 并非所有的软件缺陷都能修复 需求规格说明书不断变化 测试用例的设计 文档的保存 3.4 终止软件测试的标准 标准1:测试超过了预定时间,则终止测试。 标准2:执行了所有的测试用例,但并没有发现故障,则终止测试。 标准3:使用特定的测
文档评论(0)