




已阅读5页,还剩70页未读, 继续免费阅读
(计算机软件与理论专业论文)屏幕输出对比测试方法与工具研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 当今软件系统的规模变得越来越大,结构也越来越复杂,而从头开始构建 的大系统数量在急剧地减少,很多既存系统正在被逐步地利用,既存软件维护 性开发占软件开发总量的比重越来越大,软件再工程的需求变得越来越大,可 以说,软件工程已经进入了再工程时代。 软件再工程的一个突出特征就是测试工作比例远大于一次软件工程,因此 对再工程测试方法和测试工具的研究具有重要的理论与实际意义。 本文通过对系统升级再工程功能测试特点的研究,提出了适用于系统升级 再工程功能测试的屏幕输出对比测试方法,其中对执行对比测试过程中的几个 难点进行分析并提出了解决方案。 针对系统升级再工程的特点一一有既存系统可以作为测试的参照物一一本 课题设计并开发出屏幕输出对比测试工具支持系统升级再工程的功能测试。该 工具通过对比升级前后两系统运行过程中画面对应图片的控件类型、位置、大 小等属性以及控件上的文字是否相同的手段来发现在系统升级再工程过程中是 否产生错误。 由于屏幕输出对比测试工具在实际的使用过程中出现了数字识别正确率低 的问题,本文对提高数字识别正确率问题进行了探讨,提出了提高数字识别正 确率的方法,并以v b 4 既存系统升级到v b 6 目标系统的再工程为例具体说明 如何提高数字的识别正确率。 关键词对比测试;数字识别;系统升级再工程 a b s 圩a c t a b s tr a c t n o w a d a y st h es i z eo ft h es o f t w a r es y s t e mb e c o m e sm o r ea n dm o r el a r g e , t h es t r u c t u r eh a sb e e nb e c o m em o r ec o m p l i c a t e d ,b u tt h eq u a n t i t yo fl a r g e s y s t e mt h a tc o n s t r u c tf r o mb e g i n n i n gr e d u c e sr a p i d l y ,al o to fl e g a c y s y s t e mi su s e ds t e pb ys t e p ,l e g a c ys o f t w a r em a i n t e n a n c ed e v e l o p m e n t p l a y sam o r ea n dm o r ei m p o r t a n tr o l ei ns o f t w a r ed e v e l o p m e n t ,d e m a n do f s o f t w a r er e e n g i n e e r i n gb e c o m e sm o r ea n dm o r el a r g e ,t h a t ss a ys o f t w a r e e n g i n e e r i n gh a sc o m ei n t ot h er e e n g i n e e r i n ga g e s f o rs o f t w a r er e e n g i n e e r i n g ,t h e r ei sa no u t s t a n d i n gc h a r a c t e rt h a t t h ep r o p o r t i o no ft e s t i n gi sm u c hb i g g e rt h a nt h a to fo n c ee n g i n e e r i n g , t h e r e f o r ei th a sg r a d e m e a n i n go ft h e o r ya n df a c ti n r e s e a r c h i n g r e e n g i n e e r i n gt e s t i n gm e t h o da n dt e s t i n gt 0 0 1 i nt h i st h e s i s ,t h r o u g hr e s e a r c h i n gt h et r a i to f s y s t e mu p g r a d e r e e n g i n e e r i n g f u n c t i o n a l t e s t i n g ,t h ea u t h o rb r o u g h tf o r w a r dt h e 8 。e e nc o m p a r et e s tm e t h o dw h i c hi s f i tf o rt h e s y s t e mu p g r a d e r e e n g i n e e r i n gf u n c t i o n a lt e s t i n g ,a n da n a l y z e ds e v e r a ld i f f i c u l t i e s d u r i n gi m p l e m e n t i n gt h ec o m p a r et e s ta n dt h e nb r o u g h tf o r w a r dt h es o l v e s o l u ti o n a i m e da tt h ec h a r a c t e r i s t i co ft h es y s t e mu p g r a d er e e n g i n e e r i n gt h a t t h el e g a c ys y s t e mc a nb et h et e s t c o n t r a s t ,t h ea u t h o rd e s i g n e da n d d e v e l o p e dt h es c r e e no u t p u tc o m p a r et e s tt o o lt o s u p p o r tt h es y s t e m u p g r a d er e e n g i n e e r i n gf u n c t i o n a lt e s t i n g t h i st o o l c a nc o m d a r et h e c o n t r o lp r o p e r t yo np i c t u r e sw h i c hg e n e r a t e dw h e nt h el e g a c ys y s t e ma n d t a r g e ts y s t e mr u n n i n g ,f o re x a m p l ec o n t r o lt y p e ,c o n t r o l p o s i t i o n c o n t r o ls i z ea n dt h et e x to nc o n t r o l ,b yc o m p a r i n gt h e s ei t e m st h i st o o l c a nj u d g ew h e t h e rt h e r ea r ee r r o r sd u r i n gt h ec o u r s eo fs y s t e mu p g r a d e r e e n g i n e e r i n g b e c a u s et h e r ei sap r o b l e mo ft h ed i g i tr e c o g n i z i n gr i g h tp e r c e n t i i a b s t r a c t i sl o wd u r i n gt h ec o u r s eo ft h eu s i n go ft h es c r e e no u t p u tc o m p & r et e s t t o o l ,t h i st h e s i sd i s c u s s e st h ep r o b l e mo ft h ed i g i tr e c o g n i z i n gr i g h t p e r c e n t ,a n db r i n g sf o r w a r dt h es o l u t i o nt oi m p r o v et h ed i g i tr e c o g n i z i n g r i g h tp e r c e n t ,t h i st h e s i se x p l a i n sc o n c r e t e l yh o wt oi m p r o v et h ed i g i t r e c o g n i z i n gr i g h tp e r c e n tb yu s i n gt h ee x a m p l eo fv b 4l e g a c ys y s t e m u p g r a d i n gt ov b 6t a r g e ts y s t e mr e e n g i n e e r i n g k e y w o r d sc o m p a r et e s t :d i g i tr e c o g n i z e ;s y s t e mu p g r a d er e e n g i n e e r i n g i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:量整鱼日期:丝! ! 璺 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名: 圣蔓量导师签名: 第1 章绪论 第1 章绪论 1 1 研究背景 1 1 1 软件工程进入再工程时代 再工程是对一次工程后的成品软件再次进行开发,因此它处于软件生存期 的维护期n 1 。软件维护期的适应性维护、完善性维护和预防性维护都属于再工 程范畴。当今软件系统的规模变得越来越大,结构也越来越复杂,从头开始构 建的大系统数量在急剧地减少,很多既存系统正在被逐步地利用。 如图卜1 所示,2 0 世纪9 0 年代以后,先进国家的既存软件维护性开发已 占软件开发总量的8 0 9 6 以上。可以说,软件工程已经进入了再工程时代。 状1 再二 一,;,一一,”,”7 。 、 一2 l 1 9 8 0 年1 9 9 0 年2 0 0 0 年 图1 i 软件工程中一次工程和再工程比例趋势图 f i g u r e l 一1e n g i n e e r i n ga n dr e e n g i n e e r i n gp r o p o r t i o ni ns o l l w a r ee n g i n e e r i n gf i d em a p 1 1 2 软件再工程的分类 目前的再工程主要为三类: ( 1 ) 属适应性维护的再工程,例如: 1 北京工业大学工学硕士论文 伴随硬件和操作系统更新换代的软件维护。像小型机换p c 机,p c 机换 u n i x 工作站,w i n 9 5 换w i n d o w sx p 所带来的软件维护; 业务环境变化带来的软件维护。譬如由于企业业务的发展,系统使用 年限的增加,既存系统的存储媒体和数据管理系统满足不了数据量及其种类剧 增的要求,需要更新数据库系统;随外部条件变化而必须修改部分数据变量定 义或算法,例如征收消费税的国家法律修订、邮政编码位数改变、以及2 0 0 0 年问题等; 系统运行环境变化带来的软件修正。如由主机方式变为客户机服务器 方式,由客户机n 务器方式变为w e b 方式,这时的系统体系结构必须相应变化: 适应系统开发环境变化的软件维护。有一些软件,主要是定制软件, 例如e r p 软件,软件再工程常伴随企业的业务过程再工程( b u s i n e s sp r o c e s s r e e n g i n e e r i n g b p r ) 而发生,所以开发环境也需要随着经常性的系统完善性再 工程而更新。譬如p o w e rb u i l d e r 等开发环境的升级换代如同操作系统一样, 频繁发生。 ( 2 ) 属完善性维护的再工程,例如:增加或修改功能,提高安全性、处理 能力等系统性能。 ( 3 ) 属预防性维护的再工程,例如:为了提高可维护性而对系统进行优 化( 再结构化、再标准化) ,对文档进行重构,对数据进行重组。 在我们所接触的再工程中,以适应性维护再工程为多。在适应性维护再工 程中根据在再工程过程中是否对结构进行调整又可分为两大类:一类是不进行 结构重组的,我们称之为系统升级再工程;另一类需要对整个系统结构进行重 组( 如客户机服务器系统重构为基于i n t r a n e t 的w e b 系统的再工程) ,我们称 之为系统重构再工程。 近年来系统升级再工程在软件工程中所占比例越来越大,因此对于系统升 级再工程测试的自动化研究具有重要的理论与实际意义。 1 1 3 软件再工程测试现状概述 软件测试是发现软件中错误的主要手段,是保证软件质量的关键步骤。据 2 第1 章绪论 统计,在软件开发过程中,软件测试工作量占软件开发总工作量的4 0 以上。 而在软件开发的总成本中,用在测试上的开销要占3 0 到5 0 。 再工程的特点是其起点是既存软件,这使得再工程的测试工作量占开发总 工作量的比率剧增,其工作量比例远大于一次工程。目前对于再工程的测试更 多地仍是按照一次工程的测试方法进行,而且结合再工程特点的测试方法以及 支持工具的研究并不多。因此对于再工程测试方法以及支持工具的研究具有重 要的理论与实际意义。 1 2 系统升级再工程测试分析 1 2 1系统升级再工程测试的重点 对于系统升级再工程由于没有涉及到功能变更、扩充或结构重组,所以测 试的重点主要是验证目标系统与既存系统在功能上是否一致。因此对于系统升 级再工程,在测试的各个阶段中功能测试是应用比较广泛的一个测试种类。在 系统测试、确认测试和集成测试中都要进行功能测试。如果能够实现系统升级 再工程功能测试的自动化或半自动化将会大大提高系统升级再工程测试的效率 和质量。下面将对系统升级再工程的功能测试进行详细的分析。 1 2 2 系统升级再工程功能测试分析 功能测试汹3 ( f u n c t i o n a lt e s t i n g ) 主要根据产品的需求规格说明书和测 试需求列表,验证产品的功能实现是否符合产品的需求规格。 功能测试主要是为了发现以下几类错误: ( 1 ) 是否有不正确或遗漏了的功能? ( 2 ) 功能实现是否满足用户需求和系统设计的隐藏需求? ( 3 ) 能否正确地接受输入? 能否正确地输出结果? 目前市场上的主流自动化功能测试工具一般的工作原理是利用脚本的录制 ( r e c o r d ) 回放( p l a y b a c k ) 乜3 ,模拟用户的操作,然后将被测系统的输出记录下 来同预先给定的标准结果比较。下表是目前市场上的一些主流自动化功能测试 北京工业大学工学硕士论文 工具: 表卜1 主流自动化功能测试工具 t a b l e l 一1t h ep r i m a r ya u t o m a t i cf u n c t i o n a lt e s t i n gt 0 0 1 :8 7 “| | m e r c u r y f h 。p = 一一。r y i 。一t i v 。 q u i c k t e s t| |li h t t p = 7 惭雎r c u r y i n t e r a c n v e - c o r o b o t l i i b mr a t i o n a l i h t t p :m r a t i o n a l c 。m v i s u mt e s tl ii 删r a t i o n a l 每种工具都有一定的适用范围,这些主流的功能测试工具在一次工程中可 以大大减轻黑盒测试的工作量,一般适用于在大型项目的迭代开发中进行回归 测试,而不太适合在大多数系统升级再工程的功能测试中使用。对于系统升级 再工程功能测试主要是验证升级后的目标系统在功能上是否与升级前的既存系 统一致,在再工程的功能测试中这些主流测试工具没有更好地结合再工程特 点一一有既存系统作为测试参照物一一进行测试。 1 2 3 系统升级再工程功能测试的主要方法对比测试 对于系统升级再工程,因为目标系统并未对既存系统进行功能上的变更、 扩充或结构重组,所以在进行升级之后界面的表现形式及各种输出应该没有改 变,因此在进行功能测试时对比测试是一种比较常用的测试方法。对比测试是 在再工程中比较广泛使用的一种测试方法,即对于相同的输入条件,对比既存 系统与目标系统是否产生相同的输出。在系统升级再工程的功能测试中使用的 对比测试主要有三种:屏幕输出对比测试、报表输出对比测试、后台数据对比 测试。下面是每种对比测试的主要内容: 屏幕输出对比测试主要测试既存系统与目标系统运行过程中屏幕的显示内 容是否一致。 4 第l 章绪论 报表输出对比测试主要测试对于相同的输入条件既存系统和目标系统产 生的报表文件( 如e x c e l 文件) 内容和格式是否一致。 后台数据对比测试主要测试既存系统和目标系统对后台数据( 包括数据库 和其它后台文件) 的更新操作是否相同。 1 2 4 对比测试面临的问题 ( 1 ) 测试工作量大。因为再工程起点是既存软件,因此再工程的测试工作 量占开发总工作量的比例远大于一次工程。而对于系统升级再工程功能测试的 主要内容就是对比测试,所以对于系统升级再工程对比测试工作占有很大的比 重。 ( 2 ) 测试过程繁琐。在对比测试过程中,对于每一组相同的输入条件都要 检查目标系统与既存系统是否产生相同的输出,因此测试过程相当繁琐。 ( 3 ) 对于复杂的输出结果不容易实现人工对比。如果系统产生大量的屏幕 输出或输出大量的报表文件实现人工对比不但不能保证测试的精度,而且也会 影响测试的效率。 1 2 5 对比测试的自动化解决方案探讨 由以上的分析可知,对于系统升级再工程,如果对比测试工作全部由测试 人员手工进行,不但效率很低,而且也会影响再工程后产品的质量。在软件测 试过程中任何需要重复进行的活动都可以考虑是否可以自动化实现,而对比是 软件测试中比较容易实现自动化的任务,因此为了提高再工程后产品的质量, 我们可以只负责按照相同的输入条件运行程序丽把所有对比工作( 屏幕输出对 比、报表输出对比、后台数据对比) 由计算机自动化实现,从而提高再工程的 效率和质量,并且把测试人员从烦人的既存系统与目标系统输出结果的对照过 程中解脱出来。 在系统升级再工程功能测试常用的三种对比测试中,已经有一些比较成熟 的工具可以直接或间接地支持数据库对比测试和报表输出对比测试,而直接支 持屏幕输出对比测试的工具很少,可是对于屏幕输出对比测试自动化实现的需 5 北京工业大学工学硕士论文 求和必要性却都很大,因为对于大多数的功能测试屏幕的输入和输出是否正确 是判断程序是否有错误的一个主要标准,另外在系统升级再工程中往往也会产 生控件的类型、位置、大小及控件的一些属性发生变化,而通过屏幕输出对比 测试可以有效地发现在升级过程中产生的这些错误。 1 3 本课题的主要研究内容 本课题主要研究内容包括以下三个方面: ( 1 ) 本课题首先对系统升级再工程的屏幕输出对比测试方法进行了研究, 并提出了适用于系统升级再工程功能测试的半自动化屏幕输出对比测试方法。 ( 2 ) 针对系统升级再工程的特点一一有既存系统可以作为测试的参照 物一一设计并开发出屏幕输出对比测试工具支持系统升级再工程的功能测试。 在这一部分对工具实现过程中的一些难点与主要算法( 控件区域的划分、控件 类型的识别、控件比较的方法等) 进行了详细的探讨。 ( 3 ) 由于屏幕输出对比测试工具在使用过程中出现数字识别正确率低的问 题,因此本课题对如何提高数字识别正确率问题进行了探讨,并以v b 4 既存系 统升级到v b 6 的目标系统为例具体说明如何提高数字识别正确率。 1 4 本课题的难点 本课题的难点主要有以下三个: 难点1 :如何设计合理的对比测试流程: 难点2 :如何通过对窗体对应图片的解析识别出各种控件,以及识别出控 件上的文字,进而进行对比测试: 难点3 :如何有效地提高数字识别正确率。 1 5 本课题的意义 目前国内外对于一次工程的测试方法以及自动化测试工具的研究很多,而 且也有很多成熟的自动化测试工具,但是对于再工程测试方法的研究却很少, 6 第l 章绪论 结合再工程特点开发的自动化测试工具更是少之又少。而目前在软件工程中再 工程所占的比重越来越大,因此对再工程测试方法以及再工程测试工具的研究 具有重要的意义。 比较是软件测试中比较容易实现自动化的任务。常常是从自动化中受益最 多的任务,比较大量的数字、屏幕输出或任何类型的列表并不是人们非常胜任 的一项工作。 本课题正是结合再工程测试的特点一一有既存系统作为参照物一一进行再 工程测试方法研究,同时设计并开发出屏幕输出对比测试工具支持系统升级再 工程对比测试过程。它可以通过对新旧系统屏幕输出内容对比的批处理实现对 比测试,提高系统升级再工程测试工作的效率和质量。 1 6 本文组织结构 绪论中介绍了课题的背景、系统升级再工程测试分析、课题的主要研究内 容、课题的难点、课题的意义,以及本文的组织结构。第2 章论述了系统升级 再工程屏幕输出对比测试方法。第3 章详细介绍了屏幕输出对比测试工具设计 与实现。第4 章针对屏幕输出对比测试工具在使用中出现的数字识别正确率低 的问题提出了提高数字识别正确率的策略。第5 章对研究课题进行了评价和前 景展望。 第2 章屏幕输出对比测试方法研究 第2 章屏幕输出对比测试方法研究 2 1系统升级再工程功能测试方法分析 2 1 1 手工测试过程 手工测试是在测试中最常用的一种方法。对于系统升级再工程功能测试主 要是验证升级后的目标系统在功能上是否与升级前的既存系统一致,对比是一 种比较常用的手段。进行手工对比测试的过程大致如下:对同一输入条件分别 运行既存系统和目标系统,人工对比两系统的输出是否一致。而对于大型项目 的升级工程需要对比的内容很多,如果全部对比工作都由测试人员完成不但会 影响测试的效率,也会影响测试工作的质量。因此如果能够实现对比过程的自 动化将会大大提高测试的效率和质量。 2 1 2 自动化对比测试探讨 对于系统升级再工程功能测试,手工测试的对比任务工作量大而且又容易 出错。而对比工作相对比较容易实现自动化,因此可以考虑手工运行两个系统 而在工作量大的对比阶段实现自动化。 本章结合系统升级再工程的特点提出了屏幕输出半自动化对l 匕钡, r j 试方法。 2 2 屏幕输出半自动化对比测试流程 对于系统升级再工程屏幕输出半自动化对比测试流程如图2 1 所示: 9 北京工业大学工学硕士论文 图2 - i 系统升级再工程屏幕输出对比测试流程 f i g u r e2 - is y s t e mu p g r a d er e c n g i n e e r i n gs c r e e no u t p u tc o m p a r et e s tf l o w ( 1 ) 对比测试前处理。在执行对比测试之前要建立一些先决条件,所有与 建立和恢复这些测试先决条件相关的工作就是前处理瞳3 。即在运行两系统并切 图之前要保证两系统有相同的初始条件。如保证两系统需要读取的文件处于相 同的状态和保证两系统需要访问的数据库数据一致等。 1 0 第2 章屏幕输出对比测试方法研究 ( 2 ) 对同一输入条件分别手工运行升级前后的系统。要保证既存系统和目 标系统按照相同的输入条件以及相同的步骤运行。 ( 3 ) 自动化切图和存图。在系统运行的过程中以相同的切图规则分别用工 具自动化地对两系统运行过程中的画面进行切图并以一定的命名规则与存储规 则进行存图。 ( 4 ) 自动化图像对比测试。对于程序运行过程中切取的两系统对应画面的 图片进行自动化对比测试。主要是比较两个系统对应画面的控件类型、控件位 置、控件大小以及控件上的文字等是否一致。 ( 5 ) 自动化生成对比测试结果报告书。对比测试会产生许多各组图片对比 项相同或差异的报告,为了便于批处理后检查对比测试结果需要产生一些测试 报告。因此以e x c e l 文件格式保留对比测试结果。 ( 6 ) 分析对比测试结果。对于自动化对比测试的结果报告进行分析,对于 产生差异的报告分析是在系统升级过程中产生了错误还是一些可以忽略的差 异。对于升级过程中产生的错误要结合目标系统的程序进行分析,定位错误发 生的位置,进行修正后再进行回归测试。 ( 7 ) 对比测试后处理。在对比测试过程中可能要产生一些直接产物( 对比 测试结果报告) 和副产物( 比如工具日志文件) ,它们所涵盖的范围可能很广。 可能需要对这些产物进行处理,这些工作都称为后处理 2 1o 有些测试结果可以 清除( 例如没有发现差别的报告) 而有一些则必须保留( 例如同预期输出结果 不符的输出文件) 。对于无用的输出文件在对比测试后要及时进行删除,以免随 着测试工作的进行产生大量垃圾文件。 2 3 半自动化屏幕输出对比测试实现中的几个难点 2 3 1 如何保证两系统具有相同的初始条件 进行对比测试的前提条件就是要保证两个系统在运行之前具有相同的初始 条件。对于大多数的系统而言主要就是保证两系统所读取的文件状态一致,所 访问的后台数据库的状态和数据一致。 北京工业大学工学硕士论文 对于系统所访问的文件可能相对比较容易使二者具有相同的状态,而对于 数据库可能就相对要困难一些,这是因为对于大型的系统一般要有很多的数据 库表,而且每一个数据库表又可能会有很多的字段,如果进行手工维护不但工 作量大,而且也很容易出错。目前市场上有许多工具可以很方便地帮助测试人 员维护数据库的一致性。 d b u m t 就是一个很好的工具。d b u n i t 可以将一个表或者一组表的内容复 制到指定的x m l 文件中,或者将导出的x m l 用c l e a n i n s e r t 、i n s e r t 、 u p d a t e 等方式更新到表中。因此可以通过先将既存系统的数据复制到x m l 文件中然后再将这些数据复制目标系统数据库中的方法来使用两个系统在进行 对比测试之前的数据库具有相同的状态。 2 3 2 如何自动切图和存图 如果全部切图、存图工作都由测试人员手工完成一方面工作量特别大,另 一方面测试人员在进行存图时也可能会由于马虎而把图片文件的名称写错,导 致两系统对应画面的图片名字不同,从而无法有效地实现对比测试。因此要想 成功地进行屏幕输出自动化对比测试,必须要实现切图以及存图工作的自动化。 关于自动化切图工具的实现原理将在2 4 节进行详细的论述。 2 3 1 3 如何有效地组织测试件的结构 因为在屏幕输出对比测试过程中要产生大量的图片和测试报告。同时在测 试过程中还需要其它一些相应的测试件,如果不对这些测试件进行有效的组织 随着测试的进行将使测试件难于维护。 关于测试件的维护规则将在2 5 节进行详细的论述。 2 3 4 如何实现自动化图像对比测试 要实现自动化图像对比测试需要开发出屏幕输出对比测试工具。在工具的 实现中首先要解决以下几点问题: 第2 章屏幕输出对比测试方法司f 宄 ( 1 ) 图像文件的种类和格式很多,依据什么原则选取切取的窗体文件所存 储图像文件的种类和格式。这涉及到图像学的一些知识。 ( 2 ) 如何从窗体文件所对应的图像文件上提取出控件区域并最终识别出各 种控件的类型及相应的属性信息。这涉及到模式识别的一些知识。 ( 3 ) 如何从各种显示类的控件上识别出上面的文字。这涉及到文字识别的 一些知识。 对于以上三个问题将在2 6 节进行详细的论述。 2 4 自动切图和存图的实现 2 4 1 几个重要w i n d o w sa p i 介绍 ( 1 ) h w n dg e t d e s k t o p w i n d o w ( v o i d ) 。 函数功能:获得d e s k t o p 的句柄。 ( 2 ) b o o li s w i n d o w v i s i b l c f h w n dh w n d ) 。 函数功能:确定一个窗口是可见的或不可见的。 ( 3 ) h w n dg e t t o p w i n d o w ( h w n dh w n d ) a 函数功能:检查与特定父窗口相联的予窗口z 序,并返回在z 序顶部的子 窗口的旬柄。 ( 4 ) b o o lg e t w i n d o w r e c t ( h w n dh w n d , l p r e c t l p r e c t ) 。 函数功能:取得指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左 上角的屏幕坐标给出。 ( 5 ) i n tg e t w i n d o w t e x t ( h w n d 艄v n d ,l p t s t ri p s t r i n g ,i n tn m a x c o u n t ) a 函数功能:取得指定窗口的标题文本( 如果存在) 。 ( 6 ) b o o lr e g i s t e r h o t k e y ( h w n dh w n d ,i n ti d ,u i n tf s m o d i f i e r s ,u i n t v k ) a 函数功能:注册一个系统热键。 ( 7 ) b o o lu n r e g i s t e r h o t k e y ( h w n dh w n d ,i ti m 。 函数功能:解除热键登记。 j :蚕三兰銮茎三兰譬圭兰蚤 2 4 2自动切图存图工具实现的原理 w i n d o w s 由一个缺省的窗口一直在显示,它就是d e s k t o p ( 桌面) 。d e s k t o p 窗口在w i n d o w s 启动时自动创建。它作为所有应用程序窗口的基础。它使用一 个位图文件绘制屏幕的背景。g e t d e s k t o p w i n d o w 0 数可以获得d e s k t o p 的句 柄。当窗口具有w s _ - v i s i b l e 风格时,w i n d o w s 显示此窗口,否则把它隐藏起 来。使用i s w i n d o w v i s i b l e 0 函数可确定一个窗口是可见的或不可见的。 应用程序显示的所有窗口根据z 序阻7 1 ( z o r d e r ) 互相重叠。一个窗口是 否被其他窗口所覆盖取决于相对这些窗口的z o r d e r 。在z 轴最上面的窗口重叠 所有其他窗口。 当用户激活其中一个窗口时,w i n d o w s 维护每个窗口的z 序位置。被激活 的窗口在z 序的最上面。可以使用g e t t o p w i n d o w 0 搜索z 序上最大的窗口, 然后返回该窗口的句柄。 在取到窗口的句柄后就可以用g e t w i n d o w r e c t ( ) 取得该窗口的边框矩形的 尺寸,用g e t w i n d o w t e x t 0 取得该窗口的标题文本。 然后就可以用取得窗体的边框矩形的尺寸为大小进行切图,以窗体的标题 文本加上三位数字( 该窗体的第一个图片对应的三位数字为0 0 1 ,以后每个窗 体对应的图片的三位数字分别依次加1 ) 为文件名并按事先指定的路径在后台 进行存图。 2 4 3 自动切图存图工具实现中的一个难点 在实现自动化切图、存图时有一个难点就是在前台程序运行过程中要激活 后台的切图工具进行切图,在切图之后再把焦点返还给前台程序。 这就要求在运行测试系统之前就起动切图工具,同时在切图工具开始运行 时就要注册一个系统热键,使得在需要切图时只要按下这个热键就可以激活后 台的切图工具进行切图存图。 可以在开始运行程序时通过r e g i s t e r h o t k e y 0 注册系统热键,并在退出切图 程序时用u n r e g i s t e r h o t k e y 0 函数解除热键登记,释放系统资源。 1 4 第2 章屏幕输出对比测试方法研究 2 5 测试件的组织 2 5 1 测试件相关定义 测试件雎3 指测试所需的所有“作品”以及测试产生的所有产物,包括文档、 数据和期望输出,以及实际输出、差异报告和总结报告等。眈1 测试件组是测试产物的逻辑集合。主要可以定义以下几种类型的测试件组: 测试组,数据组,实用程序组和测试结果组。 测试组定义一个或多个测试事例。 数据组只包括数据文件和文档。 实用程序组是由一个以上的测试过程中使用的实用程序。 测试结果组存放的是测试的产物。 测试集:两个或更多的测试组放在一起形成测试集。 2 5 2 测试件的存放规则 在系统升级再工程屏幕输出对比测试中可以按以下规则组织相关测试件。 1 5 北京工业大学工学硕士论文 测试集 图2 - 2 测试件存放示意图 输入 务图片 档 据 自动切图工具 像对比工具 果报告 f i g u r e2 - 2t e s tr e s u l tp l a c es k e t c hm a p 如上图所示,测试组中主要包括测试输入,系统运行过程中产生的业务图 片,与测试相关的一些文档文件和测试数据。 数据组主要包括数据以及用于描述这些数据的一些文档。一个或多个测试 组定义的不同测试事例可以使用这些数据。 实用程序组中可以存放一些与测试相关的一些工具,如自动切图工具,图 像对比工具等等。 测试结果组主要包括结果报告( 又分为没有产生差异的通过报告和差异报 告) 和工具产生的一些日志文件。 2 5 3 测试件的维护 在屏幕输出对比测试过程中,测试件的维护主要涉及对测试组中业务图片 1 6 i i i i 第2 章屏幕输出对比测试方法研究 的维护和对测试结果中的结果报告的维护。 因为在屏幕输出对比测试过程中要产生大量的图片。如果不定期地进行相 应的维护,有些无用的图片将会占用大量的磁盘空间,而且也会使测试件难于 维护,因此在对比测试结束后只需要保留那些产生差异的系统图片而删除所有 没有产生差异的系统图片。 另外对于结果报告在进行确认后也只需保留差异报告进行差异分析而删除 所有的通过报告。 2 6 工具实现的几个问题探讨 2 6 1图像文件选取的探讨 2 6 1 1 图像文件种类选取 图像文件可大致分为点阵图( 也叫位图或光栅图) 和矢量图( 又叫向量图) 两大类m 1 。 位图又叫点阵图,其中存贮的是图像中每个点( 对应于以正常大小在屏幕 上显示的像素) 的信息。 矢量图又叫向量图,它用一些数学公式来描述图形中的点或曲线。矢量图 形不仅可以存储平面图形,还可以存储三维立体图形。 一般像照片、特效字之类颜色复杂的图形是用点阵图来存贮的,而像卡通 画、工程样图等仅由线条和色块组成的图形则是用矢量图来表示的。而且一般 对屏幕切图存储的图像文件为位图,所以本课题的屏幕输出对比测试工具输入 图片文件选取为位图。 2 6 1 2 图像文件格式选取 屏幕输出对比测试工具输入的图像文件选取的标准是:它应是一种通用的 标准文件格式,在图像的存贮过程中没有损失图像的信息,同时应该容易用程 序对图像文件进行解析和处理。 北京工业大学工学硕士论文 以下是一些目前常见的位图图像文件格式及其特性: ( 1 ) b m p ( w i n d o w sb i t m a p ) :b m p 是w i n d o w s 的标准图像格式,绝大 多数微软的软件可以很简单的导入和导出b m p 文件。最大色深为2 4 b i t ,可以 不压缩存储,也可以用r l e 无损压缩方案存储。 ( 2 ) p c x :p c x 在d o s 时代应用十分广泛,但目前已经比较少见了。 ( 3 ) g i f ( g r a p h i c si n t e r c h a n g ef o r m a t ) :这种文件格式提供非常小的文件, 最大色深为8 b i t ,在网络上它可以提供快速的下载和显示速度。因为只有2 5 6 种颜色被保存到文件中意味着用它存储图像会有很大的质量丢失。 ( 4 ) j p e g ( j o i n tp h o t o g r a p h i ce x p e r t sg r o u p ) :这也是目前电脑中最常见 的图形文件之一,尤其适合保存真彩色的照片。这种格式应用的是有损伤的压 缩。 ( 5 ) t i f f ( t a gi m a g ef i l ef o r m a t ) :这是m a c i n t o s h 上广泛使用的图形格 式,具有图形格式复杂、存贮信息多的特点。3 d s 、3 d sm a x 中的大量贴图即 是t i f f 格式的。 除了上面几种外,还有一些不常用的点阵图形格式,如t g a 、p i c t 、i f f 、 p x r 、r a w 。 按照图像文件选取的标准,认为b m p 文件是理想的文件格式。 2 6 1 3b m p 文件介绍 因为在对b m p 图像文件进行解析时需要对位图、设色板以及b m p 文件的 结构有一定的了解,下面对这些知识作以概述。 ( 1 ) 位图和调色板。 自然界中的所有颜色都可以由红、绿、蓝( r ,g ,b ) 组合而成。根据红、 绿、蓝各种不同的组合我们就能表示出2 5 6 2 5 6 2 5 6 ,约1 6 0 0 万种颜色。如果 一个图像的每一个象素都用r 、g 、b 三个分量表示,则存储一个图文件需要 很大的空间,因此许多图像文件( 对于非真彩色图) 引入了调色板( p a l e a e ) , 另一种叫法是颜色查找表l u t ( l o o ku pt a b l e ) :即用一个表来表示一个图像 文件中可能出现的所有颜色,表中的每一行记录一种颜色的r 、g 、b 值。这 第2 章屏幕输出对比测试方法研究 样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在 表中的索引值。 ( 2 ) b m p 文件格式介绍。 b m p 文件大体上分成四个部分,如表2 一l 所示。 表2 - 1 w i n d o w s 位图文件结构示意图 t a b l e2 - 1w i n d o w sb i t m a pf i l es n u c n e ss k e t c hm a p 位图文件头b i t m a p f i l e h e a d e r 位图信息头b i t m a p i n f o h e a d e r 调色板p a l e t t e 实际的位图数据i m a g e d a t e 第一部分为位图文件头b i t m a p f i l e h e a d e r ,是一个结构,其定义如 下: t y p e d e f s t r u c tt a g b i t m a p f i l e h e a d e r w o r d b i t y p e ; d w o r d b f s i z e ; w o r db f p e s e r v e d l : w o r d b f r e s e r v e d 2 ; d w o r d b f o f i b i t s ; ) b i t m a p f i l e h e a d e r ; 这个结构的长度是固定的,为1 4 个字节( w o r d 为无符号1 6 位整数, d w o r d 为无符号3 2 位整数) 第二部分为位圈信息头b i t m a p i n f o h e a d e r ,也是一个结构,其定义 如下: t y p e d e f s t m c tt a g b i t m a p i n f o h e a d e r d w o r d b i s i z e ; l o n g b i w i d t h ; l o n g b i h e i g h t ; w o r d b i p l a n e s ; 1 9 北京工业大学工学硕士论文 w o r db i b i t c o u n t d w o r d b i c o m p r e s s i o n ; d w o r d b i s i z e l m a g e ; l o n g b i x p e l s p e r m e t e r ; l o n g b i y p e l s p e r m e t e r ; d w o r d b i c l r u s e d ; d w o r d b i c l r i m p o r t a n t ; ) b i t m a p i n f o h e a d e r ; 这个结构的长度是固定的,为4 0 个字节( l o n g 为3 2 位整数) ,主要 几个域的说明如下: b i w i d t h 指定图像的宽度,单位是象紊。 b i h e i g h t 指定图像的高度。单位是象素。 b i b i t c o u n t 指定表示颜色时要用到的位数,常用的值为1 ( 黑白二色图) ,4 ( 1 6 色图) , 8 ( 2 5 6 色) 。2 4 ( 真彩色图) 。 b i s i z e l m a g e 指定实际的位图数据占用的字节数。 如果b i c o m p r e s s i o n 为b i _ r g b ,则该项可能为零。 b i c i r i h e d 指定本图像实际用到的颜色数,如果该值为零,则用到的颜色数为 2 b i b i t c o “。 调色板实际上是一个数组,共有b i c l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动端健康医疗应用开发
- 职教数学复习 第7章简单几何体与立体几何 第34讲简单几何体的三视图 课件
- 甲状腺次全切除术课件
- 天津市河东区2024-2025学年高二下学期7月期末物理试题(含答案)
- 用电安全知识培训课件开场白
- 新解读《GB-T 36041-2018压水堆核电厂安全重要变量监测准则》
- 生药学课件-大黄
- 2024垃圾清理协议合同
- 2024建设用地使用权出租合同(8篇)
- 2025年考研英语(一)阅读理解模拟试卷 真题解析与训练
- 跨文化沟通障碍原因分析及解决方法
- 福建省泉州市五中七中等七校联合2022-2023学年八年级上学期期末教学质量检测数学试题
- 2022室外排水设施设计与施工-钢筋混凝土化粪池22S702
- 2022版义务教育(道德与法治)课程标准(附课标解读)
- 《礼仪与修养》01 目录
- 解读性激素六项培训课件
- 胖东来总配电室操作规范
- 人教版初中学业水平考试地理试题与答案(共五套)
- 砼回弹强度自动计算表
- 教师课堂管理方法和技巧课件
- 小学科学教师专题培训课件
评论
0/150
提交评论