基于ant脚本的代码质量评价的研究与应用硕士学位论文1.doc
《基于ant脚本的代码质量评价的研究与应用硕士学位论文1.doc》由会员分享,可在线阅读,更多相关《基于ant脚本的代码质量评价的研究与应用硕士学位论文1.doc(61页珍藏版)》请在三一办公上搜索。
1、硕士学位论文基于ANT脚本的自动化测试集成工具的开发与应用摘要在现代软件开发与维护阶段中,靠什么手段来保障软件的质量?毫无疑问,靠的就是软件测试。随着软件工程技术的日益成熟以及用户对软件产品质量的期待也越来越高,软件测试已经渗透到软件生命周期的每一个环节,在软件开发、生产与维护过程中扮演着重要的角色。 论文详细阐述了自动化测试技术的基本理论和ANT技术,分析了已有自动工测试工具不足,运用ANT技术对现有的自动化测试技术、测试框架以及自动化测试工具的集成和扩充。通过分析现有自动化测试测试工具的优缺点和面临的挑战,结合自动化测试理论与技术,运用ANT技术对自动化工具Findbugs,Checkst
2、yle,PMD,CodeReview,Junit,Jdepend,Function testing和performance testing进行二次开发的集成和补充,弥补这些工具相互之间不足的地方,来设计并实现了基于ANT的自动化测试工具。该自动化测试工具采用模块化设计,主要应用于对软件开发完成后进行代码质量测试、单元测试测试、性能测试、功能测试等自动化测试,实现了测试脚本生成自动化、测试执行与验证自动化、测试报告生成自动化。关键词:自动化测试,自动化测试框架,代码质量,ANTAbstractSoftware testing plays a significant role to ensure
3、the 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 develo
4、pment 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 too
5、ls. 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 perf
6、ormance 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
7、 automated 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 自动化测试的
8、概述52.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模块的脚本42
10、5.1.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.
11、4 自动测试工具中主要类的关系图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软件,Rati
14、onal公司的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
19、level)软件质量评价设计评价准则(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介绍。对A
22、NT作为在论文研究工具中进行二次开发的自动化测试构建工具,本章作了简单介绍。本章还介绍了ANT的工作机制和原理,以及在具体项目评价中的应用。第四章,基于ANT的自动化测试工具的设计与实现。介绍并分析了自动化测试工具的设计策略,并在此基础上通过ANT把原有的自动化工具进行集成和补充。在本章后面部分中,对ANT所要整合在一起的各主要功能模块和详细设计进行论述。第五章,基于ANT的自动化测试工具的实施。根据第四章中所介绍的自动化测试工具的设计,本章将详细论述了自动化测试工具是如何对被测软件进行自动化测试评价的,以及如何在原有的项目中实现集成和补充,并对所产生的结果报表做进一步分析。第六章,对全文进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ant 脚本 代码 质量 评价 研究 应用 硕士学位 论文
链接地址:https://www.31ppt.com/p-4022217.html