第11章_软件实现与运行精要.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章_软件实现与运行精要

综合测试策略 通常先用黑盒法设计基本的测试用例,然后用白盒法补充一些必要的测试用例。 在任何情况下都应使用边界值分析法。 必要时用等价类划分法补充一些测试用例。 再用错误推测法补充测试用例。 检查上述测试用例的逻辑覆盖程度,如未满足所要求的覆盖标准,再添加测试用例。 如需求说明中含有输入条件的组合情况,则一开始就可使用因果图法 注意: 即使用上述综合策略设计测试方案,仍不能保证发现一切错误。例如Lucent公司其软件能达标运行的成功率为 80%。 测试过程 软件测试过程概述 软件测试过程中的工作流 软件测试步骤及与各开发阶段的关系 单元测试 集成测试 确认测试和系统测试 软件测试工作流 软件测试工作流 软件配置:软件需求规格说明、软件设计规格说明、源代码等; 测试配置:测试计划、测试用例、测试程序等; 测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。 测试结果分析:比较实测结果与预期结果,评价错误是否发生。 排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。 修正后的文档再测试:直到通过测试为止。 软件测试的步骤 测试与软件开发各阶段的关系 软件开发过程是一个自顶向下,逐步细化的过程。测试过程是依相反顺序安排的自底向上,逐步集成的过程。 集成测试 修改 通过 单元测试 修改 通过 概要设计 编码 详细设计 修改 需求分析 交互设计 确认测试 修改 通过 系统测试 修改 单元测试 模块接口测试:主要检查数据能否正确地通过模块。例:形参/实参是否匹配等、文件是否先打开后使用、文件是否关闭 局部数据结构:如未赋初值、变量名截短 重要的执行路径:如:算数运算优先次序不正确、精度不够、不同的数据类型比较、浮点数精度误差造成比较不等、多循环或少循环一次、不能终止的循环等 错误处理:预见出错条件、设置适当的出错处理、一旦出错,保证逻辑上正确性 边界条件:如输入/输出数据的等价类边界,选择条件和循环条件的边界,复杂数据结构的边界等都应进行测试 单元测试 单元测试在编码阶段进行。需要构造“测试环境”的额外开销:编写驱动模块和桩模块。 驱动模块的作用是用来模拟被测模块的上级调用模块,只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。 桩模块用来代替被测模块所调用的模块。它的作用是返回被测模块所需的信息 驱动模块 被测模块 桩模块 桩模块 集成测试(组装、联合) 在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统而进行的测试。 非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行的测试。 渐增式测试:逐个把未经测试的模块组装到已经测试过的模块上去,进行集成测试,每加入一个新模块进行一次集成测试,直至所有模块组装完毕。 渐增式测试的方法 自顶向下结合:从主控模块开始,沿控制层次向下,或先深度,或先宽度地逐一将模块组合起来 优点:较早发现高层模块接口、控制方面的问题;不需要设计驱动模块 缺点:需要建立桩模块(很困难);算法和I/O在底层、较晚才能发现问题 自底向上结合:从程序模块结构的最底层模块开始组装和测试。 优点:建立驱动模块比桩模块容易;算法和I/O在首先得到测试;多个模块并行测试。 缺点:主要的控制最后才能测试,影响范围大。 两种集成测试方法比较 非渐增测试 非渐增式方法把单元测试和集成测试分两个不同阶段完成,而渐增式方法把它们合在一起,同时完成。 非渐增式方法需要更多的工作量,因为每个模块都要驱动模块和桩模块。 非渐增式方法开始可以并行测试所有模块,能充分利用人员 渐增测试 渐增式方法可以较早发现接口之间错误。 渐增式方法有利于排错,发现错误往往和最近加进来的模块有关,而非渐增式方法很难判断哪一部分接口出错。 渐增式方法比较彻底,但占用时间较多 各有优缺点,互为补充。一般低层模块使用自底向上结合的方法组装成子系统,然后由主模块开始自顶向下对各子系统进行集成测试。 系统测试 系统测试作为整个基于计算机系统的一个元素,与硬件、外设、支持软件、数据、人员等结合起来进行的测试。 主要进行功能测试(含可使用性测试)、性能测试、安全测试和回归测试。 功能测试: 检查被测系统的修改和增加功能是否正常实现; 检查控制流程图和模块关系图、模块内部关系图; 识别特殊情况,如出错处理流程,错误提示是否合理; 检查用户界面是否符合窗口程序的标准,界面操作是否简便直观; ? 性能测试: ? 系统运行占用的资源,完成某一步骤需要的时间; ? 系统能承受的压力; ? 压力完成后数据库连接数立即恢复正常值 安全性测试:

文档评论(0)

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

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

1亿VIP精品文档

相关文档