(精)Ch2-软件测试基础.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试方法和技术 - Ch.2软件测试基础 erdonghs@126.com 第一章回顾 第二章 软件测试基础 2.1软件测试的原则 软件测试的原则 缺陷的二八定理 11 缺陷的二八定理是指:一般情况下,软件的80%的缺陷集中在20%的模块中 我们要投入主要的人力和精力重点测试这20%的模块,以提高我们的测试效率 通常也把缺陷的二八定理称为缺陷的集群现象! 2.2 软件测试的分类 2.2.1按照开发阶段划分 按照软件开发阶段划分,软件测试贯穿软件开发的整个过程,分为: 单元测试 集成测试 确认测试 系统测试 验收测试等 2.2.2按照执行主体划分 开发方测试:开发方测试通称也为“验收测试”或“α测试”。在软件开发环境中,开发者检测与证实软件的实现是否满足软件设计说明或软件需求的要求 用户测试:用户测试是用户在真实的应用环境下,通过运行和使用软件,检测与核实软件是否符合自己预期的要求。用户测试又称为“β测试”。它把软件有计划地、免费地分发到目标市场,让用户大量使用、评价、检查软件。 第三方测试:是指由第三方测试测试机构来进行的测试,也称为独立测试。它由在技术、管理和财务上与开发组织相对独立的组织执行验证和确认(IVV)过程软件。 2.2.3按照执行状态划分 从是否要执行被测软件的角度,可分为: 静态测试:静态测试是在不运行软件的情况下检查软件系统是否与其规格说明相符。 例如,对规格说明的测试属于静态测试 静态测试的方法主要有审查和评审 动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。动态测试的两个基本要素是被测试程序和测试用例。动态测试又分为: 基于功能和性能的方法(黑盒测试) 基于结构的方法 (白盒测试) 基于功能的测试方法侧重于测试软件产品的功能 基于结构的测试方法侧重于检查软件产品的内部工作 静态的和动态的 静态测试和动态测试 静态测试和动态测试在测试不同阶段的使用情况 2.2.4按照对被测试对象的了解划分 黑盒测试:又称功能测试或数据驱动测试,它是对已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看做是一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口处进行测试。 白盒测试:又称结构测试或逻辑驱动测试。它知道内部的功过程,检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都按预定要求正确地工作。 灰盒测试:介于黑盒测试和白盒测试之间,主要用于测试各个组件之间的逻辑关系是否正确。 黑盒子和白盒子 黑盒测试和白盒测试的比较 黑盒白盒、动态静态之间的交叉关系 黑盒测试有可能是动态测试(运行程序,只看输入和输出),也有可能是静态测试(不运行程序,只是查看界面) 白盒测试有可能是动态测试(运行程序,并分析代码结构),也有可能是静态测试(不运行程序,只是查看代码) 动态测试有可能是黑盒测试(运行程序,只看输入和输出),也有可能是白盒测试(运行程序,并分析代码结构) 静态测试有可能是黑盒测试(不运行程序,只看界面),也有可能是白盒测试(不运行程序,只是静态查看代码) 2.3静态测试技术 静态测试是指不运行被测试程序而寻找程序代码中可能存在的错误或评估程序代码的过程。 静态测试的特点是不需要运行代码,也不需要对代码编译、链接和生成可执行文件。它是通过分析或检查源程序的方法、结构、过程、接口等来检查程序的正确性。目的在于找出缺陷和可疑之处,纠正软件系统的描述、表示和规格上的错误,也是进一步执行其它测试的前提。 在实际使用中,静态代码检查比动态测试更有效率,更能快速找到缺陷。按经验估算,一般能发现30%~70%的逻辑设计和编码错误的缺陷。但是静态代码检查非常耗费时间,而且代码检查需要丰富的知识和经验积累 静态测试技术 静态测试要完成的主要工作: 检查算法的逻辑正确性,确定算法是否实现了所要求的功能; 检查模块接口的正确性,确定形参的个数、数据类型、顺序是否正确,确定返回值类型及返回值的正确性; 检查调用其他模块的接口是否正确,检查实参类型、实参个数是否正确,返回值是否正确。若被调用模块出现异常或错误,程序是否有适当的出错处理代码; 检查是否有合适的错误处理,以便在程序出错时,能对出错部分进行重做安排,保证其逻辑的正确性; 检查表达式、语句书写是否正确,是否含有二义性。例如,下列表达式或运算符的优先级:=、=、=、、||、++、--等; 检查程序风格的一致性、规范性,代码是否符合行业规范 检查代码是否可以优化,算法效率是否最高; 检查代码注释是否完整,是否正确反映了代码的功能,并查找错误的注释。 为什么要静态测试? 在G.J.Myers的经典著作《软件测试之艺术》(The Art of Softw

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档