基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc

上传人:仙人指路1688 文档编号:4022230 上传时间:2023-04-01 格式:DOC 页数:61 大小:1.44MB
返回 下载 相关 举报
基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc_第1页
第1页 / 共61页
基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc_第2页
第2页 / 共61页
基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc_第3页
第3页 / 共61页
基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc_第4页
第4页 / 共61页
基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc》由会员分享,可在线阅读,更多相关《基于ant脚本的代码质量评价的研究与应用硕士学位论文.doc(61页珍藏版)》请在三一办公上搜索。

1、 基于ANT脚本的自动化测试集成工具的开发与应用 摘要在现代软件开发与维护阶段中,靠什么手段来保障软件的质量?毫无疑问,靠的就是软件测试。随着软件工程技术的日益成熟以及用户对软件产品质量的期待也越来越高,软件测试已经渗透到软件生命周期的每一个环节,在软件开发、生产与维护过程中扮演着重要的角色。 论文详细阐述了自动化测试技术的基本理论和ANT技术,分析了已有自动工测试工具不足,运用ANT技术对现有的自动化测试技术、测试框架以及自动化测试工具的集成和扩充。通过分析现有自动化测试测试工具的优缺点和面临的挑战,结合自动化测试理论与技术,运用ANT技术对自动化工具Findbugs,Checkstyle,

2、PMD,CodeReview,Junit,Jdepend,Function testing和performance testing进行二次开发的集成和补充,弥补这些工具相互之间不足的地方,来设计并实现了基于ANT的自动化测试工具。该自动化测试工具采用模块化设计,主要应用于对软件开发完成后进行代码质量测试、单元测试测试、性能测试、功能测试等自动化测试,实现了测试脚本生成自动化、测试执行与验证自动化、测试报告生成自动化。关键词:自动化测试,自动化测试框架,代码质量,ANTAbstractSoftware testing plays a significant role to ensure the

3、reliability and quality of software in software developing and maintaining process. With the continuous higher requirement from the development of software industry, software testing has been participating into every phase of software life cycle, become more and more important in software developmen

4、t and maintenance.The paper expatiates on the basic theory of automation testing technology and the introduction of ANT, analyzes the value of automation testing, researches on the existing automation testing technology、testing framework and the integration and implement of automated testing tools.

5、Through analyzing the disadvantages and disadvantages and the challenges of existing automated testing tools. The Ant realizes the automation testing tool which is integrated and implemented on the automation tools Findbugs, Checkstyle, PMD, Code review, Junit, Jdepend, function testing and performa

6、nce testing to implement the weakness of these tools. The tool is mainly used to do code quality testing automation testing, Junit testing, performance testing and function testing on software under product development. It can realize the automated test scripts generation and implementation, the aut

7、omated test data verification, the automated test report generation. Key Words: Automation testing, Automation testing framework, Code quality, ANT 目录摘要iAbstractii目录I图目录III表目录IV第1章 绪论11.1 论文研究背景11.1.1 软件质量保证11.1.2 软件测试11.1.3 自动化测试21.2国内外研究现状21.3论文的研究目标与内容31.4论文章节安排31.5本章总结4第2章 软件自动化测试52.1 自动化测试的概述52

8、.2 自动化测试过程52.3自动化测试生命周期72.4自动化测试的价值92.4.1 手工测试的问题与面临的挑战92.4.2 自动化测试的优点102.4.3 自动化测试的问题与缺点112.5 自动化测试工具112.5.1 应用自动化测试工具的目的112.5.2 自动化测试工具的介绍112.6 本章小结13第3章 ANT介绍143.1 ANT概述143.2 ANT的工作原理143.3 ANT的生成文件143.3.1 project元素143.3.2 target元素153.3.4 property元素153.3.5 ANT的生成文件解析153.4 本章小结17第4章 基于ANT的自动化测试工具的设

9、计与实现184.1 工具整体介绍184.1.1 自动化测试框架的介绍184.1.2自动化测试框架的分类194.1.3工具的总体设计194.2 自动化测试工具的设计214.2.1 自动化测试的流程分析214.2.2 功能模块详细设计224.2.3工具的结构设计244.2.4自动测试工具与Ant集成测试的实现254.3 数据库设计314.4 本章小结39第5章 基于ANT的自动化测试工具的实施405.1 基于ANT测试脚本的生成405.1.1 代码质量模块的脚本405.1.2 CodeReview模块整合的脚本415.1.3 Junit模块的脚本415.1.4 Jdepend模块的脚本425.1.

