您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 浅析网络管理测试技术相关问题与发展
网络管理测试技术刘璇12级计算机科学与技术摘要:网络管理系统是大型复杂的系统软件工程。为了确保研制的网络管理系统的可靠性和正确性,在网络管理系统的研制过程中,必须分阶段测试。包括对网络管理系统的每个模块进行测试,网络管理系统的子功能进行测试,最后对整体进行测试。论文介绍了软件测试的基本理论和技术,讨论了网络管理系统软件的特点和功能,分析了网络管理系统测试的方法和具体的关键技术,提出网络管理系统的具体测试方法,其中包括单元测试和系统测试。关键字:网络管理软件系统测试测试方法静态分析功能测试1绪论随着软件系统的广泛应用,网络管理系统应用到人们的日常生活和工作等多个方面。网络管理的规模越来越复杂,网络管理向分级分布式方向发展。但是由于软件故障、软件缺陷导致软件运行中不可预知的错误,导致软件性能及稳定性下降,从而影响网管软件系统的使用。软件测试是发现软件问题,提高软件质量的重要手段。1.1研究背景随着通信与计算机技术的持续高速发展,通信网络规模不断扩大,网络复杂性日益提高;同时,随着社会经济的发展,人们通信需求的不断增长,各种电信新技术、新业务被先后引入通信网络。在工程化的网络管理技术与标准的指导下,网管系统的建设得以迅速有效地开展。为了保证网管系统的质量,网管系统的测试时必不可少的重要手段。随着网络技术的不断发展,网络管理系统自身也日益复杂,对大型、复杂的网络管理软件的测试研究已经成为当前网络管理领域和软件工程领域面临的难题。1.2研究目的本文的目的主要是针对网络系统测试,试图从一般软件系统测试和网管系统测试的共性和个性的比较出发,给出网管系统应用软件测试的特点和方法,对其测试的方法与技术进行研究。2软件测试2.1软件测试基本理论2.1.1软件测试的定义1983年,电气与电子工程师协会(InstitudeofEleetroniesEngineerS,工EEE)对软件测试的定义如下:使用人工或自动的手段来运行或测量软件系统的过程,目的是检验软件系统是否满足规定的要求,并找出与预期结果之间的差异;软件测试是一门需要经过设计!开发和维护等完整阶段的软件工程因此,从这个阶段开始,软件测试进入一个全新的时期,软件测试成为一个专门的学科,从而形成了测试的理论!方法和各种测试技术,并开始运用某些测试工具。GlefordJ.Myers在《TheArtofsoftwareTesting》中是这样定义的:(l)软件测试是为了发现错误而执行的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例在于它能够发现至今未发现的错误;(4)一个成功的测试用例是发现了至今未发现的错误的测试。这个定义强调了软件测试不是为了证明软件功能的正确,而更应该强调是以发现错误为目的。2.1.2软件测试过程模型与软件开发的模型相对应,在软件测试的实践活动中,也形成了几类主要的测试模型。其中以V模型、W模型、H模型等最为著名,下面分别进行比较其优缺点。(1)V模型:V模型是为改进软件开发的效率和效果,由PaulRook提出的。V模型示意图如图2-1:图2-1V模型示意图由图2-1中可知V模型中对软件整个生命周期中的测试活动进行了分级,并与开发过程中的各阶段相对应。V模型的缺陷类似于瀑布开发模型的特点,就是必须严格按照软件的开发步骤进行测试,而实际的开发过程很可能不具备这样的开发条件。所以V模型的主要缺陷在于不能尽早地不断地进行测试。(2)W模型:相对于V模型,为克服V模型的缺陷,演化为W模型,W模型是基于“尽早地不断进行测试”的原则进行的,在软件开发阶段的测试活动尊循IEEEStd1012—1998《软件验证和确认》的原则,W模型示意图如图2-2:用户需求需求分析概要设计详细设计编码单元测试集成测试合格性测试验收测试图2-2W模型示意图W模型要求在软件开发的各个阶段,根据各阶段设计文档通过评审后,确定测试条件,以编写测试用例。W模型和V模型的共同特点之一是把软件开发过程视为需求、设计、编码等一系列的串行活动。软件开发和测试都是一种线性的前后关系,都需要有严格的文档及相应评审通过后才能进入下一阶段,不能支持迭代及变更调整。W模型的优势在于设计软件产品的过程必须与软件的可靠性设计和测试同时进行,能够尽早地不断地进行测试。(3)H模型:为了进一步完善V模型和W模型,更好地表示测试流程的完整性,产生了H模型。H模型示意图如图2-3:用户需求需求分析概要设计详细设计编码验收测试设计合格性测试设计集成测试设计单元测试设计编码编码编码编码验收测试合格性测试集成测试单元测试图2-3H模型示意图从H模型的示意图可以看出,测试流程分为测试准备和测试执行,测试准备活动包括测试需求分析、测试计划、测试设计、测试编码和测试验证,测试执行包括测试运行、测试总结、测试报告。相比于V模型和W模型,H模型的特点如下:软件测试不仅仅包含测试的执行,还应该包括设计等其他活动;软件测试是贯穿软件产品的生命周期,是一个独立的流程,但可以与其他流程并发进行;软件测试活动应该尽早地不断地进行测试;软件测试根据软件开发的各个阶段进行不同层次的测试,但是在实际测试过程中,测试活动可能会出现迭代和反复;H模型中把测试准备和测试执行进行分离,测试准备和测试执行需要按照不同的工作要求来进行,有利于开发人员和测试人员独立工作,从而降低成本,提高效率。2.2软件测试技术研究2.2.1软件测试方式软件测试按照测试方式分为静态测试、动态测试。静态测试:其特点是不执行代码,而对需求规格说明、软件概要设计、软件详细设计等文档进行审查,对源代码根据设计文档进行结构检查、流程图分析、符号执行等找出软件代码的问题。动态测试:通过运行程序对软件进行测试叫动态测试。动态测试按照测试技术分为白盒测试、黑盒测试。2.2.2白盒测试用例技术研究白盒测试是一种结构测试,利用程序结构的实现细节等知识,进行测试用例的设计。进行白盒设计需要事先对软件的内部结构及流程比较熟悉,根据软件的详细设计说明进行追踪,根据程序的接口及内部流程设计测试用例集,检验程序的实现是否满足设计文档的要求。白盒测试用例最常用的技术是代码覆盖率分析,主要包括逻辑覆盖和路径覆盖两部分。2.2.3黑盒测试用例技术研究测试准备测试执行测试就绪点其他流程黑盒测试是根据规格说明规定的内容来设计测试用例,关注程序外部结构,重点针对软件功能进行测试。因此黑盒方法主要是穷举输入的测试方法,只有把所有可能的输入都作为测试用例进行测试,才能进行全部测试。一般常用的测试用例设计方法有等价类划分、边界值分析、错误猜测、因果图法、判定表驱动法、正交试验法、功能图法、场景法等。3网络管理系统的测试方法研究3.1网络系统的测试流程在任何测试活动开始之前,首先需要解决的就是整个测试流程的设计,它可以指导整个测试过程。下面首先分析传统软件测试模型的优缺点,然后结合电信网管系统测试的需要,提出其网管系统的测试模型:传统测试模型的V模型的价值在于它明确地标明了测试过程中的不同级别,并且清楚地描述了这些测试级别和开发过程各个阶段的对应关系。但V模型存在许多不足之处,其中对于电信网管系统的测试而言,它的不足之处主要如下:(1)按照V模型,测试在编码实现之后才进行,容易导致需求阶段隐藏的错误一直到最后验收测试时才被发现,发现和解决这些错误的代价较大。(2)V模型把系统开发和测试过程划分为具有固定边界的不同阶段,使得很难跨过这些边界来采集测试所需要的信息。通过分析上一章介绍的W模型和H模型,在此提出电信网管系统的测试流程应采用这两者的结合。宏观上采用W模型,测试伴随着整个开发周期,从而有利于尽早的发现问题。而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。即先对需求、功能和设计进行测试,再对电信网管系统的程序进行测试。其中,用单元测试验证模块的正确性,然后集成测试验证各模块之间藕合的正确性和健壮性,最后系统测试验证电信网管系统的系统特性,确定是否满足了用户的需求。而在某个测试层次上的一次测试“微循环”,要结合h模型,只要测试准备活动完成,测试执行活动就可以进行了。3.2网管系统的单元测试方法研究在整个测试活动中,单元测试与编码的关系最为紧密,通常在编写出一个模块之后就对它作必要的单元测试,所以单元测试是集成测试和系统测试的基础。单元测试的目的是要验证模块的功能是正确的,且执行路径与设计者的设计意图是相符的因此,单元测试通常是白盒测试,测试工作主要分为两个步骤:人工静态检查和动态执行跟踪。3.2.1人工静态检查人工静态检查是单元测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性、清晰性、规范性、一致性和算法高效性。这种对程序的静态分析方法主要包括代码检查、静态结构分析和代码质量度量等。3.2.2动态执行跟踪动态执行跟踪是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。一般软件的动态执行跟踪通常分为功能测试与结构测试,可分别基于黑盒测试、盒白盒测试方法来设计测试用例。电信网管系统由于考虑到功能的实现与电信设备系统的交互性,以及在MBI规范下可能的多实现流程,对管理功能的实现方法及部分实现流程进行了一致性规定,故在实际测试中我们采用灰盒测试取代纯粹的黑盒测试和白盒测试。下面分别介绍动态执行跟踪的功能测试与结构测试在电信网管系统测试中应该是如何进行的。功能测试功能测试是基于产品的外部功能来规划测试,检查程序各个实现的功能是否符合功能设计规格和要求,并检查其中的逻辑错误。电信网管系统是一个分布式系统,系统中的各个模块不是独立的,而是与其它模块或外界环境有接口联系。有时候模块的输出是正确的,但其内部的处理其实已经错误了,这种情况用黑盒测试是无法发现的,由于在电信网管系统中协同工作的模块众多,数据不一致的可能性就很大。而电信网管系统的管理动作一般都是建立在这些数据之上的,数据的不一致会给电信网管系统带来的很大的隐患。电信网管系统模块的单元测试除了要保证模块的输出是正确的,还要保证模块的数据一致性。这有时就需要其它模块在功能上加以配合才能完成。结构测试一般来说,结构测试主要包括内存分析、覆盖率分析、性能分析等。内存分析可用来发现程序中的内存错误。常见的内存错误主要包括:内存泄漏、内存的错误释放、内存越界、使用内存前未初始化。覆盖率分析主要对代码的执行路径覆盖范围进行评估,语句覆盖、判断覆盖、条件覆盖、判断一条件覆盖、条件组合覆盖、路径覆盖都是从不同要求出发,为设计测试用例提出依据的。在电信网管系统的功能实现过程中,不是所有的路径都能很清晰的划分。这就应该用条件组合的方法进行测试。此外,对于一些核心的算法流程,在用路径测试法走过一遍之后,通常也可以用条件组合的方法在进行抽样测试。所以,我们采用路径覆盖结合条件组合覆盖的覆盖率分析方法,这对于电信网系统来说是最适合的。性能分析属于性能测试的范畴。性能测试可以出现在测试过程的各个阶段。然而,对于电信网管系统,只有将系统中所有的模块都组装在一起,系统性能才能完全确定,不借助其它模块就能完成的性能测试较少。所以,性能测试通常放到单元测试后面的测试活动(如集成测试或系统测试)进行。3.3网管系统的集成测试方法研究单元测试仅仅保证了模块的局部正确性,对于程序结构设计中的错误无能为力;而系统测试一般在整个系统完成之后进行,若此时发现问题,错误难以定位,且改动面大,修改成本高。因此,需要在模块集成的时候进行整体测试以发现可能出现的问题。3.3.1网管系统的集成测试分析一般情况下,集成测试需要分层次,分阶段完成。第一个层次是组件测试。对单个模块进行测试,就像更大的单元测试,为后继测试提供更加好的原料。如果一些组件己经充分被测试过,可以跳过这些组件。第二个层次是做好集成测试规划。这一阶段最重要的是做好关键性分析,找出关键的部分,以此作为主线进行计划和资源安排。第三个层次是按照计划,把集成测试划分成为不同的阶段,明确各个阶段的主要任务,确定任务完成的标记。关键模块的确定在集成测试时,应当先确定关键模块,对这些模块及早测试,在进行回归测试时,也应该集中测试
本文标题:浅析网络管理测试技术相关问题与发展
链接地址:https://www.777doc.com/doc-2311478 .html