第四章执行测试(1)S_第1页
第四章执行测试(1)S_第2页
第四章执行测试(1)S_第3页
第四章执行测试(1)S_第4页
第四章执行测试(1)S_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软软 件件 测测 试试 技技 术术1第四章第四章 执行测试执行测试4.1 测试执行概述4.2 执行系统测试4.3 执行单元测试4.4 执行集成测试2单元单元测试测试单元单元测试测试单元单元测试测试集成集成测试测试集成集成测试测试系统系统测试测试被测模块被测模块被测模块被测模块被测模块被测模块设计信息设计信息软件需求软件需求用户信息用户信息其它元素其它元素* 验收验收测试测试* 交付用户交付用户软件测试的过程流程34.1 测试执行概述测试执行概述测试执行过程建立测试环境执行测试用例记录测试结果 管理有软件错误报告测试结果执行测试的过程,也是不断发现缺陷的过程。在发现和记录了软件缺陷后,还需要对缺

2、陷进行管理,包括对缺陷的分类、报告、重现、跟踪和统计分析。454.3 4.3 执行单元测试执行单元测试6在单元测试的过程中,会综合运用静态测试技术和动态测试技术。在进行单元测试的过程中,一般会使用白盒测试,但也会结合使用黑盒测试。单元测试是针对程序模块进行正确性检验的测试工作。在编码的过程中作单元测试,其花费是最小的, 在代码编写完成后的单元测试工作主要分为两个步骤:人工静态检查动态执行跟踪74.3.1 静态检查静态检查合格的代码应该具备以下性质:正确性:指代码逻辑必须正确,能够实现预期的功能清晰性:指代码必须简明、易懂,注释准确没有歧义规范性:指代码必须符合企业所定义的共同规范包括命名规则,

3、代码风格等等一致性:指代码必须在命名上风格上都保持统一高效性:指代码不但要满足以上性质,而且需要尽可能降低代码的执行时间8单元测试时,静态测试常采用以下方式:代码走查桌面审查(同级复查)代码评审9通常的人工检查阶段需要执行下列内容: P113大多数单元测试会使用同级复查,即由开发人员的同伴(另外一个程序员)对文档和代码进行检验。不同公司、不同的项目会有不同的复查项检查清单,例如下面的一些典型复查项:函数入口处的形式参数的合法性有没有显然的数组越界操作代码的注释量是否符合公司规范是否设置了适当的出错处理静态测试也可采用一些辅助工具软件进行,例如PC-Lint一款C/C+语言代码静态测试工具。10

4、单元测试时,应该对模块进行如下检查:对模块内所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真“与”假“的情况至少各执行一次;在循环的边界和运行界限内执行循环体;测试内部数据的有效性等等。4.3.2 动态跟踪动态跟踪测试排错调试11模块模块模块接口模块接口局部数据结构局部数据结构独立的路径独立的路径出错处理出错处理边界条件边界条件4.3.3 单元测试的重点单元测试的重点12单元测试的重点:模块接口:检查参数个数、数据类型、顺序是否正确,确定返回值的类型及有效性;局部数据结构:测试其内部的数据能否保持完整性,包括内部数据的内容、形式及相互关系不发生错误。 独立的路径:在单元测试中,最主要的

5、测试是针对路径的测试。 边界条件:软件常常在边界地区发生问题。 错误处理:测试出错处理的要点是模块在工作中发生了错误,其中的出错处理设施是否有效。 131415161718测试用例测试用例被测模块被测模块驱动模块驱动模块测试结果测试结果桩模块桩模块1桩模块桩模块2桩模块桩模块3桩模块桩模块n桩模块桩模块19驱动模块主要完成以下事情:1、接受测试输入;2、对输入进行判断;3、将输入传给被测单元,驱动被测单元执行;4、接受被测单元执行结果,并对结果进行判断;5、将判断结果作为用例执行结果输出。 被测单元用什么语言,驱动就用什么语言写。 总而言之,写驱动和桩不需要太高深编程知识。如果有模板或框架作为

6、参考的话,差不多就成了一个体力活。2021222324驱动模块一般结构: Int DriverModule( ) . 调用被测试的模块; 处理运行结果; .n桩模块一般结构: Int StubModule(.) . Return 返回值; .2526单元测试的通过标准单元测试的通过标准正确地实现规定的功能错误处理正确边界条件处理正确达到预定的代码覆盖率(语句覆盖、判定覆盖、条件组合覆盖、路径覆盖等)。 一般要求语句覆盖率达到一般要求语句覆盖率达到100%。 少于30代码行的函数一般不需要做单元测试,只要代码走查即可。27测试与调试测试与调试 调试:bug的过程。 调试与测试的区别:n测试的目的

7、:寻找和发现缺陷。n调试的目的:找出缺陷的原因,并修正缺陷。通常,在测试以后紧接着要进行调试。实际上,测试工作和调试工作是交叉进行的。2829304.4 执行集成测试执行集成测试31主要是单元之间的接口测试接口测试: 检查单元调用关系、数据传递等,如函数形参中的类型、个数、顺序必须与实参相匹配。 一个单元是否使其他单元出现问题?全局数据结构的使用是否出现问题(建议少用全局变量)?几个模块组合起来可否实现主功能?误差不断积累达到不可接受的程度?3233集成测试的模式集成测试的模式非增量式测试模式(非渐增式)增量式测试模式(渐增式)3435 AS3S4S5d2 Cd4 Ed5 Fd1 B s1d3

8、 s2 DABCDEFABCDEF(1)程序结构图(3)集成测试示意图(2)各模块的单元测试示意图3637383940 A B C D E F A S1 S2 S3 A B C D S4 S5 A B C D E F(1)(2)(3)广度优先方式广度优先方式41 A B C D E F A S1 S2 S3 A B S2 S3S4 A B C S3 E(1)(2)(3)深度优先方式深度优先方式(4)4243 A B C D E F d2 Cd1 Ed3 Fd4 B Ed5 F D A B C D E F44适合于规模较大的应用。4546 自底向上的集成测试方案是工程实践中最常用的测试方法。相关技术也较为成熟。它的优点很明显: 管理方便、测试人员能较好地锁定软件故障所在位置。但它对于某些开发模式不一定适用。尽管如此,自底向上的集成测试方法仍不失为一个可供参考的集成测试方案。 47三明治方法三明治方法 它将自顶向下和自底向上的集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论