单元测试、集成测试、系统测试基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单元测试

1、单元的基本属性:

1)明确的功能

2)可定义的规格

3)与其他单元接口的清晰划分

2、单元测试的目的:

在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。

a)验证代码是与设计相符合的;

b)发现设计和需求中存在的错误;

c)发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于

编码疏漏引起)

3、单元测试关注的重点:

出错处理、单元接口、局部数据结构、独立路径、边界条件

4、单元测试的主要关注点:

1)参数的属性、顺序、个数是否与LLD一致

2)不能修改只做输入用的形参,否则可能导致数据的错误修改

3)约束条件是否通过形参来传送

4、驱动和桩的功能:

1)驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果

2)桩单元:用来代替所测单元调用的子单元

5、单元测试策略:

孤立的测试策略、自顶向下、自底向上的单元测试策略

1) 孤立的测试策略:

·方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动

模块。每个模块进行独立的单元测试。

·优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。

·缺点:桩函数和驱动函数工作量很大,效率低。

2) 自顶向下的单元测试策略:

·方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对

第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有

模块。

·优点:可以节省驱动函数的开发工作量,测试效率较高。

·缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。

3) 自底向上的单元测试策略:

·方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模

块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被

测试过的模块做桩模块。以此类推,直到测试完所有模块。

·优点:可以节省桩函数的开发工作量,测试效率较高。

·缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产

生很大的影响。

5、单元测试的四个阶段:·测试计划:完成单元测试计划;

·测试设计:完成单元测试方案;

·测试实现:完成单元测试用例、单元测试规程、单元测

试脚本及数据文件;

·测试执行:执行单元测试用例,修改发现的问题并进行

回归测试,提交单元测试报告。

集成测试

1.集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,并确保增

量的行为正确(属于灰盒测试)

1)验证接口是否与设计相符

2)发现设计和需求中存在的错误

2.集成测试关注的重点:单元间的接口、集成后的功能

3.集成测试的层次:模块内集成、子系统内集成、子系统间集成

4.集成测试策略:

1)大爆炸集成

2)自顶向下集成

3)自底向上集成

4)三明治(混合式)集成

5)基干集成

6)分层集成

7)基于功能的集成

8)基于消息的集成

9)基于进度的集成

10)基于风险的集成

5.各种集成测试策略的优缺点:

系统测试

1.系统测试目的:

1)通过与需求做比较,发现与系统定义不符合或与之矛盾的地方

2)系统测试的用例应根据需求分析说明书来设计,并在实际使用环境下运行

2.系统测试对象

1)软硬件集合在一起的系统

2)验证时应尽可能模拟实际的运行环境与条件

3.系统测试常用类型:功能、性能、压力、容量、安全性、GUI、可用性、安装、配置、

异常(恢复性)、备份、健壮性、文档、在线帮助、网络、稳定性测试

4.功能测试:

1)概念:根据产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求

规格

2)目标:为了发现以下几类错误

a)是否有不正确或遗漏了的功能

b)功能实现是否满足用户需求和系统设计的隐藏需求

c)输入能否正确接受能否正确输出结果

5.性能测试:

1)概念:用来测试软件在集成系统中的运行性能

2)目标:度量系统相对于预定义目标的差距

3)工具:LoadRunner、WebLoad、SilkPerformer

4)重要性:a) 性能是质量的重要组成部分

b) 给用户树立良好形象

c) 节省成本的重要手段

6.性能测试的关键:有效的协调、正确的模型、瓶颈的定位、合理的建议

7.性能需求五大特性:需求行、代表性、完整性、可测试性、可用性

8.压力测试:关注稳定性和破坏性

1)目的:调查系统在其资源超负荷的情况下的表现

2)目标:通过极限测试方法,发现系统在极限或恶劣环境中自我保护能力,主要验证

系统的可靠性。

9.容量测试:

1)目的:使系统承受超额的数据容量来发现它是否能够正确处理

2)关注点:a) 整体的业务流量(一般关注静态容量)

b) 数据库的容量

c) 最大文件数目

d) 最大事务数

10.安全性测试:口令认证、加解密技术、权限管理、安全日志

11.GUI测试:

1)关注点:界面实现与界面设计的吻合情况、确认界面处理的正确性

2)对象:简单界面元素、组合类界面元素、完整界面(窗口)

3)内容:外观、界面元素行为、布局、友好功能

12.可用性测试:关注点:

1)过分复杂的功能或指令

2)困难的安装过程

3)错误信息过于简单

4)用户被迫去记住太多的信息

5)语法、格式和定义不一致

13.配置测试:

概念:测试系统在各种软硬件配置、不同的参数配置下系统具有的功能和性能

目标:验证全部配置的可操作性和有效性,特别需要对最大配置、最小配置或特殊配置进行测试

14.异常测试:

概念:又叫系统容错和可恢复性测试,通过人工干预手段使系统产生软、硬件异常,通过验证系统异常前后的功能和运行状态,达到检验系统的容错、排错和恢复的能

力。它是系统可靠性评价的重要手段。

容错处理:系统自动处理、人工干预处理

系统可靠性指标:平均失效时间间隔(MTBF)、平均恢复时间(MTTR)

系统可靠性设计技术:

1)避开错误

2)容错技术:结构冗余(动、静态)、信息冗余、时间冗余、硬件冗余、附加冗余技

15.健壮性测试:Robustness Testing

用于测试系统在出现故障时,是否能够自动恢复或忽略故障继续运行

16.网络测试:

概念:在网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证设备对接正常。

内容:考察系统的处理能力、系统兼容性、系统稳定可靠性及用户使用等方面。

1)一致性测试:检测系统与协议规范符合程度

2)性能测试:检测协议实体或系统的性能指标

3)互操作性测试:

4)坚固性测试:检测协议实体或系统在各种恶劣环境下运行的能力

17.系统稳定性测试:

目的是评价系统在一定负荷情况下、长时间的运行情况。

相关文档
最新文档