[论文]数据驱动的格式化信息自动校验工具.doc
《[论文]数据驱动的格式化信息自动校验工具.doc》由会员分享,可在线阅读,更多相关《[论文]数据驱动的格式化信息自动校验工具.doc(46页珍藏版)》请在三一办公上搜索。
1、本 科 生 毕 业 论 文(设计)题目 数据驱动的格式化信息自动校验工具 摘要软件测试是软件生命周期中的一个重要阶段,是保证软件质量的关键因素之一。软件自动化测试技术可以减少软件测试的开销,提高测试的效率和准确率。软件测试自动化可分为:测试脚本、测试数据的自动化生成,测试用例的自动化执行,测试结果的自动化采集和分析三个方面。现有的自动化测试工具主要偏重于实现前两个方面的功能。本文提出一个基于数据驱动的文件信息自动化校验框架。并在此框架基础上实现了一个符合Compliance项目实际的文本校验工具Smart Checker。本文首先对现有的软件测试自动化框架的特点进行分析和比较。然后对提出的基于
2、数据驱动的文件信息自动化校验框架进行阐述。其中会对使用到的XML技术和LCS算法进行研究。最后在框架的基础上进一步对自动化数据校验工具Smart Checker的实现进行阐述。关键词软件测试 软件测试自动化框架 XML LCSAbstractSoftware testing is an important stage of software life cycle and a key factor which affect the quality of software. The technology of software test automation can greatly reduce
3、the testing cost and improve efficiency and accurate of software testing. Software testing automation contains three aspect of conceptiontest data generate automation, test case execute automation and test result data collect and analyze automation. Most existing automated testing tools mainly focus
4、ed on achieving the first two aspects.We design a fame work used to verify text data automatically. And develop a tool called Smart Checker based on this frame work to full fill the requirement of Compliance project.In this paper, we compare features of existing test automation frameworks first. The
5、n specify the architecture of Data-driven formatting automatic calibration frame work. XML technology and LCS algorism which applied in the framework will be introduced. At last,we do a further specification for the design and implementation of data verify automation tool Smart Checker.Keywords soft
6、ware test soft ware test automation framework XML LCS 目录摘要IAbstractII第1章 绪论11.1 课题背景和意义11.2 论文所做的工作2第2章 软件自动化测试框架的介绍32.1 自动化测试框架概述32.2 模块化测试框架32.3 测试库框架42.4 数据驱动测试框架42.5 关键字驱动或标驱动测试框架42.6 混合测试自动化框架52.7 本章小结5第3章 数据驱动的信息自动化校验框架的设计和应用技术的研究73.1 总体架构分析和设计73.2 系统工作流程93.3 校验过程103.3.1 线性循环校验103.3.2 LCS算法113
7、.4 XML技术的研究和应用143.4.1 XML简介143.4.2 Schema和DTD143.4.3 DOM153.4.4 XSL153.4.5 Xpath153.5 本章小结16第4章 Smart Checker的实现174.1 总体需求分析174.1.1 Compliance的介绍174.1.2 测试任务说明174.1.3 功能性需求184.1.4 性能需求184.1.5 移植性和扩展性需求184.1.6 输入和输出184.1.7 数据映射关系194.2 系统架构设计194.3 系统模块设计214.3.1 数据引擎(Data Engine)214.3.2 数据管理器(Data Mana
8、ger)234.3.3 校验引擎(Checking Engine)284.3.4 报告、日志生成模块(Report & Log)294.4 系统数据文件说明304.4.1 用户输入文件304.4.2 系统配置文件314.4.3 内部数据文件324.4.4 系统输出文件334.5 使用说明334.6 本章小结37第5章 总结和展望385.1 总结385.2 问题和扩展38参考文献39致谢40第1章 绪论1.1 课题背景和意义软件测试是在软件开发周期中必不可少的、最耗时的一部分。从测试手段来看,软件测试分为手工测试和自动化测试。自动化测试可以减少或消除一些手工测试中的重复和烦琐, 节约测试所必需的
9、时间和提高测试的一致性和可重复性, 提高产品质量并尽可能在软件生命周期的早期发现缺陷。正确、合理的实施测试自动化,能够快速、彻底的对软件进行测试, 从而提高软件质量, 节省经费, 缩短产品发布周期。但并非任何测试自动化都可以起到预期效果, 只有好的自动化测试体系才能扬长避短, 在质量保障方面有所作为; 否则, 测试自动化可能会由于其建立和维护等方面的负担造成延误工期、成本浪费, 甚至最终被完全放弃4。从本质上看,软件测试自动化就是将软件测试的手动测试用自动化测试工具代替。所以说软件测试自动化跟软件测试一样,也有它自己的生命周期。有人就提出和公布了自动化测试生命周期的方法学(Automated
10、Test Lifecycle Methodology, ATLM ) 这是一种调整的结构化方法学,能确保自动化测试的成功实现4。它定义了一种四阶段方法学;自动化测试的决定;自动化测试的介绍;测试计划、设计和开发;自动化测试的执行和管理软件测试自动化还有一个自动化程度的问题,毕竟,由于各方面因素的限制,完全的软件测试自动化是不可能的。这是由测试过程和测试工具的本质特点所决定的。测试工具和测试过程是不相同的。工具是用于促进测试过程的,工具能被用于实现一个过程并执行测试过程的各种规范。在很多情况下,工具自带的内建程序可以被理解为过程。但是它往往是不完整的,不能正确反映过程。最好的软件测试工具是能够将
11、它和测试需求达成一致,而且他们提供高度可定义的工作流程和跟踪报告能力,但这是不可能的,要达到这样的要求无异于再开发一个应用程序。自动化回归测试贯穿整个开发过程的单元测试、集成测试和系统测试,并使用最大和最小发布版本的系统产品分别测试。所有领域的自动化水平应该达到这样一种程度,它能够根据时间和成本适应用户的标准。实现的自动化程度越高,测试过程就越来越有效。同样,软件自动测试并不是万能的,并不能解决所有的问题,甚至自动化测试本身还存在这个方面的问题。因此,对于软件测试自动化进行研究和探索是非常有价值的。Compliance系统是公司遵照美国证券交易制度所开发的一个交易记录汇报系统。当前项目组的任务
12、是对compliance各个子系统的日志文件进行校验。在以往的手工测试中,测试员需要对日志文件中的每条记录根据测试用例和测试数据进行检验。但是,由于compliance系统的日志文件的数据量过分庞大并且各个子系统的日志格式差别很大。因此根据软件自动化测试的相关知识和概念,我们分析后认为完全有必要开发一个日志文件的校验工具来对compliance系统的各种日志文件进行统一的自动化校验。1.2 论文所做的工作本文主要描述数据驱动的格式化信息自动化校验工具的设计过程和关键技术,包括自动化测试框架、数据校验框架,关键技术和系统实现四个部分进行研究和分析。论文第二章介绍了现有的软件自动化测试框架,介绍了
13、模块化测试框架,测试库框架,数据驱动测试框架,关键字驱动测试框架和混合测试框架。比较了不同测试框架的特点和应用环境。论文第三章提出了数据校验框架的设计,框架分为数据引擎,数据管理器,校验引擎,报告日志生成器,UI五大模块。并且定义了各个模块的功能和交互关系和接口定义。同时也论述了在校验引擎中被使用到的数据比对算法线性循环比对算法和LCS算法。此外,本章对用于数据转化和存储的XML技术也进行了论述。在第四章里,我们介绍了基于数据校验框架所实现的自动化测试工具Smart Checker的设计和实现过程。包括系统需求的提取,软件架构的细化,软件模块的设计,数据文件的设计。详细介绍了主要的类的功能和交
14、互关系。论文最后总结了论文的主要成果和可能的扩展之处,并对扩展问题提出了可能实现的技术方案。第2章 软件自动化测试框架的介绍2.1 自动化测试框架概述 自动化测试在过去的2O年中已经有了很大的发展。最初的测试工具只提供了简单的捕捉回放功能:记录并播放键盘按键,然后捕捉和比较屏幕。这些测试方法虽然最容易应用 但是几乎不可能维护。录制回放工具最终被功能和灵活性更强的测试脚本工具代替但是脚本工具也有自己的问题。他们实现起来需要很强的开发技术和经验同时不确定它们是一定可以维护的。更糟糕的是高度个性化的脚本工具技术加上没有什么文档记录最后的结果经常是重写包含成千上万行代码的脚本库成本开销巨大。后来,一种
15、新的自动化测试产品 自动化测试框架出现了它可以减少实现和维护的成本使测试人员可以把精力集中在应用程序的测试用例设计上,而不是开发测试。所谓自动化测试框架,是由一些假设 概念和为自动化测试提供支持的实践组成的集合。自动化测试框架和应用软件开发的框架有很多类似的地方, 也很强调模块化和分层的概念, 通过抽象出不同的层来降低耦合, 增加聚合; 提高脚本开发效率, 方便维护, 增强稳定性。传统的结构化线形脚本已经无法满足上面的要求, 新一代的自动化测试框架提出无疑为自动化测试提供了解决问题的手段。国内外现有5种基本的软件测试自动化框架。2.2 模块化测试框架模块化测试脚本框架( Test Modula
16、rity Framework) 需要创建小而独立的可以描述的模块、片断以及待测应用程序的脚本6。这些树状结构的小脚本组合起来,就能组成能用于特定的测试用例的脚本。在这5种框架中,这个应该是最容易掌握和使用的。在一个组件上方建立一个抽象层,使其在余下的应用中隐藏起来,这是众所周知的编程技巧。这把应用同组件中的修改隔离开来,提供了程序设计的模块化特性。模块化测试脚本框架使用这一抽象或者封装的原理来提高自动测试组合的可维护性和可升级性。2.3 测试库框架测试库框架( Test Library Architecture) 与模块化测试脚本框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序
17、分解为过程和函数而不是脚本。这个框架需要创建描述模块、片断以及待测应用程序的功能库文件(例如SQABasic libraries,APIs,DLLs 等)6 。2.4 数据驱动测试框架数据驱动(Data - driven) 测试是一个框架。在这里测试的输入数据是从数据文件中读取( 数据池,ODBC 源,cvs 文件,excel 文件,DAO 对象,ADO 对象等) ,并且通过捕获工具生成或者手工生成的代码脚本被载入到变量中。在这个框架中,变量不仅被用来存放输入值还被用来存放输出的验证值。整个程序中, 测试脚本来读取数值文件, 记载测试状态和信息。这类似于表驱动测试。在表驱动测试中,它的测试用例
18、是包含在数据文件而不是在脚本中, 对于数据而言, 脚本仅仅是一个“驱动器”,或者是一个传送机构。然而,数据驱动测试不同于表驱动测试,尽管导航数据并不包含在表结构中。在数据驱动测试中, 数据文件中只包含测试数据。这个框架意图减少你需要执行所有测试用例所需要的总的测试脚本数。数据驱动需要很少的代码来产生大量的测试用例, 这与表驱动极其类似1。2.5 关键字驱动或标驱动测试框架对于一个独立于应用的自动化框架, 关键字驱动( Keyword - driven) 测试和表驱动( Table - driven) 测试是可以互换的术语。这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自
19、动化工具并可以用来“驱动”待测应用程序和数据的测试脚本代码。关键字驱动测试看上去与手工测试用例很类似。在一个关键字驱动测试中,把待测应用程序的功能和每个测试的执行步骤一起写到一个表中1。这个测试框架可以通过很少的代码来产生大量的测试用例。同样的代码在用数据表来产生各个测试用例的同时被复用。关键字驱动(Keyword Driven, 有时也叫TableDriven) 是脚本技术的一种, 实际上是比较复杂的数据驱动技术的逻辑扩展, 将数据文件变成测试用例的描述, 用一系列关键字指定要执行的任务。在关键字驱动技术中, 假设测试者具有某些被测系统的知识, 所以不必告诉测试者如何进行详细的动作, 只是说
20、明测试用例做什么, 而不是如何做。这样在脚本中使用的是说明性方法和描述性方法。描述性方法将被测软件的知识建立在测试自动化环境中, 这种知识包含在支持脚本中。关键字驱动脚本的数量不随测试用例的数量变化, 而仅随软件规模而增加。关键字驱动真正实现了数据与脚本分离, 测试逻辑与测试脚本分离, 实现了测试的完全定制7。使用模块化的测试脚本组织测试, 因为自动化测试就是编写测试脚本去测试被测试程序, 所以脚本开发本身也与程序开发一样, 在此使用的其实就是应用程序的一种开发模式而已2。关键字驱动技术是在数据驱动基础上发展起来的, 吸取了数据驱动中将可变部分和不可变部分分离以降低维护工作量的思想, 将测试逻
21、辑同测试脚本也分离开来。这一方式倡导只用脚本实现驱动逻辑(这一块也常叫framework), 而测试逻辑和测试数据都不放在脚本中(至少不与framework 放在同一处)。就GUI 测试而言, 比较有名的framework 有SAFS(Software Automation Framework Support) , 它的目标是试图建立一个与平台和执行工具无关的引擎, 目前支持的自动化测试工具中包含Rational Robot。2.6 混合测试自动化框架最普遍的执行框架是上面介绍的所有技术的一个结合,取其长处,弥补其不足。这个混合测试框架是由大部分框架随着时间并经过若干项目演化而来的。2.7 本
22、章小结基于上述5种基本框架产生的一些自动化测试工具(如Rational Robot ,Winrunner)都给实际的软件测试工作带来了很大的方便。使得测试人员得以把精力放在测试用例的设计上来。但是这些测试工具主要都是针对网络应用和用户界面测试而设计的,对于一些跨平台的面向数据的应用往往显得力不从心。并且为了追求更广泛的适用性,这些自动化测试工具在设计时,只是对一些公共的服务或功能提供了直接的测试手段。(如监控网络流量,抓取页面对象,捕获用户操作行为等)11因此,在使用这些工具对实际的项目进行测试时,必须用工具自带的脚本语言或工具包写测试脚本。如果针对一个功能点很多的项目,就可能要维护一个庞大的
23、脚本库。这样给那些对测试工具或测试脚本库并不非常熟悉的测试人员增加了上手的难度,无形中成为了软件测试流程中的一个风险因素。第3章 数据驱动的信息自动化校验框架的设计和应用技术的研究3.1 总体架构分析和设计数据的校验必定有两类的数据信息:目标数据信息和基准数据信息。目标数据信息是要校验的数据信息。它来源于实际的应该用项目。主要是具体项目中和业务相关的数据信息。多以文件或数据库数据的形式存在。基准数据信息是一类模板信息, 这类信息已经预先经过一定的手段来确保其正确性,从而可以作为校验的一个基准。这类数据信息多由测试员提供,或是直接从数据库中提取。对于某些简单的业务逻辑则可能会根据需要编写一定的脚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 数据 驱动 格式化 信息 自动 校验 工具
链接地址:https://www.31ppt.com/p-2392138.html