10、5 FunctionTesting模块的脚本435.1.6 PerformanceTest模块的脚本445.2 基于ANT的测试脚本的执行445.2.1 测试脚本的自动执行445.2.2 测试执行中的结果进行验证455.3 测试报告的生成455.4 本章小结50第6章 总结与展望516.1 本文完成的主要研究工作516.2 进一步的研究工作516.3 本章小结52参考文献53作者简历55致谢56图目录图 2.1 自动化测试过程5图 2.2 评估流程6图 2.3 自动化测试流程7图 4.1 自动化测试工具功能结构图20图 4.2 评价结果的汇总图22图 4.3 功能模块结构图23图 4.4 自动

11、测试工具中主要类的关系图25图 4.5 工程目录结构图图26图 4.6 单元测试输出日记图29图 4.7 单元测试结构报告30图 4.8 Junit详细单元测试报告31图 5.1 测试总结报告45图 5.2 Junit的详细测试报告46图 5.3 checkstyle的详细测试报告47图 5.4 Sonar详细测试报告48图 5.5 Jdepend的详细测试报告49图 5.6 Performance Testing的详细测试报告49表目录表3. 1 Project元素的3个属性及描述表14表4. 1 代码质量汇总数据表(CodeQualitysummary)32表4. 2 代码质量明细数据表(

12、CodeQualityDetail)33表4. 3 云遵循数据数据表(CloudCompliance)34表4. 4 代码质量明细数据表(CodeReviewSummary)35表4. 5 单元测试信息数据表(JunitSummary)35表4. 6 Code Coverage的明细表(CodeCoverageSummary)36表4. 7 Jdepend汇总表(JdependSummary)37表4. 8 功能测试汇总表(FunctionSummary)38表4. 9 性能测试汇总表(FunctionSummary)38第1章 绪论1.1 论文研究背景随着科学技术的不断进步和创新,软件系统变

13、得越来越复杂,体积也变得越来越大,且开发周期也越来越短,需求变化也越来越频繁,这些都是当前软件开发过程的主要特征。如何按时、高质量地交付软件,已经成为软件行业的重要挑战。为了应付这一挑战,这必然引起了对测试工作的重视,一款好软件的出世,不但要求有强大的测试团队,该团队必须具备在业务方面、测试技能方面的专业水平,而且在软件开发过程方面经常由于测试而作持续不断地调整。幸运的是,随着软件开发技术和工具的提高,软件工程和软件过程实践的推广,软件测试日益得到重视和专业化。软件测试工具的研发也取得了卓有成就,如动态分析工具产品中有代表性的是Compuware公司的DevPartner软件,Rational

14、公司的Purify系列等;静态分析工具产品中,有代表性的是Checkstyle、PMD 等软件1。1.1.1 软件质量保证软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。软件质量保证的工作内容和工作方法主要如下:(1)针对具体项目制定SQA计划,确保项目组正确执行过程。(2)依据SQA计划进行SQA审计工作,按

15、照规则发布审计结果报告。(3)对审计中发现的问题,要求项目组改进,并跟进直到解决。1.1.2 软件测试软件测试就是在规定的条件下对程序进行操作,以发现程序错误,衡量软件品质,并对其是否能满足设计要求进行评估的过程。从广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。狭义上讲,测试是对软件产品质量的检测和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价210。Glen Myers对软件测试提出了一下观点:(1) 测试是一个程序的执行过程,其目的在于发现错误。(2)一个好的测试用例很可能是发现至今尚未察觉的错误。(3)一个成功的测试用

16、例是发现至今尚未察觉的错误的测试。软件测试主要的工作内容,即验证和确认。下面分别给出其定义:验证:保证软件以正确的方式来做了这个事件。确认:保证软件做了你所期望的事情。1.1.3 自动化测试自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。由于软件测试的工作量在整个软件按开发周期中占了很大的部分,同时软件测试的许多操作是重复性、非创造性的、高度提高注意力的活,计算机毫无疑问地可以替代人们

