软件工程——共同演进的方法与实践课件作者田文洪第八章节软件测试策略.ppt

软件工程——共同演进的方法与实践课件作者田文洪第八章节软件测试策略.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SMOKE方法 将已经转换为代码的软件构件集成为构造(build)。一个构造包括所有的数据文件、库、可复用的模块以及实现一个或多个产品功能所需的工程化构件。 设计一系列测试以暴露影响构造正确地完成其功能的错误。其目的是为了发现极有可能造成项目延迟的业务阻塞(show stopper)错误。 每天将该构造与其他构造,以及整个软件产品集成起来进行冒烟测试。这种集成方法可以是自顶向下,也可以自底向上。 集成测试用例的设计 首先应考虑为通过性测试设计用例,用来验证需求和设计是否得到满足、软件功能是否得到实现。可以考虑等价类分法、场景分析法、状态图法等 其次考虑为失效性测试设计用例,主要以已知的缺陷空间为依据设计测试用例。可以考虑边界值法、错误猜测法、因果图法和状态图法等 也应强调覆盖率的要求。集成测试的覆盖率有接口覆盖率,接口路径覆盖率等。 注意接口有显性和隐性之分。函数调用(API)接口属于显性接口,而消息、网络协议等都属于隐性接口。 系统测试是从用户使用的角度来进行的测试,主要工作是将完成了集成测试的系统放在真实的运行环境下进行测试,用于功能确认和验证。 系统测试基本上使用黑盒测试方法 系统测试的依据主要是软件需求规格说明 系统测试 为什么还要进行系统测试? 系统测试在软件开发过程中属于必不可少的一环,是软件质量保证的最重要环节。 从测试的内容上看,系统测试针对的是外部输入层的测试空间,如果不进行系统测试,那么外部输入层向接口层转换的代码就没有得到测试。此外,许多功能是系统所有组件相互协调中得到的,只能在系统测试级别进行观察和测试。 从测试的角度上看,在单元测试和集成测试阶段,测试针对的是各级技术规格说明,即从软件开发者的技术观点的角度考虑的。而系统测试是从客户的观点来考虑系统是否完全正确地满足了需求。 系统测试的主要内容 功能性测试 性能测试 压力测试 恢复测试 安全测试 其他的系统测试还包括配置测试、兼容性测试、本地化测试、文档测试、易用性测试等 功能测试 功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。 可靠性测试 如果系统需求说明书中有对可靠性的要求,则需进行可靠性测试。 ① 平均失效间隔时间 MTBF (Mean Time Between Failures) 是否超过规定时限? ② 因故障而停机的时间 MTTR (Mean Time To Repairs) 在一年中应不超过多少时间。 强度测试 强度测试是要检查在系统运行环境不正常乃至发生故障的情况下,系统可以运行到何种程度的测试。例如: 把输入数据速率提高一个数量级,确定输入功能将如何响应。 设计需要占用最大存储量或其它资源的测试用例进行测试。 设计出在虚拟存储管理机制中引起“颠簸”的测试用例进行测试。 设计出会对磁盘常驻内存的数据过度访问的测试用例进行测试。 强度测试的一个变种就是敏感性测试。在程序有效数据界限内一个小范围内的一组数据可能引起极端的或不平稳的错误处理出现,或者导致极度的性能下降的情况发生。此测试用以发现可能引起这种不稳定性或不正常处理的某些数据组合。 性能测试 性能测试是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统。 性能测试常常需要与强度测试结合起来进行,并常常要求同时进行硬件和软件检测。 通常,对软件性能的检测表现在以下几个方面:响应时间、吞吐量、辅助存储区,例如缓冲区,工作区的大小等、处理精度,等等。 恢复测试 恢复测试是要证实在克服硬件故障(包括掉电、硬件或网络出错等)后,系统能否正常地继续进行工作,并不对系统造成任何损害。 为此,可采用各种人工干预的手段,模拟硬件故障,故意造成软件出错。并由此检查: 错误探测功能──系统能否发现硬件失效与故障; 能否切换或启动备用的硬件; 在故障发生时能否保护正在运行的作业和系统状态; 在系统恢复后能否从最后记录下来的无错误状态开始继续执行作业,等等。 掉电测试:其目的是测试软件系统在发生电源中断时能否保护当时的状态且不毁坏数据,然后在电源恢复时从保留的断点处重新进行操作。 启动/停止测试 这类测试的目的是验证在机器启动及关机阶段,软件系统正确处理的能力。 这类测试包括 反复启动软件系统 (例如,操作系统自举、网络的启动、应用程序的调用等) 在尽可能多的情况下关机。 配置测试 这类测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配中的错误。 它主要包括以下几种: 配置命令测试:验证全部配置命令的可操作性(有效性);特别对最大配置和最小配置要进行测试。软件配置和硬件配置都要测试。 循环配置测试:证明对每个设备物理与逻辑的,逻辑与功能的每次循环置换配置都能正常工

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档