(信号与信息处理专业论文)基于rft的视频监控系统测试框架研究与实现.pdf_第1页
(信号与信息处理专业论文)基于rft的视频监控系统测试框架研究与实现.pdf_第2页
(信号与信息处理专业论文)基于rft的视频监控系统测试框架研究与实现.pdf_第3页
(信号与信息处理专业论文)基于rft的视频监控系统测试框架研究与实现.pdf_第4页
(信号与信息处理专业论文)基于rft的视频监控系统测试框架研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

南京邮电大学 硕士学位论文摘要 学科、专业:信息与通信工程信号与信息处理 研究方向:图像处理与多媒体通信 作者:杜娟 指导教师:卢官明 题目:基于r f t 的视频监控系统测试框架研究与实现 英文题目:r e a s e a r c ha n di m p l e m e n t a t i o no fr f t - b a s e dt e s t i n g f r m e w o r kf o rv i d e os u r v e i l l a n c es y s t e m 主题词:自动化测试工具,视频监控系统,自动化测试,测试框架, 测试脚本 k e y w o r d s :r f t ,v i d e os u r v e i l l a n c es y s t e m ,a u t o m a t e dt e s t i n g , t e s t i n gf r a m e w o r k , t e s ts c r i p t s 南京邮电大学硕士研究生学位论文 摘要 摘要 视频监控系统是安全防范系统的组成部分,视频监控的测试集中于平台界面配置客户 端和服务器环境,操作客户端执行实况、轮切、g i s 地图、数字矩阵等业务操作,实际上 是基于界面的g u i 控件测试。因此,要将自动化测试应用于视频监控系统,主要是使之模 拟人的行为,执行这些业务,对基本功能、业务组合、系统性能和异常情况进行测试。 随着计算机技术的发展,自动化测试技术被越来越多的使用在软件测试中。自动化测 试最突出的优点是高效,但如果脚本组织技术不当,脚本的维护工作量将急剧增加。 本文以某r r 企业视频监控项目为背景,设计和实现了一个易维护、易扩展、易使用的 多层次的自动化测试模型,主要完成了以下工作:( 1 ) 介绍了软件测试的基本概念,同时 分析了视频监控系统的结构和业务流程;( 2 ) 介绍了自动化测试的特点和实施步骤,重点 分析了视频监控系统测试内容与测试方法;( 3 ) 结合实际项目中的软件自动化测试的实践, 设计了一个高效的自动化测试框架,以功能为单位对测试的执行过程进行了划分:( 4 ) 结 合实际测试项目,分析和总结了r f t 的关键技术,并结合脚本技术详细阐述了整个测试框 架的实现过程。在后来的实践中证实,该设计和实现大大减少了测试工程师的工作量并 使测试结果清晰明了。 关键词:砒呵,视频监控系统,自动化测试,测试框架,测试脚本 南京邮电大学硕士研究生学位论文 a b s t r a c t a bs t r a c t v i d e os u r v e i l l a n c es y s t e mi sa ni n t e g r a lp a r to fs e c u r i t ys y s t e m s ,a n dv i d e os u r v e i l l a n c e t e s t i n gi si nf a c tt h eg u it e s t t h e r e f o r ea u t o m a t e dt e s t i n go fv i d e os u r v e i l l a n c ei sp r i m e l yt o s i m u l a t eh u m a nb e h a v i o r , i m p l e m e n t et h eb a s i cf u n c t i o n st e s t , c o m b i n e dt e s t , p e r f o r m a n c et c s t , a n da b n o r m a lt e s t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , a u t o m a t e dt e s t i i 培t e c h n i q u e sa r e i n c r e a s i n g l yb e i n gu s e di ns o f t w a r et e s t i n g t h em o s tp r o m i n e n ta d v a n t a g eo fa u t o m a t e dt e s t i n g i se f f i c i e n c y i nt h i sp a p e r , am u l t i l e v e la u t o m a t e dt e s tm o d e li sd e s i g n e da n di m p l e m e n t e db a s e do n v i d e os u r v e i l l a n c ep r o j e c to fa ni te n t e r p r i s e ,w h i c hi se a s yt om a i n t a i n , e x p a n s e ,a n du s e t h e m a i nc o n t r i b u t i o n sa r ea sf o l l o w s : ( 1 ) t h eb a s i cc o n c e p t so fs o f l w 玳t e s t i n ga r e 洫r o d u c o a , t h es t r u c t u r ea n db u s i n e s s p r o c e s s e so fv i d e os u r v e i l l a n c es y s t e ma r ea n a l y s e d ( 2 ) r h cf e a t u r e sa n di m ! p l e m e n t a a o ns t e p so f a t m m m t e dt e s t i n ga r ed e s c r i b e d , 如啦o l l l y z h 培t h ec o n t e n to fv i d e os u r v e i l l a n c es y s t e mt e s a 鹪a n d t e s tm e t h o d s ( 3 ) c o m b i n e d 嘶mt h ea u t o m a t e dt e s t i n gp r a c t i c e s o fa c t u a l f i 撇p r o j e c t s ,a h i g h l y - e f f i c i e n ta u t o m a t e dt e s t i n gf i a m e w o r ki sd e s i g n e d 耵1 ef u n c t i o n a lu n i t so ft h et e s t i n g p r o c e s so fi m p l e m e n t a t i o ni sd i v i d e d 1 1 地f r a m e w o r kf o rt h er e a l i z a t i o no ft h ee n t i r et e s t i n g p r o c e s s i sd e t a i l e dc o m b i n e dw i t hs c r i p t i n gt e c h n o l o g y ( 4 ) c o m b i n e dw i t ht h ea c t u a lt e s ti t e m s ,r f r sk e yt e c h n o l o g i e sa r ea n a l y z e d , c o n f i r m i n g t h a tt h e s et e c h n i q u e sg r e a t l yr e d u c et h ew o r k l o a do ft e s te n g i n e e r s ,m a k et e s tr e s u l t sc l e a ra n d a p p a r e n t k e y w o r d s :肿,v i d e os u r v e i l l a n c es y s t e m ,a u t o m a t e dt e s t i n g ,t e s t i n gf r a m e w o r k , t e s ts c r i p t s 南京邮电大学硕士研究生学位论文 目录 目录 i 2 ij i 兽】 a b s t r a c t l ;i 录 第一章绪论1 1 1 本课题的研究背景和意义l 1 2 软件测试的基本概念2 1 3 视频监控系统介绍3 1 3 1 系统介绍。4 1 3 2 组网方案介绍一4 1 3 3 系统结构介绍 1 3 4 业务流程介绍 1 4 本文的章节安排 第二章软件自动化测试概述 2 1 自动化测试概述 4 6 7 9 2 1 1 自动化测试介绍9 2 1 2 自动化测试的进展。1 0 2 1 3 自动化测试的优势10 2 1 4 自动化测试面临的困难1 l 2 2 自动化测试的研究内容一1 2 2 3 自动化测试的要点以及实施步骤1 3 2 4g u i 测试自动化15 2 4 1g u i 测试自动化之对象识别1 6 2 4 2g u i 测试自动化之模拟操作1 6 2 4 3g u i 测试自动化之测试结果。1 6 2 4 4g u i 测试自动化之日志记录1 7 2 5 视频监控系统测试1 7 2 5 1 视频监控系统测试内容和测试策略1 8 2 5 2 自动化测试在视频监控系统中的应用2 l 2 6 本章小结。2 2 南京邮电 第三章 3 3 设计自动化测试框架的原则2 5 3 4 自动化测试框架功能概述与模块划分2 6 3 5 视频监控系统自动化测试框架设计2 8 3 5 1 系统体系框架设计概述2 8 3 5 2 系统测试框架的设计。2 9 3 5 3 多层次脚本结构的设计3 0 3 6 本章小结3 6 第四章基于r f t 的视频监控系统自动化测试的实现3 7 4 1r f t 自动化测试工具介绍3 7 4 1 1r f t 概述3 7 4 1 2r f t 工具的构成o 4 0 4 2r f t 验证点的实现 4 3r f t 数据驱动的实现 4 4r f t 脚本记录的实现 4 5r f t 异常处理的实现 4 6 本章小结 4 3 4 5 鹞 5 0 第五章总结与展望5 1 5 1 主要工作总结一51 5 2 进一步工作的展望。5 2 致谢j 5 3 参考文献5 4 攻读硕士学位期间发表的学术论文5 7 i v 南京邮电大学硕士研究生学位论文 第一章绪论 本章介绍了软件测试的一些基本概念,同时分析了视频监控系统的结构及业务流程。 在深入分析国内外软件测试技术的发展和特点的基础上,提出了本课题的来源与研究意 义。在本章最后,介绍了本文的组织结构。 1 1 本课题的研究背景和意义 视频监控系统是安全防范系统的组成部分。近年来,随着计算机、网络以及图像处 理、传输技术的飞速发展,视频监控技术也有长足的发展,它的质量控制也进入了越来 越重要的领域,甚至被视为一个新产品的生命。对于质量控制的实施,测试是其中的重 要环节。现在的测试已经脱离了原来意义上的产品研发出来之后的功能性测试,它进入 到了整个产品研发过程中的各个环节l ,将直接关系到整套产品的开发周期、开发成本 和质量保证作为视频监控测试的一个重要分支,自动化测试正以其自动化程度高、实 用性强、测试效率高、测试可靠性强等不可取代的优点 2 1 ,引起了广泛关注,成为视频 监控产品的主要测试方向。 r f t ( r a t i o n a lf u n c t i o n a lt e s t e r ) 是i b m 公司推出的一款功能测试工具,是一款先进 的、完全面向对象和跨平台的、基于图形化用户界面的自动化测试和回归测试工具阿。 其支持对j a v a 、n e t 和w e b 应用程序可视化组件的自动化测试,可以运行于w i n d o w s 和l i n u x 系统,并且为测试人员提供了和开发人员同样的基于e c l i p 的集成操作平台。 它可以通过p r o x y 来对g u i 进行获取和控制,而r a t i o n a lf u n c t i o n a lt e s t e rp r o x y s o i t w a r e d e v e l o p m e n tk i t ( p r o x ys d k ) 正是砌玎提供给用户的接口,使用户扩展所能被砌丌自动 化控制及支持的g u i 组件的p r o x y 对象。这样就使砒叮脚本开发人员在测试过程中能更 好的控制被测试组件,并且在功能测试脚本的录制过程中,可以方便选择被测应用图形 界面上的各种被测对象进行参数化,通过生成新的数据池字段或从数据池中选择已存在 数据字段,实现数据驱动的功能回归测试。这对视频监控平台的模拟测试、压力异常、 频繁上下线等异常性能的特性测试起到了极为重要的作用。除此之外,r f t 所包含的测 试s a p 、s i e b e l 和基于终端的应用程序的功能等使得它能方便地在一个测试工具中测试 较多的应用程序,测试脚本的易用性和可维护能力强。 1 南京邮电大学硕士研究生学位论文第一章绪论 视频监控的测试是集中于平台界面配置客户端和服务器环境,操作客户端执行实况、 轮切、g i s 地图、数字矩阵等业务操作,实际上是基于界面的g u i 控件测试。因此,要 将自动化测试应用于视频监控,主要是使之模拟人的行为,执行这些业务,对基本功能、 组合、性能和异常进行测试。综合考虑,本文提出基于测试工具r a t i o n a lf u n c t i o n a lt e s t e r , 构建以软件为核心的模块化系统架构,缩短开发周期,提高测试效率,实现测试过程的 完整性和正确性,从而增强监控产品的可靠性与稳定性。 本课题源于杭州华三通信技术有限公司( h 3 c ) 与南京邮电大学的横向合作课题, 合作研制开发p 网络视频监控系统的项目。本课题的视频监控系统解决方案顺应技术发 展趋势,基于口网络,采用标准、开放、高质、可靠的口技术,视音频数据全部采用 数字化方式在口网络上高速传输,拓宽了该领域的研究,促进了安防事业的发展,在保 障人民安全方面发挥了重要作用。 1 2 软件测试的基本概念 软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否 符合开发之前所提出的一些要求软件测试的目的,第一是确认软件的质量,其一方面 是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件 第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信 息。第三,软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程 4 1 。如 果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷 的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的f 5 忉。 软件质量是由几个方面来衡量的: ( 1 ) 在正确的时间用正确的方法把一个工作做正确。 ( 2 ) 符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目 工程中的可维护性、可测试性等要求。 ( 3 ) 质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并 不代表软件的高质量【8 】。 ( 4 ) 质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就 是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程 中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。 在软件测试方面,v 模型是最广为人知的模型,如图1 1 所示,在v 模型中,单元测试 2 南京邮电大学硕士研究生学位论文第一章绪论 是基于代码的测试,最初由开发人员执行,以验证其可执行程序代码的各个部分是否已达 到了预期的功能要求 9 - 1 1 1 。 集成测试验证2 个或多个单元之间的集成是否正确,并有针对性地对详细设计中所定 义的各单元之间的接口进行检查【1 2 1 。 在所有单元测试和集成测试完成后,系统测试开始以客户环境模拟系统的运行,以验 证系统是否达到了在概要设计中所定义的功能和性能。 最后,当技术部门完成了所有测试工作后,由业务专家或用户进行验收测试,以确保 产品能真正符合用户业务上的需要。 综上所述,我们可以得出软件测试的基本概念:软件测试是贯穿整个软件开发生命周 期、对软件产品( 包括阶段性产品) 进行验证和确认的活动过程,其目的是尽快尽早地发现 在软件产品中所存在的各种问题【1 3 - 1 5 1 。 需求分析 概要设计 详细设计 1 3 视频监控系统介绍 验收测试 系统测试 集成测试 编码单元测试 图1 - 1 软件测试v 模型 视频监控系统是安全防范系统的组成部分。近年来,随着计算机、网络以及图像处理、 传输技术的飞速发展,视频监控技术也有长足的发展。笔者的自动化测试基于的视频监控 3 南京邮电大学硕士研究生学位论文第一苹绪论 系统解决方案顺应技术发展趋势,基于口网络,采用标准、开放、高质、可靠的m 技术, 视音频数据全部采用数字化方式在m 网络上高速传输,用户可以从网络上的任意地点查看 系统中任意一台摄像机的实时图像和历史图像,提供系统管理、日常监控、网络存储、自 我防护等功能。 1 3 1 系统介绍 本文涉及的视频监控解决方案是一套全数字网络监控解决方案。系统构成包括:视频 编解码器、视频管理服务器、数据管理服务器、媒体交换服务器、视频管理客户端、i ps a n 存储设备等。 该系统通过网络音视频编码器直接将现场采集的模拟音视频信息进行数字化并编码 压缩,然后打包送入i p 网络;监控中心的视频管理服务器、数据管理服务器、媒体交换 服务器等对其进行视频调度管理和集中存储管理;分布在各处的视频管理客户端向用户 提供了友好易用的人机界面,整个为开放式平台,方便与第三方应用系统集成。 该解决方案适合集中的局域网和专网用户实现全数字监控。 1 3 2 组网方案介绍 整个网络都是基于d 网络,采用开放、分层的网络体系架构,分为监控接入层、媒体 交换层、控制管理层和视频应用层,使得媒体交换与控制相分离,保证了系统架构的可扩 展性和稳定性,非常适合大规模网络监控系统应用。 根据组网规模和实际应用需求,本系统支持多种不同的组网应用方案,主要有以下几 种( 1 ) 组播方案( 包括混播) :( 2 ) 单播、单级、单域方案( 位置集中、管理集中) ; ( 3 ) 单播、多级、单域方案( 位置分散、管理集中) :( 4 ) 单播、多级、多域( 位置分 散、管理分散) ;( 5 ) 跨广域网、多级、单域( 位置很分散、但要求管理集中) ; ( 6 ) 跨广域网、多级、多域( 位置很分散、管理分散) 。 1 3 3 系统结构介绍 系统构成主要包括:音视频编解码器、视频管理服务器、视频管理客户端、数据管理 服务器、媒体交换服务器、i ps a n 存储设备等。 编码器是将模拟的视频、音频信号( 如摄像机、麦克风等视音频源信号) 转换成数字 南京邮电大学硕士研究生学位论文 第一章绪论 信号并进行编码压缩的设备,它采用t c p i p 技术,支持单播、组播传送方式。编码器支持 真双流格式编码、i s c s i ( i n t e m e ts c s i ,i n t e m e t d x 型计算机系统接口) 和n a s ( 网络存储) 方式存储,并能够外接在带存储功能的编码器上统一组网。 解码器是把从网络上接收的数字音视频数据流进行解码并输出模拟音视频信号的设 备。在i p 视频监控系统中,解码器从网络上获取音视频数据流,将数字信号转换还原为模 拟信号,输出到电视、多媒体大屏幕、调音台、功放等模拟视音频设备。 视频管理服务器是整个i p 网络监控系统的管理中心,负责管理和协调系统各组件正常 工作,包括应用服务视频管理服务器和呼叫控制服务器两个组件。 应用服务视频管理服务器主要提供业务开发支持,以及s i p 协议适配层、数据库访问中 间层、业务管理模型、框架、基本的s i p + m s c p 协议等业务功能的处理。 呼叫控制服务器主要提供终端设备注册、认证、注册状态保活,终端设备状态查询、 呼叫的接续、保持、断开,呼叫信息的保活,状态处理,呼叫中,对被n i p 地址解析、数 据库中媒体网络信息的使用和管理,设备表、号码表、用户表、业务权限表的增、删、改、 查。 视频管理客户端是视频监控系统的主要业务操作和配置终端,分为用户版、管理员版、 告警台舨三个模块,将业务操作、配置管理与告警分开,每个模块需要单独登录。通过这 三个模块的使用,可对编解码器、摄像机和媒体播放器等进行管理和配置,并进行实时监 控、视频回放等监控业务操作,并可观看、查询告警消息。 数据管理服务器是视频监控系统中的一个重要组件,主要功能是管理存储在i ps a n i p n a s 或带存储的编码器中的视频数据,包括定时巡检存储设备并记录数据存储状态、协助 建立与存储资源的连接、协助视频管理客户端检索回放视频数据、备份视频数据、存储资 源状态监控等功能。 媒体交换服务器是该视频监控系统中的一个重要组件,主要负责实现实时流的转发和 分发、历史数据的v o d ( v i d e oo nd e m a n d ,视频点播) 点播和分发点播等功能,可分布 式部署,提供基于w e b 的用户管理界面。 专业的网络存储设备,基于高速以太网的s a n ( s t o r a g ea r e a n e t w o r k ,存储区域网络) 架构,同时可以提供n a s j j e 务,通过i s c s i 协议来实现存储数据在服务器和存储设备之间高 速传输。 5 南京邮电大学硕士研究生学位论文 1 3 4 业务流程介绍 1 实时观看流程说明 ( 1 ) 不经过媒体服务器转发 客户端通过视频管理服务器获取 视频管理服务器给前端设备发送 址、端口号,前端设备收到消息后开 视频管理服务器给实时观看终端 监听的媒体流地址、端口号,实时观 监控终端收到实时视频流后,解码输出显示( 电视墙或显示器) 。 ( 2 ) 经过媒体服务器转发 客户端通过视频管理服务器获取设备信息,建立监控关系; 视频管理服务器首先给媒体服务器下发消息申请转发资源( 包含视频源、终端信息) , 然后给实时观看终端设备p c ,客户端) 下发实时观看允许消息,消息中包含对应的媒体服务 器信息; 当监控终端请求的媒体流已经存在,媒体服务器直接将媒体流复制一份,发给监控终 端; 前端设备向媒体服务器发图像数据; 媒体服务器将接收的视频流转发给对应的监控终端; 监控终端收到实时视频流后,解码输出显示( 电视墙或显示器) 。 2 存储流程说明 用户通过数据管理服务器给每一个摄像机制定存储计划,计划中指定摄像机对应的 i p s a n 设备、存储空间以及数据保留期( 时间或空间大小) ; 视频管理服务器给摄像机对应的前端设备发送存储计划指令; 前端设备与指定的存储设备( i ps a n ) 建立数据通道,开始按照存储计划进行数据的 存储; 当存储的数据达到预先分配的空间后,覆盖最早写入的数据,循环存储。 3 存储录像回放流程说明 ( 1 ) 客户端直接挂接i ps a n 进行回放 客户端向视频管理服务器发起数据检索请求,该请求中携带有通道号、起始和终止时 6 _ _ _ _ ,_ 一 南京邮电大学硕士研究生学位论文 第一章绪论 间: 视频管理服务器发送该请求给d m ; 数据管理服务器按照通道号、起始和终止时间检索,将该通道的存储计划以及实际存 储的时间段信息返回给视频管理服务器,视频管理服务器通知客户端在界面上显示出来; 客户端上发起录像回放请求,视频管理服务器收到后向数据管理服务器发起i n i t i a t o r 请求,数据管理服务器收到后为相应客户端分配资源访问权限,客户端挂接上对应磁盘, 并进行录像回放; 回放完成后( 或者客户端中途取消回放) ,客户端向视频管理服务器发释放消息,视 频管理服务器完成本地处理后,转发给数据管理服务器完成资源释放。 ( 2 ) 经由媒体服务器进行v o d 点播回放 客户端向视频管理服务器发起数据检索请求,该请求中携带有通道号、起始和终止时 间; 视频管理服务器发送该请求给数据管理服务器; 数据管理服务器按照通道号、起始和终止时间检索,将该通道的存储计划以及实际存 储的时间段信息返回给视频管理服务器,视频管理服务器通知客户端在界面上显示出来; 客户端检索得到数据后,向视频管理服务器发送回放请求,视频管理服务器向数据管 理服务器发送q u e r y ( i n i t i a t o r ) 消息,查询相应p o r t 对应的存储资源( i s c s lp o r t a l 、i s c s i t a r g e t ) 和存储设备管理员账号,数据管理服务器在此时不需要为客户端客户端绑定存储 资源的读权限。 视频管理服务器发送给媒体服务器的回放请求响应消息中,带有r t s p 服务器的地址 ( 媒体服务器在注册时上报给视频管理服务器) 。客户端获得媒体描述和媒体业务承载 s e r v e r 地址后,可直接向媒体服务器发起r t s p 连接,启动播放,并进行播放进度控制。 1 4 本文的章节安排 本文的章节安排如下: 第l 章主要对本文的研究目的、意义及动态进行了简述。介绍了软件测试的基本 知识,然后重点介绍相关视频监控系统的特点以及主要业务流程。 第2 章论述了软件自动化测试的相关知识和内容,分析了自动化测试的优点和面 临的困难及实施方法。针对视频监控系统的测试内容,介绍了g u i 测试自 动化,重点介绍了视频监控系统的自动化测试实施方案及相对应的测试方 7 南京邮电大学硕士研究生学位论文 第一章绪论 法。 第3 章介绍了视频监控系统自动化测试系统的设计过程,包括系统框架的设计流 程,自动化测试系统的模块划分,多层次脚本的设计流程和自动化系统本 身的更新管理等内容。 第4 章详细介绍了i 岍的构成和特点,重点分析了r l 玎各关键技术在视频监控 系统自动化测试框架中的应用。 第5 章总结了本文所做的工作和研究成果,并安排了进一步的工作。 8 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 第二章软件自动化测试概述 本章首先介绍了软件自动化测试的定义和进展,分析了软件自动化测试的特点以及实 施步骤,根据视频监控系统的测试内容,着重介绍了g u i 测试自动化,分析和总结了视频 监控系统测试内容与测试方法。最后介绍了自动化测试在视频监控系统测试中的应用及实 施办法。 2 1 自动化测试概述 测试在所有的软件开发过程中都是很重要的部分。随着开发的软件项目越来越复杂, 传统的软件测试流程不可避免地带来项目管理难度加大、对于项目风险的控制能力较弱、 软件项目开发费用超出预算等问题n q 。在实际应用中,尽早测试、连续测试、自动化测试 成为解决传统测试问题的最佳成功经验1 8 1 。 2 1 1 自动化测试介绍 自动化测试就是通过使用自动化测试工具或其他手段,按照测试工程师的预定计划进 行自动的测试。其目的在于缩短测试周期,增强对软件性能方面的测试能力等,达到保证 软件质量并使软件能够提前上市。 软件自动化测试,是一项让计算机代替测试人员进行软件测试的技术。他可以让测试 人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。如果采用 自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏 问题。设计良好的自动化测试,在某些情况下可以实现“夜间测试 和“无人测试。在 大多数情况下,软件自动化测试可以减少开支,增加有限时间内可执行的测试,在执行相 同数量测试时节约测试时间。 软件自动化测试通常借助测试工具进行。测试工具可以进行部分的测试设计、实现、 执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。所以测试工具的 选择和推广使用应该给予重视。部分的测试工具可以实现测试用例的自动生成,但通常的 工作方式为人工设计测试用例,使用工具进行用例的执行和比较。 9 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 2 1 2 自动化测试的进展 软件测试在现代软件开发与维护过程中起着极重要的作用,是保障软件可靠性和提高 软件质量的重要手段。随着用户对软件产品质量要求的不断提高以及软件工程技术的日益 成熟,软件测试已渗透到软件生命周期的每一个环节,在软件开发、生产与维护过程中扮 演着越来越重要的角色【1 9 1 。其中,自动化测试技术作为软件测试技术的一个分支,被越来 越多的使用在软件测试的各个阶段,大大节省了软件测试成本、提高了测试效率、缩短了 软件开发周期 2 0 1 。当然,自动化测试的出现和进一步的研究是一个循序渐进的过程,其发 展的一般过程和特点如图2 1 所示。近期涌现的各种面向目标的自动化测试研究,从测试 预测、测试过程控制、测试目标的搜索和优化各个方面都具有较高的性能,极大提高了自 动化程度和测试的性能。 愿黧h 统裂自h 舔燃h 莺燃l1 人工重复操作广1动测试广1动测试技术广 1 动测试技术l 图2 - !自动化测试发展进程 随着自动化测试技术的不断发展,实用性和有效性以及性能的不断提高,自动化测试 技术同各种传统的人工测试技术相结合,极大地缩短了测试周期,降低了测试开销,己成 为视频监控产品测试技术的重要研究方向。 2 i 3 自动化测试的优势 手工测试者最常做的就是重复的手工回归测试,不但代价昂贵,而且容易出错【2 l 】。自 动化测试可以减少这种工作的工作量。测试者可以有更多的时间去从事更有趣的测试,例 如在应用程序在复杂的场景下的不同处理等,相比手工测试,自动化测试有如下优势i 捌: 1 对程序的回归测试更方便 这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显 的【2 3 1 。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的, 将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。 2 可以运行更多更繁琐的测试 自动化的一个明显的好处是可以在较少的时间内运行更多的测试。 3 可以执行一些手工测试困难或不可能进行的测试 。 比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却 1 0 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。 4 更好地利用资源 将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出 来,投入更多精力设计更好的测试用例。有些测试不适合于自动化测试,仅适合于手工测 试,将可自动测试的自动化测试后,可以让测试人员专注于手工测试部分,提高手工测试 的效率。 5 测试具有一致性和可重复性 由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的, 从而达到测试的可重复的效果1 2 4 - 2 5 。 6 测试的复用性 由于自动化测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实 现在不同的测试过程中使用相同的用例1 2 6 。 7 增加软件信任度 由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设 计质量。一旦软件通过了强有力的自动化测试后,软件的信任度自然会增加。 2 1 4 自动化测试面临的困难 自动化测试不能完全取代手工测试,手工测试比自动化测试发现的缺陷更多,而且自 动化测试对软件质量的依赖性极大。另一方面,由于自动化测试比手工测试更脆弱,从而 自动化测试可能会制约软件开发。 要克服这些弱点,就要不断改进和完善自动化测试。在改善过程中,通常遇到的困难 有: ( 1 ) 测试脚本的规范性和可重用性差,测试脚本编写不够规范,难以阅读和维护。 ( 2 ) 测试用例脚本信息风格不统一,缺乏必要信息的记录。 ( 3 ) 测试脚本可重性较差,编写效率较低。 ( 4 ) 测试环境的变化可能导致原有脚本无法使用。 ( 5 ) 测试脚本对环境的依赖太强,不同环境之间的脚本移植开销过大。 ( 6 ) 缺乏对设备异常的处理和记录,脚本本身的容错性较差。 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 2 2 自动化测试的研究内容 目前,软件自动测试研究的热点主要有: 1 自动化测试框架 决定使用自动化测试技术或是采用人工测试方法,主要依赖于测试开销和测试周期的 要求。在自动测试与产品开发过程相融合的过程中存在着一些问题。目前,在视频监控的 开发项目中,自动化测试技术或测试方法仍难以完全能匹配到整个项目中。这就要求设计 出具有较大可塑性的自动测试模型,可在较少改动或者配置的情况下,最大化适应自动化 测试的需求。 2 自动化测试脚本技术 测试过程中,有大量的测试行为可以被自动化,测试人员希望能够指定一些简单的脚 本,通过这些脚本信息能够指导测试的自动化进行。若能发展标准化且易于掌握的测试脚 本语言则可以简化自动测试的复杂性和减少测试人员的工作量。因此,对自动化测试脚本 技术的研究也是自动化测试技术中的一个主要内容。 3 自动化测试用例生成 自动化测试用例的生成是一种典型的数据驱动测试技术,通过自动化测试数据的生 成,驱动被测试程序运行来测试程序中存在的缺陷或错误。由于测试用例对测试的重要性, 以及测试数据自动构造实现上的可行性,使得这个领域成为自动化测试技术中研究得最为 广泛的技术之一。 4 自动化测试中的预测 自动化测试技术的发展不仅仅是自动化程度的提高,同时在测试的性能和效率上都提 出了更高的要求。如果在测试过程中能通过特定的评测标准准确判断什么是程序错误,那 么测试就能够实现真正意义的自动化。 5 自动化测试与可靠性分析 测试与可靠性之间的关系一直都是技术人员所关注的内容。究竟在多大程度上可以信 任测试的结果,什么条件下所完成的测试才是充分的,各种自动化测试方法和技术的引入 是否会影响测试的结果以及评测的可信度,只有解决了这些问题自动化测试才能体现出其 价值和意义。 6 自动化安全测试 该领域的研究集中在网络通讯协议的安全性测试方面。随着网络应用的日益广泛,信 1 2 南京邮电大学硕士研究生学位论文 第二章软件自动化测试概述 息安全问题也日益严重,网络应用程序的安全性是测试的重要内容。针对网络安全的有限 状态自动测试机模型是该领域的主要研究内容。 2 3 自动化测试的要点以及实施步骤 自动化测试虽然可以带来许多优点,但必须注意到随着自动化脚本的逐渐积累,特别 是软件的不断升级,自动化脚本的维护工作将急剧增加,耗去软件测试工程师的大量精力。 自动化测试脚本的初期创建成本和后期维护成本大,这也是许多软件公司迟迟不愿实施自 动化测试的一个重要原因。因此,在实施自动化测试初期,就应根据本公司软件的特点对 自动化脚本的体系结构进行精心设计,以减少自动化测试脚本创建和维护的花销。一般来 说,衡量自动化测试脚本设计是否优良的标准有以下几个方面: 1 可维护性 指是否可以很容易使测试更新跟上软件升级的步伐。在竞争激烈的电信领域中,软件 会不断进行升级或者更改以适应需求变更,防止软件升级造成自动化测试的维护工作量过 大是很重要的,否则整个自动化测试工作可能被较廉价的手工测试所取代。 2 高效性 效率是与成本紧密联系的,自动化测试的一个重要目标就是更经济地运行测试。所以 应该在测试和自动化测试的设计阶段全面审视各方面因素,在科学合理的测试流程基础上 利用优秀的自动化策略将自动化测试与手工测试有机结合,才能实现效率最大化。 3 可靠性 指测试体制是否能给出精确而且可重现的结果。如果所提交的b u g 报告中有许多b u g 是由于自动化测试脚本本身的错误引起的,那么高层经理和软件开发人员可能会对自动化 测试产生不信任感,使自动化测试的实施变得更为困难。 4 兼容性 指是否允许测试用例为不同的测试目标而以不同的方式组合鲫。 5 易用性 指创建或更改测试用例是否容易,测试人员或用户掌握和理解其使用方法是否容易。 6 健壮性 指是否可以处理意外情况而不退出或终止,并尽力给出正确有用的信息。 7 可移植性 指在不同平台上运行测试的能力。 1 3 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 一般来说,自动化软件测试过程实施需要以下几个步骤: 步骤l :选取测试工具 软件自动化测试工具可以使自动化测试的工作效率得到极大的提高。目前比较著名的 自动化测试商业工具有m m 公司的r o b o t 、r f t 和m e r c u r y i n t e r a c t i v e 公司w m r u n n e r 等。 我们可以根据功能、价格工具引入的连续性和一致性等方面从众多商业工具中评价和选择 一个适合于公司和项目的软件自动化测试工具。或者针对我们自己产品的特性,来自己开 发测试工具。 步骤2 :选取最适合自动化测试的测试用例 我们应该首先对测试用例进行区分,分出哪些测试用例可以被自动化,哪些测试用例 根本不能被自动化,哪些是虽然可以但完全没有必要被自动化,然后再选取当前最适合自 动化的测试用例,分阶段实施,不要试图一口气自动化太多测试用例。通常来说,很重要 的、主要功能的、最容易自动化的、很快有回报的和运行最频繁的测试用例最适合被首先 自动化。 步骤3 :计划和组织脚本的开发 自动化测试的引入有一定的标准,要经过综合的评估,绝对不能理解成测试工具简单 的录制和回放过程,现有的自动化测试进行的程度,从实现成熟度来说,自动化测试分五 个级别,如表2 1 所示 简单的录制回放并非自动化测试。测试工具录制产生脚本是不能直接使用的,必须在 此基础上采取添加判断和循环等控制结构、提取公用代码以供复用、采用数据驱动策略使 脚本和数据分离等措施。因此,开发自动化脚本并非像想象那么简单,必须按照软件工程 的方法对脚本开发进行计划和组织,这样才能使开发出来的脚本真正实用。 步骤4 :设计测试数据 应该对测试数据的来源进行统一规划,决定各种测试数据是来自文件、数据库还是测 试工具提供的其它来源,并对存取测试数据的代码进行模块化,使得测试工程师对测试用 例进行自动化时可以专注于案例本身,而不必太过于分神存取各种不同来源的测试数据。 更为重要的是,自动化测试的质量严重依赖于测试用例和测试数据本身的质量。因此,采 用划分等价类、确定边界值等传统测试技术对设计测试数据是很有必要的。 步骤5 :制定自动化测试执行流程 与传统测试一样,要制定缺陷管理、日志分析、度量跟踪等规程来管理自动化测试的 执行。测试流程的控制基于科学的测试流程和具体的规范来实现,并利用流程和规范,来 1 4 南京邮电大学硕士研究生学位论文第二章软件自动化测试概述 表2 - 1 自动化测试的五个级别 级别说明优点缺点用法 一级录制和回放自动化的测试脚脚本能拥有大量的测试脚本,当需当测试的系统不会 够被自动生成,而不需求和应用发生变化时,相应 发生变化时,实现小 要要有任何的编程知识的

温馨提示

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

评论

0/150

提交评论