17、去完成这些活。因此,实行自动化测试,不仅能够使测试工作效率提高,同时也降低开发成本和缩短开发周期4。目前有许多自动化测试框架已被开发出来,并广泛应用与各种自动化测试过程中。但是这些自动测试框架不能够做到很全面的测试,不同测试框架侧重点不同,测试结果也不大一样。于是提出了对原有的自动化测试框架和工具进行集成和补充并将其应用到测试工作中去,通过利用自动化测试框架的优势来弥补原有自动化测试框架中存在的缺陷,来提高自动化测试的效率5。1.2国内外研究现状国内外针对软件质量评估提出了很多质量度量模型。1968年由Ruhey和Hurt wic就软件的一些特性提出了度量方法,但尚未建立质量度量模型,所提出的

18、度量方法也不完整。1976年,Bochm等人提出了定量的评价质量的概念,给出了60个质量度量公式,表明怎样用于评价软件质量,并且首次提出了软件质量度量的3种模型。1978年,Winters和McCall提出了从软件质量要素(factor)、准则(criteria)到度量(metric)的3层次式的软件质量度量模型。McCall认为,软件的质量有11个要素构成,即正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性和连接性。ISO于1985年提出建议,软件质量度量模型有3层组成:高层(top level)软件质量需求评价准则(SQRC)、中层(mid leve

19、l)软件质量评价设计评价准则(SQRC)和底层(low level)软件质量度量评价准则(SQMC)。ISO三层次模型来自McCall等人的模型,高层、中层和底层分别对应与McCall模型中的特性、质量准则和度量。上海软件中心根据ISO/TC97/SC7的建议,同时参照McCall模型和Boeing模型,并结合我国实际情况综合构成了SSC(shanghai Software Center)软件质量度量模型及度量方法,从而形成了SSC软件质量评价体系3。1.3论文的研究目标与内容本文主要是结合Ant的应用,对公司项目评价系统中原有的测试工具和测试框架的再次开发进行研究。研究了原有软件自动化测试框

20、架和自动化测试技术的不足地方,利用ANT技术对已有的一套方法、工具进行集成和补充,设计并实现了一个基于ANT的自动化测试代码质量评价工具。本文的具体研究内容与所获得成果如下:(1)对原有自动化测试技术进行分析。通过研究自动化测试的概念、过程、生命周期等,来论述了软件评价的优缺点以及存在的一系列问题。(2)阐述原有的测试工具存在的不足之处以及ANT技术,解决了如何利用ant技术对这些测试工具进行集成和补充,并说明集成这些测试工具的原因。(3)以Cashpro软件作为测试对象,利用基于ANT的自动化测试工具,来实现自动化测试,并对这些测试出来的结果进行分析和评价。开发者可以根据对评价报表反映的软件

21、存在的问题进行修改和完善,从而保障软件质量的可靠性。(4)详细阐述了基于ANT的自动化测试工具的设计、实现以及应用,通过对整个自动化测试工具的开发作总结,提出了未来需要改进的地方,并对未来自动化测试工具的广泛应用作了展望。1.4论文章节安排根据上述研究内容的阐述,本文大概的章节安排如下:第一章,绪论。主要介绍了本文研究的背景,代码质量评价体系的国内外现状,研究的项目情况以及本文主要完成的工作,并介绍了本文的组织结构。第二章,软件自动化测试的介绍。主要介绍自动化测试的概念、过程和生命周期,通过分析和对比自动化测试的优缺点,最后介绍了已有被广泛应用的自动化测试工具。第三章,ANT介绍。对ANT作为

22、在论文研究工具中进行二次开发的自动化测试构建工具,本章作了简单介绍。本章还介绍了ANT的工作机制和原理,以及在具体项目评价中的应用。第四章,基于ANT的自动化测试工具的设计与实现。介绍并分析了自动化测试工具的设计策略,并在此基础上通过ANT把原有的自动化工具进行集成和补充。在本章后面部分中,对ANT所要整合在一起的各主要功能模块和详细设计进行论述。第五章,基于ANT的自动化测试工具的实施。根据第四章中所介绍的自动化测试工具的设计,本章将详细论述了自动化测试工具是如何对被测软件进行自动化测试评价的,以及如何在原有的项目中实现集成和补充,并对所产生的结果报表做进一步分析。第六章,对全文进行了总结,

