(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf_第1页
(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf_第2页
(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf_第3页
(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf_第4页
(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)软件测试方法及在综合网管系统测试中的应用与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学硕士学位论文 摘要 软件开发技术日新月异,但软件的质量和可靠性常常是软件工程中的薄弱环 节。电信网管系统是为电信运营商更好的对电信网及各种设备进行管理而出现的, 系统的软件质量直接影响了电信部门的运营情况,提高网管软件的测试质量,意义 巨大。 本论文在深入研究软件测试理论的基础上,结合实际项目,提出一套软件的系 统测试解决方案。对网管系统的特点进行分析后拟定了一套测试方案,并在功能测 试、性能测试、安装卸载测试、软件升级测试等方面对测试流程及重点技术进行研 究。并在自动化测试方面,针对回归测试提出了一个自动化测试模型。 关键词:系统测试,电信鼹管。性能溅试,测试自动化 w i t ht h eq u i c kd e v e l o p m e n to fs o f t w a r ee n g i n e e r i n g ,t h eq u a l i t ya n ds t a b i l i t y o ft h es o f t w a r eo f t e nb et a k e na st h es o f ts p o t t e l e c o mn e t w o r km a n a g e m e n ts y s t e m i sd e v e l o p e dt oh e l pm a n a g et h et e l e c o mn e t w o r ko re l e m e n t ,a n dt h eq u a l i t yo ft h e s y s t e mh a sd i r e c t l ya f f e c t e dt h er u n n i n go ft e l e c o m m u n i c a t i o no f f i c e ,s o i ti s n e c e s s a r yt oe n h a n c et h eq u a l i t yo ft h en e t w o r km a n a g e m e n ts y s t e mt e s t i n g b yr e s e a r c ho ns o f t w a r et e s t i n gt h e o r y , w ep u tf o r w a r das y s t e mt e s t i n g s o l u t i o no ft h es o f t w a r e b ya n a l y z i n gt h en e t w o r km a n a g e m e n ts y s t e mw em a d ea s y s t e mt e s t i n gs o l u t i o n ,a n dw ed i s s e r t a t et e s t i n gf l o wa n dm a j o rt e c h n o l o g y o f f u n c t i o n a lt e s t i n g 、p e r f o r m a n c et e s t i n g 、i n s t a n ,u n i n s t a ut e s t i n ge t c i na u t o m a t i o n , w ed e s i g n e daa u t o m a t e dt e s t i n gm o d e la i m e da tr e g r e s s i o nt e s t i n g z h a n gs h u o ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f w uk e h e k e yw o r d s :s y s t e mt e s t i n g ,t e l e e o mn e t w o r km a n a g e m e n t , p e r f o r m a n c et e s t i n g , a u t o m a t e dt e s t i n g 声明 本人郑重声明:此处所提交的硕士学位论文软件测试方法及在综合网管系统测试 中的应用与研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研 究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 学位论文作者签名: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,l l j :学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 日期:舯 导师签名:巍劬,7 日期:! ! ! :兰 华北电力大学硕士学位论文 1 1 选题背景及意义 第一章引言 本课题将结合中兴通讯成都研究所的综合网络管理系统的系统测试,对测试理 论进行深入研究,得出一个系统测试方案,并通过学习自动化测试,提出一套自动 化测试的模型。 中国软件业的起步始于2 0 世纪8 0 年代,在信息化建设当中,软件功能薄弱、 漏洞众多等问题频频出现,软件质量理所当然地成为了关注焦点业界专家认为, 不成熟豹软件产品是国内信息化项目失败的一个重要原因,同时,产品质量问题也 将成为软件企业能否继续发展壮大的关键所在。纵观国内和国外的软件产业,技术 上的差距当然是存在的,但更为明显的也是致命的差距就在于产品质量和过程当中 的质量控锚。质量控制越来越依托于公司在产品交付用户之前的测试工作的成败。 软件测试从最初的作为软件开发的附属内容到独立于开发虽然已经有很大的 进步,但是相对软件开发理论的成熟度来讲,测试理论还非常的稚嫩。所以本课题 对测试理论的研究,具有很好的现实意义。 综合网络管理系统通过一个网管工作站对互连的不同网络实施各种管理和控 制,从而实现对整个电信网的综合管理,包括全网故障分析、故障定位、全网性能 综合分析等功能,能够从总体上提高电信企业的全网综合管理水平和管理效果,并 将在新一代的电信网中扮演越来越重要的角色。 由于综合网管主要面向国际市场和国内各专业网的设备和网络管理。需要管理 不同厂商的接入系统和接口,管理大量的不同类型的网元数据,管理全网大量不同 类型的告警信息,并对这些故障进行分析和定位,管理全网大量性能数据并进行综 合分析等功能特点因此对系统的稳定性、及时性和健壮性要求很高。为了保证这 些特点,我们提出了一些测试策略。 1 2 国内外研究动态 相对软件开发理论的成熟度来讲,测试理论还非常的稚嫩。测试行业的兴起, 将会有很大一部分取决于测试理论的成熟度。测试理论的成熟很大程度取决于实 践,将已有的理论应用于实践,从而丰富测试理论。 美国软件质量分析师贺越明说,软件业较发达的国家,软件测试不仅早已成为 华北电力大学硕士学位论文 软件开发的一个有机组成部分,而且在整个软件开发的系统工程中占据着相当大的 比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规 划确定”各占百分之三,“设计”占百分之五,。编程”占百分之七,“测试”占百 分之十五,。投产和维护”占百分之六十七。测试在软件开发中的地位,由此可见 一斑 软件测试在国内企业受重视的程度远远不如国外企业,国外小一些的软件企 业,软件开发与测试人员之比基本上是l :1 ,微软公司更是达到了i :2 。像w i n d o w s 2 0 0 0 操作系统在研发过程中甚至使用了2 5 0 名项目经理、1 7 0 0 名软件开发工程师、 3 2 0 0 名软件测试工程师,软件测试人员规模远超过开发人员的规模。尽管一些国内 大型软件企业开始重视软件人才的合理配置,但有的企业其比例也就只有1 0 :i 自动化测试在微软、i b m 等企业都已经做得很娴熟,但是在国内很少企业能开 展自动化测试,主要原因在于从投入产出的角度来看,在企业能够用手工测试完成 测试的情况下,都尽量减少对自动化测试的投入。归根结底还是测试的发展落后。 但是测试的自动化是测试发展的趋势,随着自动化工具的成熟,测试的自动化程度 会越来越高。 1 3 课题研究内容 该课题以测试的过程改进为出发点,从测试“方法”和测试“技术”两个方面 对测试进行研究。讲述系统测试的整个过程,包括制定测试计划、设计测试、实施 测试、执行测试、评估测试、回归测试以及将测试与开发相融合等内容。另外,对 自动化测试进行研究,对于网管系统如何开展自动化测试提出自己的见解。 图i - 1 软件测试生命周期 软件测试和软件开发是分不开的,软件的整个测试生命周期是与软件的开发生 2 华北电力大学硕士学位论文 命周期基本平齐的过程,见图卜1 。当需求分析基本明确后我们就应该基于需求分 析的结果和整个项目计划来进行软件的测试计划;伴随着分析设计过程同时应该完 成测试用例的设计;当软件的第一个发布出来后,测试人员要马上基于它进行测试 脚本的实现,并基于测试计划中的测试目的执行测试用例,对测试结果进行评估报 告。 系统测试的流程可以用图卜2 表示。 图1 - 2 系统测试的流程 完成 澍试 制定测试计划,主要内容包括;确定和描述要实施和执行的测试。这是通过生 成包含测试需求和测试策略的测试计划来完成的。可以制定一个单独的测试计划, 用于描述所有要实施和执行的不同测试类型,也可以为每种测试类型制定一个测试 计划 设计测试,主要依据需求分析,结合用例设计方法,包括路径分析法、等价类 划分、边界值分析、错误推测、因果图等方法来编写测试用例,每个测试用例的内 容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。 实施测试的目的是实施设计测试过程中定义的测试过程。通过录制或编写脚本 最后生成测试脚本。这个过程不是自动化测试的话就可以省略了。 执行测试是按照设计的用例或脚本对软件进行测试。测试中用到的工具包括 r a t i o n a l 系列的配置管理工具c l e a r c a s e ,测试管理平台t e s t m a n a g e r 和缺陷管理 工具c l e a r q u e s t 。软件版本不断更新,还要进行回归测试。系统测试按不同的侧重 点分为:功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测 试、可靠性测试、安装反安装测试等测试内容。课题将对功能测试、性能测试、 压力测试等几种主要的测试方法进行研究。 评估测试的目的是生成并交付测试评估摘要。这是通过复审并评估测试结果、 确定并记录变更请求,以及计算主要测试评测方法来完成的。测试评估摘要以组织 有序的格式提供测试结果和主要测试评测方法,用于评估测试对象和测试流程的质 3 华北电力大学硕士学位论文 量 测试与开发的融合不仅表现在让测试人员参与用户需求的验证,参加功能设计 和实施设计的审核,测试人员随着开发进展而逐步实施单元测试、模块功能测试和 系统整合测试等内容。9 0 年代以后,软件的规模和复杂程度迅速提高,这种形式上 的融合也迅速走向更深层次,更具实际意义。具体地说这种融合就是整个软件开发 活动对测试的依赖性。现代软件开发的实践证明,不仅软件的质量控制依赖于测试, 开发本身离开测试也将无法推进,项目管理离开了测试也从根本上失去了依据。 自动化测试从长远出发能有效的提高软件测试的效率。自动化测试的过程为: 录制测试过程成为自动化测试脚本;增强和改进录制的自动化测试脚本;执行自动 化测试脚本完成自动化测试。 r a t i o n a lr o b o t 是一个开发较为完善的自动化测试工具,对几乎所有流行的应 用环境多有良好的支持和工作表现。尤其是对象h t m l ,j a v a 和n e t 应用、v i s u a l b a s i c 、p o w e r b u i l d e r 、d e l p h i 、o r a c l e 表单和m f c 控件( 控件最常用在c 和c + + 的 应用中) 有非常强大的支持r o b o t 提供了灵活的和可扩展的脚本语言s q ab a s i c , 可满足专业的测试工程师进行复杂的编程需求。r o b o t 提供了非常灵活的执行测试 脚本的方式,我们可通过r o b o t 图形界面和命令行执行测试脚本,也可从r a t i o n a l t e s t m a n a g e r 按照不同的配置计划在远程机器上的复杂的测试脚本的执行“1 。 1 4 论文主要章节安排 论文的主要章节内容为: 第一章简要介绍了选题背景、意义以及课题主要研究的内容。 第二章对网管系统的特点进行分析,提出系统测试的模型。 第三章对以功能测试流程为主线,重点介绍了功能测试策略、环境设计、用例 设计、测试结果分析等内容。 第四章以性能测试为主线,着重对性能测试场景进行分析,确定性能参数,介 绍测试工具、测试环境,以及测试执行、测试分析。 第五章简单介绍系统测试的其他测试内容。 第六章提出一种系统自动化的框架,对测试自动化进行需求分析并设计一个测 试框架。 4 华北电力大学硕士学位论文 第二章基于j 2 e e 架构的网管系统测试方法的分析 2 1 网管系统系统测试内容 软件测试是软件工程的一个重要部分。从测试的步骤来看,软件测试是由一系 列的不同测试所组成,这些软件测试的步骤分为:单元测试、集成测试、系统测试 和确认测试。 单元测试针对每个模块进行的测试,通常在编码阶段进行,必要的时候要制作 驱动模块和桩模块;集成测试在单元测试的基础上,将所有模块按照设计要求组装 成为系统,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分 析报告;系统测试是在实际运行环境下进行一系列豹溅试;确认测试验证软件的功 能和性能及其它特性是否与用户的要求一致。 系统测试( s y s t e mt e s t i n g ) 是将已经集成好的软件系统,作为整个基于计算机 系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元 素结合在一起,在实际运行( 使用) 环境下。对计算机系统进行一系列的组装测试和 确认测试 系统测试的目的在于通过与系统的需求定义进行比较,发现软件与系统定义不 符合或与之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要 求系统测试的测试用例应根据需求分析说明书来设诗,并在实际使用环境下来运 行。 系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软 件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试 等” 由于综合网管主要面向国际市场和国内各专业网的设备和网络管理,需要管理 不同厂商的接入系统和接口,管理大量的不同类型的网元数据,管理全网大量不同 类型的告警信息,并对这些故障进行分析和定位,管理全网大量性能数据并进行综 合分析等功能特点。因此对系统的稳定性、及时性和健壮性要求很高。为了保证这 些特点,我们在测试中采取了一些测试策略“1 。 从测试的类型来看,测试分为2 种:黑盒测试和白盒测试。 黑盒测试又称为功能测试或数据驱动测试,把系统看成一个黑盒子,不考虑程 序的内在逻辑,只根据需求规格说明书的要求来检查程序的功能是否符合它的功能 说明。 白盒测试又称为结构测试和逻辑驱动测试,允许测试人员对程序内部逻辑结构 5 华北电力大学硕士学位论文 及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。 对于综合网管系统的系统测试来说,更关注的是系统在经过集成之后的功能和 性能,我们主要采用的是黑盒测试法。我们针对系统测试主要采取的测试方法有功 能测试、性能测试、压力测试、安装卸载测试、软件升级测试等。 软件测试的v 模型由p a u lr o o k 在8 0 年代后期提出v 模型是软件开发瀑布模 型的变种,它反映了测试活动与软件分析和设计的关系。v 模型存在一定的局限性, 它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段。 容易使人理解为测试是软件开发的最后的一个阶段。在v 模型中增加软件各开发阶 段应同步进行的测试,被演化为一种w 模型,如图2 - 1 所示。 图2 - l 软件测试的霄模型 w 模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需 求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问 题。以需求为例,需求分析一完成,我们就可以对需求进行测试,而不是等到最后 才进行针对需求的验收测试。测试不仅仅是评定软件的质量,测试还可以尽可能早 地找出缺陷所在,从而帮助改进项目内部的质量。1 。 6 华北电力大学硕士学位论文 2 2 综合网管系统结构特点 2 2 1 综合网管系统层次模型 如图2 - 2 ,整个综合网管分为4 个层次,包含5 个子系统。综合网管平台层次 模型中包含支撑层、框架层和应用层,体现出了从。基础面向对象”一 “j 2 e e ”一 “开发框架”一 “应用”的抽象过程,综合网管有自己的特点,架构设计上要满足 快速开发,快速接入新系统的要求,也需要进行分层抽取以减少应用开发的工作量, 最终达到。应用开发者只关注应用逻辑的目的” 图2 - 2 综合网管模块级分层模型图 1 、j a v a 运行环境子系统( j r e ) 综合网管是基于j a v a 的,j a v a 运行环境包括了j a v a 虚拟机和j d k ( j a v a d e v e l o p m e n tk i t ) ,它处于整个系统的最底层,为上层各模块的运行提供最基础的 服务。 2 、支撑层子系统( i n e ts u p p o r tl a y e r 简称i s l ) 7 华北电力大学硕士学位论文 提供一个大型分布式系统所必需的各种底层支撑功能。这些功能不仅可以用于 网管系统,理论上也可以应用于各类大型分布式的管理系统。综合网管支撑层主要 包括:j 2 e e 应用服务器;j 2 e e 应用服务器的扩展功能;标准网管协议栈;其他一 些通用的开发工具包。 3 、框架层子系统( i n e tf r a m e w o r kl a y e r 简称i f l ) 平台框架层提供了一个网管应用开发所必须的公共软件框架,如f 口、安全、 界面主框架等,这些对于综合网管而言仍然是必须的,不过仅仅有这些模块对综合 网管的开发是不够的,综合网管需要在平台框架的基础上抽象出满足综合网管系统 管理特点的软件框架。 4 、应用层子系统( i n e ta p p l i c a t i o nl a y e r 简称i a l ) 拓扑、告警、性能这几个模块平台提供了应用层的部分实现,综合网管需要在 此基础上二次开发,定制完成满足综合网管要求的模块,另外综合网管还需要补充 资源管理、网管网管理等模块。 5 、a p i 和工具子系统 a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 和工具子系统横跨支撑、框架和应 用三个层次,在逻辑上这三个层次都依赖于a p i 和工具,通过a p i 的抽取,将各模 块对外的接口和逻辑实现分离,不仅做到了各模块的解藕,更重要的是把各种接口 有效的控制起来,使得系统采用面向接口的开发成为可能。工具部分主要是放置一 些各层次模块开发需要的公共工具,比如组件库等。 2 2 2j 2 e e 分析和测试技术 j 2 e e 全称为j a v a , 7 p l a t f o r m , e n t e r p r i s ee d i t i o n ,它为基于分布式的和基 于组件的软件开发提供了一个“操作系统”,j 2 e e 规范定义了新型分布式应用程序 体系结构,解决了n 层应用程序开发的许多问题。 j 2 e e 是一种技术规范,它给开发人员提供了一种工作平台,它定义了整个标准 的应用开发体系结构和一个部署环境。在这个体系结构中,应用开发者的注意力集 中在封装商业逻辑和商业规则上,一切与基础服务相关的问题以及低层分配问题都 由应用程序容器或者服务器来处理。结果,j 2 e e 应用程序开发人员可以集中考虑应 用程序的逻辑和相关的服务,而把所有基础结构相关豹服务交由运行环境实现。 基于j 2 e e 构架系统真正需要实现的是业务逻辑,而对于j 2 e e 应用服务器则是 有中间件厂商提供,其质量由中间件厂商保证。而其服务器端一般会分成不同的模 块去实现不同的功能,而对于这一部分,就需要编写不同的测试用例以完成对其测 试。 8 华北电力大学硕士学位论文 j 2 e e 项目的开发周期包括三个阶段:组件开发阶段、组装阶段和部署阶段。三 个阶段分别对应单元测试、集成测试、系统测试和确认测试。对应关系见图2 - 3 所 示。 图2 - 3j 2 旺项目开发测试图 对于j 2 e e 项目来说,单元测试的目的是对软件开发单元进行测试,帮助开发 人员构造足够健壮和正确的组件;测试的对象是j 2 e e 项目的每个组件,比如一个 s e r v l e t ,一个e j a ( e n t e r p r i s ej a v a b e a n s ) 等”1 。 集成测试是在单元测试的基础上将所有模块按照软件设计要求组装成为子系 统或者系统,进行测试;它测试的对象是模块间的接口;关注的重点是各个模块接 口和整体体系结构。 系统测试是指当j 2 e e 项目被部署到了实际的运行环境之后,根据软件的需求 和设计说明对其进行功能、性能、安全佳等测试;它测试的对象是整个系统以及与 系统交互的硬件和软件平台。 系统测试的一个重点是性能测试性能测试的目的就是在运行环境下测试该 j 2 e e 应用程序是否能满足用户的需求。由于j 2 e e 应用程序组成结构的特殊性,它 其中的某些因素的选择与否直接影响了该程序的性能。比如e j b 当中b e a n 种类的 选择使用,设计模式的选择,j v m ( j a v av i r t u a lm a c h i n e ) 的选择等等。因此,我 们通过模拟使用环境测试j 2 e e 应用程序的性能,得到实际数据,分析比较后可以 更好的改善该j 2 e e 应用程序的实际性能,使它能够更好的满足用户的需求”1 。 2 3 综合网管系统业务特点 综合网管系统是基于i t u - t ( 国际电信联盟远程通信标准化组) 提出的电信管理 网( t m n ) 信息模型开发的电信网管系统t m n 是独立于电信网络而专职进行网络管理 9 华北电力大学硕士学位论文 的网络。其基本概念是将网络管理从原作为设备的从属功能中剥离出来成为一个独 立的功能实体,利用一个具备一系列标准接口的统一体系结构提供一个网络结构, 使得各类不同的网管系统与电信设备互联,实现电信网络管理的标准化和自动化并 提供丰富的管理功能,既降低了网络q 删成本,又促进网络和业务的发展及演变嘲。 t m n 管理功能利用o s i 系统管理功能并对其有所拓宽,根据应用范围的不同共 分为五类,即性能管理、故障管理、配置管理、帐务管理和安全管理。每一类管理 功能的范畴又可以分出许多子功能集一个t 删系统应该配置怎样的管理功能则取 决于所需要的管理业务,与不同的电信设备相关。 2 4 系统测试模型 综合网管系统采用迭代方式开发,如图2 - 4 所示。是指每次只设计和实现系统 的一部分,逐步完成的方法,每次设计和实现一个的一个阶段叫做一个迭代。一个 迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集, 它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。 图2 _ 4 迭代开发模型 迭代式增量开发为业务提供了超越传统的瀑布式开发方案所提供的更多的优 点。这包括增强的可预测性,减小了上市时间,更高的质量,增强了项目灵活性以 及生产效率。这将从根本上改变项目业务工作,从需求捕获方法直至进展评估产生 影响,更重要的可能是项目本身被投资的方法。 通过迭代使软件开发把原来的整个软件开发生命周期分成多个迭代周期,在每 个迭代周期都进行测试,这样在很大程度上提前了软件系统测试发生的时间,这可 以在很大程度上降低项目风险和项目开发成本。在迭代化的方法中,我们将整个项 目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一 个定义明确的阶段性评估标准“1 1 0 华北电力大学硕士学位论文 迭代就是为了完成一定的阶段性目标而从事的一系列开发活动,在每个迭代开 始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划,而且每个迭 代中都包括需求、设计、编码、集成、测试等一系列的开发活动,都会增量式集成 一些新的系统功能。通过每次迭代,我们都产生一个可运行的系统,通过对于这个 可运行系统的测试来评估该次迭代有没有达到预定的迭代目标,并以此为依据来制 定下一次迭代的目标。 如图2 - 5 所示,采用连续测试的软件成功测试经验,不但能够持续的提高软件 质量、监控质量状态,同时也使系统测试的尽早实现成为可能。从而有效的控制开 发风险、减低测试成本和保证项目进度。 图2 - 5 系统迭代测试 由此可见,在迭代式软件开发的每个迭代周期我们都会进行软件测试活动,整 个软件测试的完成是通过每个迭代周期不断增量测试和回归测试实现的。 1 1 华北电力大学硕士学位论文 第三章综合网管系统功能测试 这一章从测试策略、测试环境设计、测试用例的设计、测试执行、测试结果分 析等方面对功能测试进行具体介绍。 3 i 功能测试内容及策略 3 1 1 测试内容 测试内容主要为:功能回归,故障回归,新增需求等所包含模块主要有:拓 扑管理、安全管理、报表管理、告警管理、系统管理。 测试用例使用t e s t m a n a g e r 来进行管理,故障缺陷用c l e a r q u e s t 管理,而系 统功能需求用r e q u i s i t e p r o 管理。 3 1 2 测试策略 测试时,要明确测试的观测点。主要有以下几个地方: 客户端界面、数据库和下级网管的数据,可以通过比较这三处的数据是否一致, 检查系统功能点的准确性。如下级网管数据更新上报综合网管后检查这三处的数据 是否相同,可通过客户端界面、数据库和下级网管的数据比较进行。 综合网管与下级网管的接口,对该接口观测点的验证,可以通过对下级网管或 真实设备和综合网管上报的数据正确性进行检查,验证该接口操作处理的正确性。 如在下级网管接入综合网管时,检查下级网管上报的数据和接入网管的数据是否一 致。 综合网管和上层应用的接口,如运营分析系统的接口,可通过对综合网管上报 的数据和运营分析系统获取的数据正确性进行检查,验证该接口操作处理的正确 性。可利用c o r b a ( t h ec o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ) 接口工具 验证这些接口处理的正确性。 测试时需要考虑各种异常情况、测试系统的健壮性和稳定性。例如需要考虑的 因素有: l 、客户端与服务端的网络连接中断。 2 、服务端与数据库的网络连接中断。 3 、进行多个客户端并发操作。 4 、接口机与服务端的网络连接中断。 1 2 华北电力大学硕士学位论文 5 、下级网管退出时各模块的反应 6 、网络不稳定,主要考虑时断时通的情况。 7 、网络带宽窄,主要考虑测试1 2 8 k 和6 4 k 两种情况。 8 、内存泄漏,考虑基本不重启服务器,每天定时记录服务器端r u n s h 进程的 内存消耗 3 2 测试环境设计 在测试功能阶段,采用单i n e t 服务器、多客户端、单n e f 模拟器、测试框架 和j f c u n i t 的基本测试模型进行测试,验证各个模块功能、二次开发接口和a p i 函 数的正确性。测试模型图和软硬件环境如表3 - i 所示 表3 - i 测试软硬件环境 ”硬件条伟( 鬟低配置, ” 操作系统及其艋攀7 ”数据库配置版本、其它软件环境 名穰。 。 c 即洲h 哮,。j 馐自溅黔。、 ;。擐低配黪。 ,馕低配勤 服务器 一台 j d 暇1 4 ,j b o s s 耵删略环境 p c 但i v l 8 g 6 0 g ) w i n d o w s 2 0 0 0p r o f e s s i o n a l 啦r r 2 咖或其他应用服 ( 包括 | i n d h s 2 0 0 0 f 2 娴3s e r v e r 务器 s e r v e r ) j d k t 4 、b o s s 客户端p c ( p 4 1 7 g 5 1 2 m 4 0 g ) | i n d o w s 2 0 0 0p r o f e s s i o n a l无或其他应用服 务嚣 w i n d o w s 2 0 0 0p r o f e s s i o n a l 脚【1 4 、5 b o s s n e f 模拟霉 p c 巾4 1 7 g 5 1 2 m 4 0 g )无或其他应用服 w i n d o w s 2 0 0 0 2 0 0 3s e r v e r 务器。 3 3 测试用例的设计 测试用例( t e s tc a s e ) 是为某个特殊目标而编制的一组测试输入、执行条件以 及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例比较 通常的定义是;指对一项特定的软件产品进行测试任务的描述,体现测试方案、方 法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、 测试脚本等“”。 测试用例由主体部分、测试用例相关信息( 说明、附件等) 和跟踪、管理所需的 各种内容组成;测试用例的主体部分包括“测试逻辑”和。测试数据”;等价类划 分、边界值分析等方法主要用于测试数据的设计;测试逻辑主要包括测试的前提条 件、操作步骤和预期结果等;测试逻辑主要通过场景分析来设计。通过这种方式设 华北电力大学硕士学位论文 计的测试用例,逻辑和数据分离,用例逻辑清晰,内容简洁易理解,也有利于转化 成自动化测试脚本。 3 3 1 综合网管系统的用例设计过程 综合网管系统的测试用例主要是针对软件产品的功能、业务规则和业务处理所 设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试 用例,测试用例是在t e s t m a n a g e r 上编辑和管理的。 我们在设计测试用例时的总体依据是综合网管系统的需求分析和软件设计等 文档,通过这些来确定测试用例的设计策略、设计用例的表示方法和组织管理形式 等问题 以告警功能中告警计数低于设定阈值这个用例为例: 测试名称:告警计数低于设定阙值测试 测试编号:s r - f - i n e t f m - 0 1 2 0 测试目的:测试告警频率低于设定阈值时的规则是否正确。经过告警频率统计 后,若某一告警的发生频率低于设定的阈值,则不产生新告警,在下一周期中重新 开始统计。 前置条件( p r e c o n d i t i o n s ) :网管s v r 和c l t 、n e f 都正常启动。 测试步骤: l 、进入告警管理视图。 2 、设置希望进行频率统计的告警码。 3 、设置频率统计的时间。 4 、用n e f 模拟器向系统持续的发送菜一指定告警码的告警滇息。 5 、设置一个频率限定阈值,使其高于告警消息实际发送的频率。 6 、查看告警实时监控页面。 7 、到达设定时间后,注意告警实时监控中有没有新产生的提醒用户注意的告 警。 通过准则( a c c e p t a n c ec r i t e r i a ) :到达设定时间后,告警实时监控中没有新 产生的提醒用户注意的告警。 后置条件( p o s t c o n d i t i o n s ) :清除发送的测试告警( 或引导系统为随后的测试 回到一个已知状态中) ( i l l 。 为了使项目更规范,我们用t e s t m a n a g e r 编辑测试用例,在测试计划窗口中, 右键点击一个测试用例文件夹。点击i n s e r tt e s tc a s e 。在n e wt e s tc a s e 这个编 辑框中( 参见图3 2 ) ,输入用例名称( n a m e ) ,用例描述( d e s c r i p t i o n ) 。 1 4 华北电力大学硕士学位论文 图3 2n e wt e s tc a s e 图 点击d e s i g n 按钮进入d e s i g ne d i t o r ( 参见图3 - 3 ) ,使用d e s i g ne d i t o r 来包 含测试步骤和检验点,它们应当被包含在测试脚本中。 图3 3d e s i g ne d i t o r 图 n e wt e s tc a s e 中的i m p l e m e n t a t i o n 页面中( 参见图3 4 ) ,前置条件 ( p r e c o n d i t i o n s ) 和后置条件( p o s t c o n d i t i o n s ) 为测试执行者提供信息。他们描述 华北电力大学硕士学位论文 在一个操作开始或结束时必须是准确的系统约束,可接受标准( a c c e p t a n c e c r i t e r i a ) 表明为一个特殊测试用例需要被明确的东西,用以该测试用例的通过。 这些在n e wt e s tc a s e 的另外一个标签页中进行标注。 3 。3 2 测试输入数据的确定 图3 4 用例属性图 软件测试用例设计中确定测试输入数据的方法包括:等价类划分、边界值分析、 因果图法、错误推测法、场景设计法等。确定测试输入数据在设计测试用例时是非 常重要的一步。等价类,边界值,错误推测法这三种软件测试输入数据的方法是我 们在写综合网管测试用例的过程中最常用的方法。 1 、等价类划分( e q u i v a l e n c ep a r t i t i o n i n g ) 就是将输入数据分成有效等价类( v a l i de q u i v a l e n c ec l a s s e s ) 和无效等价类 ( i n v a l i de q u i v a l e n c ec l a s s e s ) 两部分,由于穷举输入测试一个程序是不可能的, 所以在测试中就在两类中选择代表性的数据进行测试,看程序是否通过。等价类划 分和边界值分析两个方法往往是同时使用的。 我们在综合网管测试中经常用到这种方法,在m s sa m o 创建的测试用饲中, 1 ) 登录客户端; 华北电力大学硕士学位论文 2 ) 在客户端界面上进入“拓扑管理”页面,选择“物理视图”; 3 ) 在物理视图的根节点上点击鼠标右键,在弹出的右键菜单上选择“创建a m o ” 子菜单,根据系统弹出的a m o 创建窗口输入相关参数并点击确定按钮; 重复上述1 ) 至3 ) 操作,在系统弹出的a m o 创建窗口中输入不合法的参数( 如a m o 的名称包括“;”号或i p 地址大于2 5 5 或参数过长等) 并点击确定按钮,系统提示 “相应参数输入错误”信息,并给出错误原因的相应信息。 上述输入的不合法参数就属于a m o 创建中的无效等价类。 2 、边界值分析( b o u n d a r yv a l u ea n a l y s i s ) 关注的是处于有效等价类和无效等价类的边界的值下面告警手工前转到短信 的测试用例中用到手机号码的输入,因为手机号码规定是6 到1 3 位,所以5 、6 、 1 3 、1 4 都是边界值。 测试目的:测试告警手动前转功能是否正常实现。 预置条件: 配置u m s s v r p l a t f o r m k e r n e l e x t c o n f f m u e p - c a f - f m - s m t p - c o n f i g x m l 中s m t p h o s t 选项。正常启动系统服务器端和客户端。 测试步骤: 1 ) 配置u m s s v r p l a t f o r m k e r n e l e x t c o n f f m u e p - c a f - f m - s m t p - c o n f i g x m l 中s m t p h o s t 选项; 2 ) 进入告警实时监控或者某一个查询页面; 3 ) 选中某一告警消息,点击鼠标右键,选择手工前转到短信菜单项; 4 ) 填写好目的手机号码或从联系人中选择手机号码; 重复2 至4 操作,在输入手机号码时输入位数为5 、6 或1 3 、1 4 ,看系统 有没有报错。 5 ) 点击发送按钮; 6 ) 判断该邮件是否被接收者成功收到。 通过准则:发送后系统不能报异常信息。转发的邮件必须正确发送到目的地址。 如果不能发送到目的地,那么可能是本系统的原因。 3 、错误推测法( e r r o rg u e s s i n g ) 就是根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设 计测试用例的方法基本思路:列举出程序中所有可能有的错误和容易发生错误的 特殊情况,根据他们选择测试用例。 例如综合网管在写每个测试用例的时候就会有针对性的考虑到一些异常: l 、中断客户端与服务端的网络连接 1 7 华北电力大学硕士学位论文 例:在创建a m o 时中断客户端与服务端的网络连接,系统提示“创建a m o 失败, 请检查网络连接是否正确”信息。 2 、中断服务端与数据库的网络连接 例:在告警清除时中断服务端与数据库的网络连接,系统提示“告警清除失败, 请检查网络连接是否正确”信息。 3 、进行多个客户端并发操作 例:启动多个客户端并发同时进行配置g s m 操作,最先获取创建权限的用户能 够进行g s m 配置操作,其他用户在进行配置g s m 操作时系统提示。已有用户在进行 配置g s m 操作,只能进行查看g s m 操作”信息。同样,其他用户也不能进行删除、 修改、激活、去激活、锁定、同步和采集操作。 4 、中断接口机与服务端的网络连接 俄;在手工定时同步告警信息时中断下级网管与服务端的网络连接,系统提 示。手工同步失败,请检查网络连接是否正确”信息。 5 、退出接口机 例:退出下级网管,在拓扑图和告警视图上级检查该下级网管对应a m o 的状态 是否全部异常,所有链路状态是否为故障。 6 、网络不稳定,主要考虑时断时通的情况 例:在配置数据同步过程中网络不稳定或时断时通的情况下,系统提示“网络 故障,请检查网络连接是否正确”;在配置数据同步成功后检查数据的完整性( a , 在拓扑视图上显示正确;b ,发送和接收的数据大小是否一致,可以通过模拟器的 计数统计功能完成) 7 、网络带宽窄,主要考虑测试1 2 8 k 和6 4 k 两种情况 例:在告警数据同步过程中网络带宽窄的情况下,系统提示“系统忙,同步失 败”;在告警数据同步成功后检查数据的完整性( a ,在告警视图上显示正确:b ,发 送和接收的数据大小是否一致,可以通过模拟器的计数统计功能完成) 。 3 4 测试执行 用t e s t m a n a g e r 执行测试用例后,根据用例执行结果,提交b u g ( 即缺陷) 到 c l e a r q u e s t 。 c l e a r q u e s t 是r a t i o n a l 的缺陷管理工具,它对缺陷处理流程进行有效的管理, 使软件测试过程更加规范。c l e a r o u e s t 的缺陷管理流程如图3 5 所示。 整个流程涉及到三个角色:测试人员、b u g 管理人员和开发人员。对三个角色 的任务描述如下。 1 8 华北电力大学硕士学位论文 测试人员 : b u g 管理人员 ! 开发人员 i 【l 新建 卜提交一 l 已提交f - 指派一 叫已指派卜一 指派 善i 延迟延迟 7 l 竺竺_ j i打 i 拒绝 。l。t m li拒绝 l= :=r f 井 处理 消广i a l 堋 l 一 。l 由! i 广= := ll 图3 5 缺陷管理流程图 1 、测试人员发现b u g ,点击工具栏的“n e wd e f e c t ”,填写b u g 信息,此时b u g 的状态系统设置为“s u b m i t t e d ”,即为“已提交”状态。完成后点击“o k ”按钮。 2 、一个b u g 被发现并提交后,缺陷管理人员需要将它指派( a s s i g n ) 给相关的 开发人员查看。点击“a c t i o n s ”中的“a s s i g n ”,此时b u g 的状态为“a s s i g n e d ” ( 已指派) 。 3 、b u g 被指派后,开发人员将被邮件通知也可以主动通过t e s t o u e r i e s 查询。 查找到b u g 后,程序员打开查看,点击“a c t i o n s ”中的“打开”,此时b u g 的状 态为“已打开”。 4 、经过一段时间的修改,测试人员提出的b u g 被开发人员处理。这时候,开 发人员需要修改b u g 的状态。点击“a c t i o n s ”中的“解决”,填写解决方案,选择 验证b u g 的测试人员,点击“a p p l y ”,b u g 状态为“已解决” 5 、测试人员负责结束b u g 的生命周期,点击“a c t i o n s ”中的“测试成功”, 华北电力大学硕士学位论文 填写相应信息,点击“a p p l y ”。在一般情况下,b u g 的生命周期就此结束。该b u g 状态为。已关闭乙如果该b u g 没有通过测试,点击。a c t i o n s ”中的“测试失败”, 填写相应信息,点击“a p p l y ”。该b u g 变为“己打开”状态。 6 、b u g 管理人员也可对已提交的b u g 进行拒绝操作。点击“a c t i o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论