基于白盒测试的软件测试技术开发毕业论文.doc
《基于白盒测试的软件测试技术开发毕业论文.doc》由会员分享,可在线阅读,更多相关《基于白盒测试的软件测试技术开发毕业论文.doc(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 毕业设计(论文)中文题目:基于白盒测试的软件测试技术开发 英文题目: Software Testing Technology Development Based on White-Box Testing 学 院:计算机学院专 业:计算机科学与技术学生姓名:XXX学 号:*指导教师:XXX 2011 年 6 月 1 日 题 目: 基于白盒测试的软件测试技术开发 . 适合专业: 计算机科学与技术 .指导教师(签名): 提交日期: 年 月 日学院: 计算机与信息技术学院 专业: 计算机科学与技术 . 学生姓名: XXX 学号: * .毕业设计(论文)基本内容和要求:填写说明:要求学生完成的略微细化
2、的研究内容、技术指标、基本要求等。一 研究内容本毕业设计主要是针对白盒测试的单元测试的技术开发,运用Eclipse平台上的JUnit单元测试框架,来研究如何编写单元测试用例,熟练掌握并使用运用Eclipse工具进行测试,并且把测试自动化。二 技术指标1.单元测试技术的研究2.理解JUnit内部工作原理3.掌握JUnit特性三 基本要求1. 了解软件测试具体内容2. 对完整的程序进行完全的单元测试3. 学会如何编写测试用例 毕业设计(论文)重点研究的问题:填写说明:可以是重点研究问题的简单罗列。重点研究问题:1. 软件测试的不同种类测试2. JUnit完整生命周期3. 引入组件4. 测试异常处理
3、5. 实际单元测试测试项目参与毕业设计(论文)应完成的工作:填写说明:是指学校规定的外文翻译及摘要、论文字数及规范化等要求以外,学生应该做的工作和提交的成果,包括查阅文献数量的要求、调研与调研报告、设计图纸、说明书、实验及实验报告、计算机软件、硬件电路等方面应该做的工作和要求。应完成的工作:1. 熟练掌握Java2. 学习软件单元测试的相关理论知识3. 充分调研和查阅各种有关软件测试和JUnit的文献。4. 学习如何编写测试用例,完成单元测试案例集和单元测试报告。参考资料推荐:填写说明:要求学生查阅资料的范围(是否指定由指导教师确定),必须遵照的国家标准,教师认为需要指定的参考资料。1. Sh
4、adi G. Alawneh, Dennis K. Peters:Specifications-Based Test Oracle with JUnit.2. Shadi G. Alawneh, B. Eng.: Test-Driven Development with Oracles and Formal Specifications.3.Vincent Massol : JUnit IN ACTION其他要说明的问题:3 按题 目: 基于白盒测试的软件测试技术开发 . 学院: 计算机信息与技术学院 专业: 计算机科学与技术 . 学生姓名: XXX 学号: * . 文献综述:填写说明:指根据
5、研究内容查阅大量的参考文献,通过文献的阅读写清该课题内容的国内外研究现状、基本研究方法、当前存在的问题、发展动向,进而引出开展本设计(论文)研究的内容、意义、必要性和价值等(页面大小可以根据字数多少调整)。一 国内外研究现状至今为止计算机系统已经经历了4个不同的发展阶段,但是人们仍然没有彻底摆脱软件危机的困扰,软件已经成为限制计算机系统发展的瓶颈。为了更有效地开发与维护软件,软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了计算机软件工程学。任何工程方法都必须以有组织的质量保证为基础,而软件开发过程中的测试则是软件工程中重要的质量控制手段之一。软件测试在软件的生命周
6、期中占据重要的地位,在传统的软件开发模式瀑布模型中软件测试在软件运行维护阶段之前。近来软件工程界渐渐的出现了一种新的观点,认为软件生命周期中每一个阶段都应该包含软件测试,尽早的发现软件缺陷并确保其得以修复。在软件比较发达的国家里,软件测试不仅早已成为软件开发的一个有机组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规划确定”各占3%,“设计”占5%,“测试”占15%,“投产和维护”占67%。测试在软件开发中的地位,由此可见一斑。1.国外现状与此同步的是,软件测试市场已成为软件产业中一个独特的时常。在美国硅谷地区,凡是
7、软件开发企业或是设有软件开发部门的公司,都有专门的软件测试单位,其中软件测试人员的数量相当于软件开发工程师的3/4。在这些公司或部门中,负责软件测试的质量保证经理的职位与软件开发的主管往往是平行的。据了解,在软件产业发展较快的印度,软件测试在软件企业中同样具有举足轻重的地位。(1) 美国软件业依然保持着依靠软件产品统治软件业发展的传统。毋容置疑, 在以操作系统工程、数据库为代表的基础软件层次,美国几乎垄断了全球的软件市场。而如今全球软件业发展到以网络互联、企业级应用、中间件为代表的新的时代,美国依然保持着行业领先位置。(2) 对美国来说,软件工厂的概念已经完全行程,以CMM为标志的适应大规模生
8、产的软件流程管理体系与质量管理体系已经非常完备,使软件行业真正成为制造业。几百名软件工程师有机地组织在一起为一个产品协同工作的事例已经非常普遍。2.国内现状目前,国内软件测试市场表现实在令人担忧。中国市场中的软件开发公司比比皆是,但软件测试公司则如凤毛麟角。主要是我国的软件测试技术的研究橡胶国外要晚,无论是在软件测试理论研究还是在软件实践上,和国外发达国家都有不少的差距。另外,软件开发企业在为软件开发支付费用后,就不希望再为软件的测试支付新的成本,而项目甲方则往往认为开发合格的软件是软件开发企业的责任。即使有些项目的开发方或委托方有意对软件进行第三方测试,也会考虑到在测试过程中往往需要软件开发
9、商提供源代码,担心其知识产权遭到侵犯。这是软件测试时常无法长大的一个重要原因。另外,软件开发企业严重缺乏专业的软件测试力量也是因素之一。二 基本研究方法软件测试是一个复杂的过程,通常包括以下的基本测试活动:(1)拟定软件测试计划:就是确定主要的目标、测试范围、系统功能和非功能性需求、测试环境、测试自动控制、测试结果分析计划、问题解决方案与报告计划、测试重用计划、系统恢复计划、活动时间表、测试结束标准。(2)编制软件测试大纲:它是软件测试的依据,明确详尽地规定了在软件测试中针对系统的每一项功能或特性所必须完成的基本测试项和测试完成的标准。(3)设计和生成测试用例:一般而言,测试用例是指为实施一次
10、测试而向被测系统提供的输入数据、操作或各种环境设置以及被测系统的期望输出。测试用例控制着软件测试的执行过程,它是对软件测试大纲中每一个测试项的进一步实例化。(4)实施测试:软件测试的实施阶段由一系列测试周期组成,在每个测试周期中,软件测试工程师将根据预先编制好的测试大纲和准备好的测试用例,通过执行被测软件,对其进行测试。(5)分析测试结果:在执行软件测试的过程中,收集通过与未通过的测试用例。后者将触发纠错过程。测试与纠错通常是反复交替进行的,当时用专业测试人员时,测试与纠错甚至是平行进行的,从而压缩总的开发时间,测试结果分析可生成软件问题报告供有关人员参考或作进一步分析。三 当前的问题和发展动
11、向国际的测试领域已基本成熟,而我国的测试领域才刚刚开始。我们有很多的东西要去学习。如何更好地将软件项目管理和软件质量保障(软件测试)结合起来,让项目管理带动软件测试业的发展和成熟,应该是项目管理中不可缺少的一部分。当今快速发展的企业信息化进程导致软件测试面临复杂性、协调性和变化3个方面的技术挑战,同时对测试人员综合素质的要求也在不断提高。软件测试面临着技术发展的挑战与测试工程师素质的挑战。四 研究的内容、意义、必要性和价值软件测试在软件开发过程中变得越来越重要。为了适应开发技术的发展以及开发效率的需要,自动化测试已逐渐称谓测试的发展方向。本次选题是为了充分掌握测试方面的知识,通过对面向对象技术
12、的分析,将自动化测试的原理和方法与测试的实践联系起来,在项目中使用自动化测试技术以缩短项目开发周期,提高软件的质量。单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与其他部分隔离的情况下进行测试。单元测试的主要目的是验证代码实现人所书写的编码是依据其所设想的方式执行而产出符合预期值的结果。将自动化的技术引入到单元测试之中来,自动单元测试通过提供测试用例的自动回放、比较等机制,实现单元测试的批量自动运行。使用自动化技术能够大大的降低开发的时间和人力成本。JUnit是一个开源的java测试框架,它是XUint测试体系架构的一种实现。在JUnit单元测试框架
13、的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;第二个是使测试单元保持持久性;第三个则是可以利用既有的测试来编写相关的测试。所以这些目的也为什么使用模式的根本原因。主要参考文献:填写说明:指从开题到撰写文献综述期间所阅读过的所有文献资料的列表,要按照参考文献的标准写法列出,即写明作者、论文题目(书名)、杂志名称(出版社)、发表(出版)时间等(页面大小可以根据字数多少调整)。1. 郁莲。软件测试方法与实践。清华大学出版社。2008,11。2. 王东刚。软件测试与JUnit实践。人民邮电出版社.2004,1。3. Vincent Massol。
14、JUnit IN ACTION(中文版)。电子工业出版社。2005,1。4. 耿祥义。JAVA2实用教程(第三版)。清华大学出版社。2006,8。5. 李英军译。设计模式:可复用面向对象软件的基础。机械工业出版社。2000,9。6. 阎宏。JAVA与模式。电子工业出版社。2002,10。7. 单元测试。程序员。2002年7期。8. 刘兵。JUnit设计模式分析。程序员。2003年6期。9. 隋智泉。一种改进的单元测试JUnit框架。开发研究与设计。2007。10. 高如莎。一种软件单元测试策略。专题技术与工程应用。2007,37。11. 陈计喜,姜丽红。自动化功能测试的方法与实现。计算机工程。
15、2004,168-169。12. PARTUM. From Regression Testing to Regression Benchmarking.13. Shadi G. Alawneh, Dennis K. Peters:Specifications-Based Test Oracle with JUnit.14. Shadi G. Alawneh, B. Eng.:Test-Driven Development with Oracles and Formal Specifications.15. Garlan D, Perry D E:Introduction to the Spec
16、ial Issue on Software Architecture IEEE Transactions on Software Engineering.1995,269-274.16. Kaner, Cem, Bach, James etal: Lessons Learned in Software Testing.John Wiley&Sons.2001.17. JACOBSONV C, CONTROL. America Computer Communication Review. Beijing: Publish House of Electronics Industry.200318.
17、 MCCONNELLS:Software Project Survival Guide. Microsoft Press.1998,5.19. MCCONNELL S:Best Practices Daily Build and Smoke Test. IEEE Software.20. CRMK: Improving the Maintainability of Automated Test Suites.21. Kent Beck: Extreme programming explained.研究方案:填写说明:写明研究所用的理论基础、研究方法、研究步骤、预期成果(效果)等。(页面大小可以
18、根据字数多少调整)软件测试在软件生命周期中占有重要地位,这一点被越来越多的软件研发机构认识到。软件测试作为软件质量保证的重要手段之一,随着面向对象技术的出现,传统的测试理论和方法早已不能满足新技术的需要。随着软件规模以及复杂度的提升,测试的工作复杂度和强度也在不断的提升。面对这些问题,软件工作者将自动化技术引入到面向对象的单元测试之中,以此来提高软件测试的质量和效率。在软件生命周期中,测试工作量会占到整个开发周期的40%到60%,可见一种高效率、高质量的测试方法对软件开发来说是多么的重要。软件测试一般分为手工测试和自动测试,软件自动测试技术是当前软件界的研究热点之一。我国软件自动化测试的研究尚
19、未完善,因此对软件自动化测试的研究和应用具有十分重要的研究和使用价值。毕业设计(论文)进度安排:序号毕业设计(论文)各阶段内容时间安排备注1.调研和查阅各种有关软件测试和JUnit的文献03.01-03.102.研究白盒测试技术以及白盒测试现状03.11-03.203.学习基于JAVA的单元测试框架JUnit03.21-04.044.学习JAVA编程,编写各类算法,应用JUnit测试分析算法的性能04.04-04.205.在公司实习参与项目中的单元测试04.21-5.206.撰写毕业论文05.21-6.1指导教师意见:填写说明:查阅资料是否全面,提出的研究方案和计划进度是否可行,还有什么需要注
20、意和改进的方面,是否同意按学生提出的计划进行等。指导教师签名: 审核日期: 年 月 日7中文摘要 随着计算机所控制的对象复杂度不断提高和软件功能的不断加强,软件的规模也在不断的增大。为了保证所提交的软件产品能够满足客户的需求,以及软件的可靠性,必须对所开发的软件产品进行系统而全面的测试。白盒测试也称结构测试或逻辑驱动测试。它是基于分析程序内部如何工作和分析程序的结构的一种测试。白盒测试的相关技术有分支覆盖、路径覆盖等。它和黑盒测试是相对应的。本设计主要是应用Eclipse平台中的JUnit,进行软件测试中的单元测试。通过学习软件测试的基本理论,在分析实际测试需求的基础上,对项目磁浮列车运行控制
21、系统中的区域控制软件(MATC_ZC)中的部分模块进行单元测试。使用该测试系统解决了磁浮列车运行控制系统中的区域控制软件中单元测试,实现了测试的自动化。关键词:自动化测试 JUnit 白盒测试1AbstractThe scope of software has been enlarging as the controlled objects of computer become more complicated and software function is continually enhanced. Thus, the developed soft ware products must b
22、e systematically and thoroughly tested so as to ensure its reliability and satisfy customers.White-box testing, also known as structural testing or logical drive test, Testing based on an analysis of internal workings and structure of a piece of software. Includes techniques such as Branch Testing a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于白盒测试的软件测试技术开发 毕业论文 基于 测试 软件 技术开发
限制150内