23、回顾了本文的研究内容,并提出进一步可以进行研究的内容,作为未来将要完成的工作的重点。1.5本章总结在本章中,首先介绍了代码质量和自动化测试的的发展现状,概要地介绍了国内外研究现状,从中借签一些成功的经验。另外,本章还列出了本文的主要研究内容、研究目标以及文章的组织结构。第2章 软件自动化测试2.1 自动化测试的概述自动化测试就是希望通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。自动化测试的目的在于发现老缺陷,而手工测试的目的在于发现新缺陷。通常,软件测试的工作量很大(据统计,测试会占用到40%的开发时间;一些可靠性

24、要求非常高的软件,测试时间甚至占到开发时间的60%)。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务。软件自动化测试时相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点68。2.2 自动化测试过程自动化测试7无非是利用自动化测试工具,经过对测试需求的分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本。测试脚本的正确性,同样需要经历需求分析、计划、测试用例设计、测试、评估,如图2.1所示。图2.1 自动化测试过程(1) 自动化测试需求分析。当

25、测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便可以开始进行自动化测试需求分析,可落实到测试需求说明书。(2) 测试计划。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。此外,还需要定义测试活动模型(确定测试所使用的测试技术),定义测试体系结构,完成测试程序的定义域映射(建立测试程序与测试需求之间的联系),自动/手动测试映射(确定哪些测试使用自动测试),测试数据映射,确定如何测试,划分测试阶段、类型及测试方法等。(3)自动化测试框架的搭建。此过程需要确定自动化测试框架需要调用哪些文件、结构,调用的过程,以及文

26、件结构如何划分。自动化测试框架的典型要素如下:公用的对象;不同测试用例里面被重复使用的相同对象;公用的环境。公用的方法。测试数据。(4)测试用例设计-编写测试用例或开发测试脚本,并文档化。(5)测试调试测试(针对自动化测试脚本)。 (6)评估评估测试结果并改进测试过程。 测试执行结束后,需要对测试结果进行比较、分析以及结果验证,得出测试报告。其中总结性报告时提供给被测方的中高层管理者及客户的,而详细报告作为反馈文档提供给开发小组成员。评估过程如图2.2所示。图2.2 评估流程这个阶段由测试设计工程师与测试工程师共同参与。构建好的待测系统上使用测试用例脚本执行测试数据,其中测试数据时被设计用于测

27、试该应用程序的各种特征的。可以使用Excel、word、ClearQuest等工具得到测试后的测试结果日记、测试度量、缺陷报告及测试评估总结等。2.3自动化测试生命周期自动化测试的生命周期主要由以下六个阶段组成:编写测试脚本、开始测试、发送测试命令、收集数据、显示测试结果、输出测试报告。测试自动化流程如图2.3所示。图2. 3 测试自动化流程在软件的开发生命周期中,并不是自动化测试运用的越多越好,也不是自动化测试越少越好,而是根据项目测试的实际情况来进行运用,才能使自动测试的生命周期达到理想状态。评判自动化测试是否应用的标准就是看自动化测试的价值是否超过了手工测试的价值。根据自动化测试的条件可

28、以划分如下两种情况:适合自动化测试的情况:(1)产品型项目产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测试哪些没有改进过的功能,这部分测试完全可以让自动化测试来承担,同时可以把新加入的功能的测试页慢慢地加入到自动化测试当中(2)增量开发、持续集成的项目由于这种开发模式是频繁的发布新的版本进行测试,也就需要频繁的自动化测试,以便把人从中解脱出来测试新的功能。(3)回归测试回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了,在某种程度上可以把自动化测试工具叫做回归测试工具。(4)多次重复、机械性操作自动化测试最适用于多次重复、机械性动作,这

29、样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试。(5)需要频繁运行测试在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本,提高工作效率。(6)性能、压力测试实现多人同时对系统进行操作时是否正常处理和响应以及系统可承受的最大访问量的测试。自动化测试不是适合所有公司、所有项目。大致不适合自动化测试的情况有:(1)定制型项目(一次性的)为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,即公司在这方面的测试积累就少,这样的项目部适合作自动化测试。(2)项目周期很短的项目项目周期很短,测试周期很短,就不值得花精力去投资自动化

30、测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。(3)业务规则复杂的对象业务规则复杂的对象,有很多的逻辑关系、运算关系,工具就很难测试。(4)美观、声音、易用性测试人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有人来测试。(5)测试很少运行测试很少运行,对自动化测试就是一种浪费。自动化测试就是让它不厌其烦的、反反复复的运行才有效率。(6)软件部稳定软件部稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试。(6)设计物理交互工具很难完成与物理设备的交互,比如刷卡的测试等。2.4自动化测试的价值根据以上

