- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集成测试设计优化与分析
集成测试设计优化与分析
摘要:集成测试是复杂系统在产品测试过程中的重要方面,常常成为决定产品测试成败的关键。但长期以来,集成测试在产品测试中应用情况并不理想,传统集成测试在需求分析与设计方面覆盖率不高,导致相关测试开销与产出比不理想。本文分析了系统级集成测试的分析及应用实践。提供了一条,有效提高和发挥集成测试作用的分析方法与思路。
关键词:集成测试;测试覆盖率;功能簇
中图分类号:TN407 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
一、集成测试的一般定位及范围
随着软件行业的发展,软件系统涵盖了日常生活、生产的各个方面,复杂的软件系统的测试保证越来越成为实现软件需求目标的重要方面。
软件测试根据测试介入时机和测试对象的范围,一般可分为:单元测试、集成测试、系统测试。其中,集成测试是在单元测试的基础上,将所有模块按照设计要求组装成为子系统,进行集成测试。实践表明,一些模块虽然能够单独的工作,但并不能保证连接起来也能正常的工作。 程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。图1为不同开发阶段驱动的测试类型图。
不同类型的测试的实质是选取不同的测试范围和对象,对对象的属性 (功能分支及其他属性)进行验证的过程。好的测试是针对测试目标选取一个较优的测试对象及范围的组合,以获得较高的测试投入与产出比例,通过对测试目标实现尽量完整的测试覆盖度, 达成测试目标。软件测试没有绝对的覆盖,也不存在无尽的测试资源。
传统的集成测试,属于白盒测试的一种。其主要的问题包括如下方面:
1.较大的测试开销:由于集成测试采用将一个实体分解为多个实体的方式进行,测试接口的数量成级数增加,开销较大,通常的集成测试都是选择性的针对核心功能模块进行。
2.测试输入及构建要求较高: 软件测试总是基于一定的测试输入基础,这里的输入,主要依赖于开发过程。由于软件工程化开发的不同水平,集成测试往往难以获得完整的设计输入,同时由于软件设计成熟度的限制,导致模块级设计的变更频繁,这些都加剧了测试需求输入的恶劣和不可控。同时由于集成测试需要构建模块级的数据环境,属于白盒测试,测试技能要求,测试时间消耗都较大,也是其难以实现高效应用的原因之一。
二、系统级集成测试
(一)系统级集成测试的特点
为了获得更好的测试效益,我们提出一种基于系统级设计构建集成测试的思路。传统集成测试主要以软件模块为测试实体对象,将产品系统打开,基于内部接口和模块级运行环境进行测试设计。系统级集成测试从本质上与传统集成测试基本一致,但是其分析方法,更多强调与系统运行的场景、业务行为、事件对软件运行的影响以及场景异常的构建。
(二)系统级集成测试的对象
系统级集成测试捕获的问题对象本质是数据接口关系,主要分为3种类型,如下图所示:
1.外部输入关联
如图2,次功能模块b的输出是主功能模块a的输入。 整个系统功能自然的形成这种接口关系。例如:初始化是系统的数据准备、装载过程;业务功能消费这些数据。
2.内部输入关联
如图2中,主功能模块的输入条件,除了界面输入,还有一些内部数据输入。这些数据输入可以通过次功能c来构造。 通过次功能c的构造,能够实现对功能a更加完整的分支覆盖。 典型的例子是:业务通讯过程,依赖于其保护密钥的更换功能,这里的保护密钥就是内部输入关联的数据。
3.背景数据依赖
这种集成关系常常是: 基于系统全局的接口,在某种功能分支运行下,发生变化,进而影响主功能模块的运行。例如某个背景数据a是主功能的依赖数据,数据a可能因为某些功能运行或者某些事件改变。从而影响主功能的运行。
例如: 某个应用系统某数据的生产任务已经启动了,但一段时间后该应用系统被删除。则其对应的数据如果没有设计回收机制,就会形成冗余数据,这些数据占据了空间,但是没有被使用。这种情况也可以被理解为一种异常测试。
集成测试所捕获的问题主要来自于上述3种情况,而这些问题,常常是最容易出现测试逃逸的方面。
三、系统级集成测试的分析方法
系统级集成测试分析依赖于白盒接口分析、黑盒场景分析2方面的有机结合,接口分析的目的是分析明确集成测试的边界和目标;而场景分析则帮助我们获得高效的需求选择依据,选取最重要的测试需求。
(一)接口分析
通过对系统级功能核心接口数据进行分析,明确集成测试的实体范围及测试的目标分支。
根据上述2.2节的分析,集成测试的本质是捕获模块内部分支上的bug,所以,集成测试分析首先应明确测试功能或模块对象,以及与之存在接口关系的相关功能或模块对象,形成功能簇。功能簇有2种来源方式:
1.由软件概要设计文档,软件分支流程图,而导出的数据
文档评论(0)