2软件测试理论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2软件测试理论.ppt

软件测试理论 * 软件测试的定义 软件测试是在软件投入运行前,对软件需求分析,设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 如果下定义:软件测试是为了发现错误而执行程序的过程。或者说软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 测试是程序的执行过程,目的在于发现错误; 一个好的测试用例在于能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 软件测试的目的 换言之,测试的目的是 系统地找出软件中潜在的各种错误和缺陷。 能够证明软件的功能和性能与需求说明相符合。 测试不能表明软件中不存在错误,它只能说明软件中存在错误。 软件测试与开发各阶段的关系 软件开发过程是一个自顶向下,逐步细化的过程; 软件计划阶段定义软件作用域; 软件需求分析建立软件信息域、功能和性能需求、约束等; 软件设计把设计用某种程序设计语言转换成程序代码; 测试过程是依相反顺序安排的自底向上,逐步集成的过程; V模型 软件测试的分类 静态测试与动态测试 静态测试 静态测试是用一套属性、经验和标准对所研发产品的特性进行详细的测试。因为接受详细审核的产品是静态的,没有运行(比如一个模块被执行),所以我们就不能测试它改变输入和环境的行为。 确保系统按照组织的标准和过程运行,主要依赖于评审和非运行的手段来检查。通常包括需求评审、设计评审、代码走查和代码检查。 动态测试 动态测试通过运行(或操作)一个接受详细审查的产品并且监测它改变输入和环境的行为来进行确认和验证的过程。静态测试查看模块的代码文档,而动态测试检查模块对输入的响应及其逻辑行为。 在生命周期中进行测试(运行)。通常包括单元测试、集成测试、系统测试、用户的验收测试。 静态测试的内容 需求定义的静态测试 对需求定义的静态测试着重于测试对用户需求的描述和解释是否完整、准确。 设计文档的静态测试 对设计文档的静态测试着重于分析设计是否与需求定义一致。 源代码的静态测试 对源代码的静态测试着重于分析实现是否正确、完备。 代码检查、静态结构分析、代码质量度量等; 静态测试阶段的任务 静态测试阶段的任务: (1)检查算法的逻辑正确性。 (2)检查模块接口的正确性。 (3)检查输入参数是否有合法性检查。 (4)检查调用其他模块的接口是否正确。 (5)检查是否设置了适当的出错处理。 (6)检查表达式、语句是否正确,是否含有二义性。 (7)检查常量或全局变量使用是否正确。 (8)检查标识符的使用是否规范、一致。 (9)检查程序风格的一致性、规范性。 (10)检查代码是否可以优化,算法效率是否最高。 (11)检查代码注释是否完整,是否正确反映了代码的功能。 动态测试 所谓动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性; 运行软件并非动态测试的目的,通过运行来检验软件是否正确才是动态测试的真正目的; 动态测试包括三个基本要素: 被测试程序; 用以运行软件的数据,称为测试数据; 软件需求规格说明; 动态测试包括: 功能确认与接口测试 覆盖率分析 性能分析 内存分析 两大测试技术分类 白盒测试 白盒测试中(有时候称为开盒测试),软件测试员可以访问程序员的代码,并通过检查代码来协助测试-可以看到盒子里面。一般在单元测试中采用白盒测试,用于测试模块中所有可能的路径、执行所有循环并测试所有逻辑表达式。 白盒测试的测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用。 黑盒测试 黑盒测试侧重于软件的整体功能。 它不基于程序的内部结构而基于系统功能。犹如一个人站在黑盒子外面,只知道系统输入一定数据,得到一定的输出,而不必清楚这个黑盒子中进行了哪些操作和运算。 黑盒测试的测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误。 白盒测试 白盒测试又称结构测试、玻璃盒测试。它属于逻辑驱动测试,是基于程序内部结构的测试。 此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 白盒测试技术 软件人员使用白盒测试方法,主要想对程序模块进行如下的检查: 对程序

文档评论(0)

mwap + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档