公务员期刊网 论文中心 正文

软件测试中的集成测试分析

软件测试中的集成测试分析

摘要:现如今全球已经进入数字化时代,任何行业都在向着自动化、智能化的方向发展,这样的发展离不开硬件的支持和软件的配设。如果一套设备单有硬件没有驱动软件程序,那么这台设备就无法实现自能化生产。为了使软件能够正常配套于硬件设备,软件工程师需要对软件进行深入测试,从而判断出该软件是否存在漏洞,而集成测试是软件测试中最为主要的方式之一。基于此,本文对集成测试进行了简单的概述,并提出集成测试的具体策略,同时深入探讨了集成测试的具体类型,以供相关人员参考,从而推进软件测试行业的发展。

关键词:集成测试;软件测试;具体策略;具体类型

引言

第三次工业革命也被称为“科技革命”。现如今,人类的生活已经因为科学技术而发生了巨大的改变。在当今二十一世纪,计算机技术、网络技术、信息技术等大力发展,让我们的生活变得个加便捷。而软件工程便是这些技术当中不可或缺的一部分。因此,作为保障软件质量的软件测试技术得到了全球科学界的高度关注。目前,软件测试方式多种多样。根据研究发现,根据任何测试方式均能够设计处一套行之有效的测试方案,但没有任何一套方案能够容易的将软件中的所有漏洞、错误都找出。因此,在实际的测试过程中,测试工程师往往将多种测试方式结合起来,从而对软件进行深入测试,进而满足不同阶段对软件测试的需要。

1集成测试的概念

软件测试是软件质量的保障。由于软件系统大部分使由多个子系统构成的,因此为了使软件测试有效进行,测试过程需要严格按照步骤进行,而测试步骤分为:单元测试、集成测试、确认测试和系统测试。集成测试作为单元测试的后一步和确认测试的前一步对于软件系统的质量保障有着重要的意义。因为软件系统的各个子单元能够正常运行并不意味着将这些子单元集合在一起还能够正常运行,并且在集合后比较容易出现错误。很多公司因为该原因成立了专门的集成测试的测试小组,如果对软件系统进行了深入的集成测试,将会找到软件中存在的大部分漏洞,从而为后续测试运行工作提高了强而有力的帮助。

1.1集成测试的定义

集成测试的主要目的是对已通过运行测试的单元组件集合在一起而进行的整体测试。该种测试技术属于一种构建整体软件结构的技术,其具有全面性和系统性的特点,同时集成测试能够找到一些关于接口错误的漏洞。

1.2集成测试遵循的原则

集成测试是整个软件测试中最为重要的一环,它的测试结果很大程度上体现该软件的成功与否。软件工程师如果要进行集成测试,为了提高测试的准确性,需要遵循以下原则:①测试过程中需要对所有接口进行测试;②对主要的单元模块要进行深入测试;③测试时应当按层次进行,不可跳跃测试;④在测试方案的选择中,应当将成本、测试准确度、测试进度等因素考虑在内;⑤集成测试方案应当基于软件的总体设计而设置,并且应当在软件开发过程中尽早进行;⑥测试工程师与开发工程师应当相互沟通,确定好模块与接口的划分;⑦如若因为某些原因需要对接口进行修改,这些改变的接口需要进行再次测试;⑧对于测试结果应当准确记录;⑨集成测试应当严格遵循测试方案进行,不能够随意更改测试方案。

1.3集成测试的任务

集成测试作为整个软件测试过程中的关键一环其主要任务有以下几部分:①将各个子单元模块集合在一起,并进行相互调用功能,在传输数据的过程中检查是否出现接口丢失的情况;②在各个子单元模块集合在一起后,进行系统性的运行,从而检测各项子模块功能是否达到设计要求;③在进行单元模块调用时,是否会出现单元模块功能互斥的现象;④在进行全面测试时,是否会出现数据不正常修改情况;⑤如果单个单元模块有漏洞,是否会形成错误积累现象,使漏洞越来越大,从而使软件不符合设计要求。

2集成测试的策略

