APP下载

大数据背景下软件测试技术

2020-02-05李进

电子技术与软件工程 2020年7期
关键词:边界值控制流测试人员

李进

(郴州广播电视大学 湖南省郴州市 423000)

大数据为软件测试提供了重要的技术支持,有效提升了信息处理的速度,推动了社会发展进步,创造很多生产价值。但是在软件实际应用过程中,会存在各种问题,需要进行提前测试,分析软件潜在存在的问题,从而制定改进策略,保证软件的质量。软件测试人员需要采取科学合理的测试技术,提升测试的效果,满足社会迅速发展的要求,推动了社会生产力的进步。因此,本文首先分析软件发展的现状,主要针对大数据背景下软件测试技术展开论述。

1 当前软件的基本形态

在大数据背景下,丰富了软件的形态,改善了软件的性能,满足了当前社会迅速发展的要求。下面主要针对大数据背景下软件的基本形态展开论述。

(1)处理速度比较快,软件运行通常是按照秒来计算的,为了满足实际要求,测试人员需要对数据进行及时化分析,这是与传统分析方式存在很大的不同。随着大数据的不断应用,测试人员需要重点分析软件的特点和形态,提升测试的效率。

(2)从软件的数据种类上看,包括了视频、日志等内容,需要测试人员结合不同类型的软件,选择相应的处理方法,保证检测的效率和质量。

(3)在进行软件测试过程中,测试人员要挖掘出有价值的信息,进行深度分析,重点做好信息的鉴别工作,提升软件的价值。

(4)由于软件数据数量很大,在大数据技术的支持下,包括很多海量信息,但是这些数量很大,很难进行有效的储存,因此,测试人员需要做好信息进行采集和整理工作,能够为企业提供重要的参考和借鉴。

在以往的软件测试过程中,测试人员需要根据软件规格,建立出相应的数据模型,建立良好的输入关系和输出关系。为了进一步提升软件测试的效率,测试人员需要利用现代化计算机程序,构建出相应的数学模型,不断挖掘内在有价值的信息,确定最终数据与数据之间的关系,满足实际生产的基本要求,降低周围不良因素的干扰与影响。

2 大数据背景下软件测试存在的问题

就目前而言,随着大数据的发展,为推动软件测试提供了重要的技术支持,但是依然存在一些问题,无法满足实际生产的基本要求。下面主要针对大数据背景下软件测试存在的问题展开论述。

表1:等价类表示例

2.1 软件测试技术水平比较低

在进行服务检测过程中,压力测试主要通过借助控制器发射信号。从测试方法的角度来看,需要从物理主机出发,采用不同的处理措施。但是有的测试人员通常采用传统的测试工具进行测试,但是只能满足部分服务器的要求。在数据大爆炸的时代,动态化处理平台得到了广泛的应用,它应用的基础就是数据处理平台。但是在进行容量较大的客户端测试过程中,难度比较大。基于此,传统的测试方法已经远远满足不了实际生产的基本要求。

2.2 存在判断性问题

在现阶段,结构化数据增长速度比较快,尤其是半结构化的社会媒体数据,增长速度更快,逐渐呈现出数据多样性的特点。以关系型数据库为例,主要以结构化数据为主,在进行结构化文件处理过程中,需要借助软件测试,对软件的正确性进行全面的分析和验证,但是由于数据类型多样,非常繁杂,很容易出现判断失误的问题,影响到最终测试的结果。

2.3 杀虫剂效应

根据软件测试的基本规律,随着测试的数量不断增加,数据免疫力也再不断上升,就会很容易导致杀虫效应。早在20 世纪90年代,有的测试人员就发现了杀虫剂效应了,这种效应一旦出现,软件就会产生很强的抗“药”性,测试人员如果一直采用一种测试方式,就会大大降低测试的效果。在软件开发前期,开发人员能够发现模式中存在的问题,并且集中在构建中,成为构件的组成部分,在多次测试的情况下,具备了一定的免疫能力,很难发挥后续测试的作用。为了做好软件测试工作,测试人员需要探索其中存在的问题,不断探索其中的缺点,做好软件性能的更新。

2.4 项目管理难度比较大

在完成编码设计以后,需要进行软件测试,但是很多问题只有在测试完成以后才能发现,这大大增加了测试的难度。并且就算发现问题,但是也不是所有的问题能在短期内可以解决。在进行软件开发过程中,管理人员没有对软件的质量进行全面的分析与了解,很难发现软件内在的问题,对后续软件测试产生极为不利的影响。从整体的角度来看,在计算机信息技术不断发展的前提下,对当前软件开发提出了更高的要求和标准,需要测试人员结合实际情况按照不同的测试标准,进行全面的分析与了解,进一步提升测试的质量。

3 大数据背景下软件测试技术分析

为了提升软件测试的效率,满足实际测试的要求,在进行测试过程中,测试人员需要结合实际情况,不断采用先进的软件测试技术,从而满足实际生产的基本要求。

3.1 黑盒测试法

测试人员根据软件功能设计规格和使用要求,对每个功能进行分别测试,是否符合产品性能要求和用户的要求。黑盒测试主要在软件的接口处进行测试,不用考虑内部的逻辑结构和特点,按照程序的操作规程和要求,对程序的功能进行检测。黑盒测试也称为功能测试或者数据驱动测试,这种测试方式主要是为了测试以下问题,软件是否存在不正确或者遗漏的功能;接口上输入接受和结果是否正确;数据结构信息是否错误,外部信息是否存在访问错误;软件性能是否满足实际要求;是否存在初始化或者终止性的错误。