31、论述,自动化测试首要解决的问题就是看自动化测试的价值是否大于同等情况下的手工测试的价值。因此,我们在进行自动化测试之前要评估测试的生命周期,看看是否能够进行自动化测试。2.4.1 手工测试的问题与面临的挑战随着软件产业的日趋成熟,软件测试不只是发现软件缺陷的手段,而且在软件质量的保证中业起着扮演着重要的角色。随着软件质量越来越受到人们的关注,传统的以手工测试为主的手段,一方面面临着测试测试数量的增加,另一方面人工劳动强度的增加导致测试失误的频率的增加,进而导致软件测试的周期延长,使用自动化测试技术迫在眉急。测试人员可以根据手工测试需求,来使用测试工具产生测试脚本。在后续的测试工作中,只需少量修

32、改测试脚本就可反复使用,就可实现自动化测试。手工测试所面临的问题和挑战如下:(1)对回归测试不适合。由于回归测试的动作和用例是完全设计好的,期待的结果也是完全预料到的,如果测试用例过多,就浪费很多时间、人力、成本等资源。(2)运行更多繁琐的测试不适合手工测试。如果纯手工来进行测试,需要花费较多的时间才能运行完更多的测试。(3)需要性能、压力的测试不适合手工测试。(4)需要频繁的发布新的版本的测试不适合手工测试。(5) 手工测试不适合多次重复、机械性操作的测试。2.4.2 自动化测试的优点相对于手工测试而言,好的自动化测试在某种情况下可以达到难以置信的效果。自动化测试相对于手工测试,具有如下优点

33、:1、对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。2、可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。3、可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。4、更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解

34、脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。5、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。6、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。7、增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。根据上面论述,自动

35、化测试比手工测试的好处和优点是一切尽在不言之中,在合适的环境下运用自动化测试,将能从自动化测试中受益匪浅。2.4.3 自动化测试的问题与缺点当然,自动化测试不是万能的,他不能完全替代手工测试。在软件版本还没有稳定的情况下,千万不要开展自动化测试,否则是自讨苦吃:1、不能取代手工测试2、手工测试比自动测试发现的缺陷更多3、对测试质量的依赖性极大4、测试自动化不能提高有效性5、测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。7、工具本身并无想像力综上所述,可以归结自动化完成不了的,手工测试都能弥补,两者有效的结合是测试质量保证的关键。2.5 自动

36、化测试工具随着软件质量越来越受到人们的关注,越来越多的IT公司开始逐步使用自动化测试工具来进行项目质量保证。正确地选择和使用自动化测试工具,可以从以下角度来进行考虑:(1)按照用途选择匹配的测试工具。(2)在适当的生命周期选择测试工具。(3)按照测试人员的实际技能选择匹配的测试工具。(4)选择一个可提供的测试工具。2.5.1 应用自动化测试工具的目的一般而言,使用测试工具的目的是为了更加快速,有效地对软件进行测试,提高软件产品的质量。2.5.2 自动化测试工具的介绍测试工具可以从两个不同的方面去分类。根据测试方法不同,自动化测试工具可以分为:白盒测试工具、黑盒测试工具和测试管理工具三大类,此外

37、还有些专用的自动化测试工具。1.白盒测试工具一般是针对被测源程序进行的测试,测试所发现的故障可以定位到代码级。根据测试工具工作原理的不同,白盒测试的自动化工具可分为静态测试工具和动态测试工具。静态测试工具是在不执行程序的情况下,分析软件的特征,静态分析主要集中在需求文档、设计文档以及程序结构方面。按照完成的只能不同,静态测试工具包括以下几种类型:(1)代码审查(2)一致性检查(3)错误检查(4)借口分析(5)输入输出规则说明分析检查(6)数据流分析(7)类型分析(8)单元分析(9)复杂度分析。常用的动态工具有:Telelogic公司的Logiscope软件,PR公司的PRQA软件等12。动态测

38、试工具是直接执行被测程序以提供测试活动,它需要实际运行被测系统,并设置断点,向代码生成的可执行文件中插入一些监测代码,掌握断点这一时刻程序运行数据(对象属性、变量的值等),具有功能确认、接口测试、覆盖率分析、性能分析等性能。动态测试工具可以分为以下几种类型:(1)功能确认(2)覆盖测试(3)性能测试(4)内存分析。常用的动态工具有:Compuware公司的DevPartner,IBM公司的Rational。2.黑盒测试工具是在明确软件产品应具有的功能的条件下,完全不考虑被测程序的内部结构和内部特征,通过测试来检验软件功能是否按照软件需求规则的说明正常工作。按照完成的职能不同,黑盒测试工具可以分