集成测试中需要设置诸多模块来辅助集成测试的进行。这些模块包含桩模块和驱动模块。驱动模块是将一些数据传输给待测模块,从而得出模块的功能和特性,最总找出漏洞并打印出结果。其中桩模块也被称为存根程序,用来取代被调用模块的模拟。该模块进行的数据处理较少,而且其调用是又待测模块调用的。例如为了检验模块直接的借口,需要入口和返回进行打印。在集成测试的方式中,一般可以将其分为两种,分别是增量集成和非增量集成。其中增量集成由于是通过小增量的方式对软件系统进行测试的,因此这样能够更好、更彻底的检测接口。

3集成测试的主要类型

3.1基于功能分解的集成

在进行软件集成测试时,将功能分解并进行测试时最为重要的测试方式之一。该种测试方式一般都是采用文字或树状图的形式来进行功能分解的。进这种测试方式进行深入讨论时,将要按照集成模块的顺序进行测试。(1)自顶向下集成方式(树状图中由顶端开始进行)。此种方式是将软件结构中的主控制体系进行优先集成,而后对其路径下的模块进行分组集成测试。(2)自底向上集成方式(树状图中由底端开始进行)。该种集成测试方式与自顶向下集成方式恰巧相反。但其中具体步骤仍有所不同,具体不同之处在于该种集成方式中由分解树上层单元的模块来取代具有模拟功能的桩。反过来说,自底向上集成需要从“树”中的“叶子”处开始,并且需要用特殊方式编写的模块开进行驱动测试。在模块当中,一次性驱动代码相比较桩中的驱动代码较少。在软件系统设计中,大部分系统在叶子节点处都有着较高的扇出数。因此,由该种集成顺序实施的方案中优点便是驱动模块数量相对较少,但缺陷便是驱动模块都较为复杂。

3.2基于功能分解方法的优缺点

(1)自顶向下集成方式(树状图中由顶端开始进行)。该方式的优点在于能够让测试工程师在测试开始时便了解系统的框架,从而能够使测试过程逐渐精细化。缺点在于在进行测试前需要提供桩模块来模拟被调用的子模块。由于桩模块仅仅是进行模拟,可能无法反映出实际情况,因此测试可能不全面。就另一方面来讲,装模块并不能对数据进行模拟,如果模块间的数据流不能构成有向无环图,便无法生成模块的测试数据。并且,对测试结构的观察和结果的表达也存在着一定的难度。(2)自底向上集成方式(树状图中由底端开始进行)。该种方式的优点便是对驱动模块的所有参数都进行了模拟调用,并且在数据生成方面也是比较容易的。如果软件系统的关键驱动模块在结构体系底部,那么该种方式便有着其他方式没有的测试优势。缺点:系统的整个框架需要在最后的过程再能看到。

3.3基于调用图的集成

调用图集成是集成测试中常用的测试类型之一,可以分为两种,一种是相邻集成,另一种是成对集成。该种集成方式的优点是以行为基础为主,并且还不用开发驱动模块和桩模块。缺点:有大量邻居的情况下有隔离缺陷,并且在清除缺陷后需要对相邻的代码进行重新测试。

3.4基于路径的集成

基于路径的集成是将单独开发测试重点转移到单元交互(单元模块的“协同功能”)上,而这种转移需要通过各模块单元的接口进行。在此,单元模块接口是结构性的,而单元模块交互却是功能性的实现。就以MM--路径测试而言,这是一种功能性与结构性相结合的测试方式,其优点:不需要利用分解或图集等结构性便可以开展测试,与软件系统联系紧密。并且该测试方式可以被用于面向对象的软件测试。缺点:需要大量的路径标识,这样的工作量较大,并且与桩模块和驱动模块的开发不同。

3.5面向对象环境中的集成测试

两种不同的策略:基于线程的测试(thread—basedtesting)。基于使用的测试(use—basedtesting)。驱动程序和桩程序:驱动程序和桩程序实现的功能有所不同。驱动程序能够在显示界面前就开始进行系统测试,而且其也能够对类和低层的操作进行测试;而桩程序测试能够在缺少类的情况下对类协作进行测试。

参考文献

[1]杨培培,赵海生,李振星.实用软件测试方法研究[J].计算机应用,2015,35(S1):166-167+173.

[2]牛颖蓓,左芸.基于VC33航天软件集成测试技术研究[J].计算机测量与控制,2020,28(01):26-29.

[3]黄天开.计算机软件测试方法及应用研究[J].中国新通信,2020,22(16):56-57.

作者:谢晓丽 单位:四川九洲电器集团有限责任公司