在进行黑盒测试过程中,测试人员可以把软件程序当做一个打不开的黑指令,可以不考虑内部结构盒内部特征的条件下,对程序接口进行测试。测试人员需要输入数据,然后观察输出结构,重点检查软件系统是否严格按照说明书运行,是否产生正确的输出信息,信息是否完整。

3.1.1 功能测试

等价类划分是一种测试人员经常使用的黑盒测试方法,就是把可能要输入的数据划分成不同子集,然后从每个子集中,选择代表性的数据进行测试。这种测试方法主要包括有效等价类和无效等价类两种情况,如表1 所示。

3.1.2 边界值分析法

这种方法就是测试输入或者输出边界值,选择其中的等价类边界值进行测试,需要按照测试的标准进行挑选,保证测试的质量,需要充分考虑到出域边界值产生的影响。在利用边界值分析过程中,需要坚持以下几方面的原则:

(1)明确值的范围,达到范围的边界值或者刚刚超过这个范围的边界值。

(2)如果输入条件超出了规定的个数,需要使用最大个数、最小个数、比最大个数多1个、比最小个数少1个的数作为测试数据。

(3)根据具体的要求,每输出一个条件,就要使用前面两条规则。

(4)如果程序占用了内部一个结构,需要选择这个内部数据结构的边界值作为测试用例。

3.1.3 因果图法

因果图法就是利用图解的方法,分析不同的组合方法,进行测试用例设计,基本步骤如下:

(1)分析软件规格中的原因和结构,然后确定等价输入条件和输出条件。

(2)分析软件规格中的语义,明确原因与结果之间的关系,然后画出因果图。

(3)明确软件的约束条件,充分考虑到特殊情况,使用标准的符号,明确约束条件。

(4)需要把因果图转化成判定表。在因果图中,Ci 表示原因,Ei 表示结果。

3.2 白盒测试法

根据实际测试的经验,白盒测试法主要分为静态和动态两种方法。其中静态测试主要对软件的表示和描述进行检测,避免出现冲突或者歧义,主要是为了纠正软件系统在表示和规格上的错误,是进行下一步测试的重要基础。动态测试主要是进行软件的执行测试,具体包括执行前、执行中、执行后三个步骤,重点显示系统在检查的条件是否正确。

3.2.1 静态测试

图1:程序1 流程图

图2:程序2 流程图

图3:顺序结构

图4:IF 选择结构

图5:WHILE 循环结构

图6:UNIIL 循环结构

图7:CASE 多分支结构

在通常情况下,静态测试就是找出源代码中出现的语法错误,可以通过编译器完成,及时找到存在的错误,然后报告。为了提升测试的质量,测试人员需要采用人工的方法对程序进行非预防错误方面的检验,常见的方法主要包括代码检查法、静态结构分析法等。代码检查法主要包括桌面检查、代码审查、走查等。静态结构分析法主要利用测试工具分析内部结构,通过生成函数,调用各种图形和图表,分析控制流、数据流、接口以及表达式等,检查软件是否存在缺陷或者错误。

3.2.2 动态测试

在动态测试中,常见的有逻辑覆盖检测方法,主要以程序内部作为逻辑结构为基础的测试方法,通过程序逻辑结构实现程序的覆盖,要求测试人员能够全面了解程序的逻辑结构。如图1 所示。

(1)语句覆盖要每个语句至少被执行一次。

(2)在判定覆盖中,就是设置一些测试用例,通过程序测试,对取真分支和取假分支至少经历一次进行判断,保证判断的真假值都被满足。

(3)条件覆盖就是在程序设计中,语句进行多少个条件组成而进行复合判定。

(4)多条件覆盖,就是在足够测试用例的条件下,判定中的可能组合至少出现一次,可以满足多条件覆盖的测试要求。

3.3 基本路径测试法

这种方法就是测试人员在程序控制流图的基础上,对控制构造进行全面的分析,做好执行路径集合导出,设计出测试用例的方法,保证每条可执行语句要至少执行一次。

3.3.1 控制流图

程序的控制流图主要是程序控制流的图示方式,如图3-图7所示。

所有图形符号中,圆圈代表控制流图的节点,表示一个或者多个无分支的语句或者程序源程序语句。

3.3.2 基本路径的控制方法

由于基本路径集不是唯一的,针对具体的控制流图,可以确定不同的基本路径集,通常包括以下集中方法:

(1)确定控制流图的区域数。

(2)设E 为控制流图的边数,N 为图的点数,则环路的复杂性为V(G)=E-N+2。

(3)如果设P 为控制流图中的判定节点数,那么V(G)=P+1。

猜你喜欢

边界值控制流测试人员
工控系统中PLC安全漏洞及控制流完整性研究
抵御控制流分析的程序混淆算法
如何设计好的测试用例
巧用洛必达法则速解函数边界值例读
高校分析测试中心测试队伍建设方案初探
浅析软件测试中的心理学应用
基于控制流隐藏的代码迷惑
一类带有Dirichlet边界值条件的椭圆型方程正解的存在性
犯罪心理测试人员素质要求分析
序半群中有边界值的直觉模糊理想