39、为:功能测试工具用于检测程序能否达到预期的功能要求并正常运行。性能测试工具用于确定软件和系统的性能。常用的黑盒测试工具有:Compuware公司QACenter,IBM公司的Rational TeamTest。3.测试管理工具用于对测试过程进行管理,帮助完成制定测试计划,跟踪测试运行结果。通常,测试管理工具对测试计划、测试用例、测试实施进行管理,还包括缺陷跟踪管理等。常用的测试管理工具有IBM公司的Rational Test Manager。测试管理工具包括以下内容:测试用例管理、缺陷跟踪管理(问题跟踪管理)、配置管理。4.除了上述所讲的测试工具以外,还有一些专用的自动化测试工具,例如,针对数

40、据库测试的TestBytes,对应用性能进行优化的EcoScope等工具79。2.6 本章小结在本章中,首先介绍了软件自动化测试的概念、过程和生命周期,通过分析和对比自动化测试的优缺点,得出自动化应用的条件,最后介绍了已有被广泛应用的自动化测试工具。第3章 ANT介绍3.1 ANT概述Ant1314是用于构架、部署Java程序的一个工具,使用Ant可以明显加快Java应用开的进程。Ant是著名的Apache基金会的一个开源项目,Ant的主页是http:/ant.apache.org/。Ant可以自动化构建、部署复杂的Java应用,极大地简化了Java的开发。Ant的应用也很广泛,包括编译、打包

41、、部署、进行Juint测试等。总之,Ant已经广泛地应用到Java的各个领域中。它以其易于使用、与平台无关、迎合如今项目自动测试和自动部署的需要,成为许多项目构建过程的重要环节。目前它已成为所有主要开源java项目采用的独立工具,并已成了事实上的标准。Ant具有以下优点:1. 自动化批处理,减少重复劳动。2. building.xml里的模块可重用,所以ant的可重用性也好。3. 支持的task很多,还可根据需要定制task。4. 能自动识别并跳过没有改动过的任务,避免无用功。3.2 ANT的工作原理Ant的运行,靠的是一个构建脚本。默认的名称叫build.xml,如果你在任何目下运行ant命

42、令,Ant将自动查找当前目录下有没有build.xml文件,如果有这个文件,就读取这个文件,并运行其中的默认target。3.3 ANT的生成文件3.3.1 project元素每个build.xml文件都包含一个project元素和至少一个(默认的)target元素。一个project元素包含3个属性,name、default和basedir,下面分别介绍,如表所示。表3. 1 Project元素的3个属性及描述表属性描述是否必要nameProject项目的名字否default不指定target时默认执行的Target否续表Project元素的3个属性及描述表属性描述是否必要basedir所有

43、路径的基目录否3.3.2 target元素一个项目(project)可以定义一个或多个目标(target)。一个target是一系列想要执行的任务的集合。执行Ant时,可以选择执行target的顺序。当没有给定target时,使用project的default属性所确定的target。一个target可以依赖于其他的target。例如,可能会有一个target用于编译程序,一个target用于生成可执行文件。在生成可执行文件之前必须先编译通过,所以生成可执行文件的target依赖于编译target。Ant会自动处理这种依赖关系。3.3.4 property元素一个project可以有很多的pr

44、operties。可以在buildfile中用property task来设定,或在Ant之外设定。一个propety task来设定,或在Ant之外设定。一个property有一个名字和一个值。Property可以于task的属性值。这是通过将属性名放在“$“和”之间并放在属性值的位置来实现的。例如,如果有一个propertybuildir的值是“build”,这个property就可用于属性值:$builddir/class,这个值就可被解析为build/classes。在Ant中,可以访问所有的系统属性(不需要重新定义),例如$os.name被解析成操作系统的名字。其他的系统属性可以参考Java文档中的System.getProperties部分,除了这些系统属性外,Ant本身还提供了一些内置属性。3.3.5 ANT的生成文件解析Ant生成文件使用xml文件编写(默认的xml文件名为build.xml),就是生成文件由单个project元素组成,该元素又包含个或多个target元素,个target元素是生成过程中已定义的一个步骤。而一个步骤中可以执行任意数量的Task任务每个task任务是一段可被执行的代码,Tasks实就是java代码。比如javac、java是两个最常用的Task。Build.xml文件的结构清单一所示:清单一: 续清单一 /targe

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号