基于qtp的自动化测试大学论文.doc
《基于qtp的自动化测试大学论文.doc》由会员分享,可在线阅读,更多相关《基于qtp的自动化测试大学论文.doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本科毕业论文(设计)题目:基于QTP的自动化测试 姓 名: 张 海 波 学 号: 1042157124 专 业: 计算机科学与技术 院 系: 信息工程学院 指导老师: 钱 丽 职称学位: 讲师硕士 完成时间: 2014年5月12日 教务处制安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志
2、对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名: 日期: 安徽新华学院2014届本科毕业论文(设计)基于QTP的自动化测试摘 要 在软件开发过程中,软件测试是发现软件缺陷的最直接手段,也是作为控制软件缺陷最主要的手段。在不断寻找有效的测试方法同时,自动化测试已经成为提高软件测试效率和解决覆盖面的重要技术手段。本次毕业设计,首先对现阶段国内外对自动化测试的研究成果及发展前景进行了调研,比较了传统手动测试与自动化测试的优缺点。然后利用自动化软件测试工具Quick Test Professional(简称QTP),以飞机订票系统(Flight)为测试对象,针对Fligh
3、t的具体功能进行自动化测试。测试过程包括各功能测试场景设计和用例的编写,测试脚本的创建、编辑,对测试脚本的增强、调试,以及对测试执行结果进行分析,检查测试运行过程的正确性。同时通过手工测试与自动化测对比,凸显自动化测试在测试效率等方面的优势。关键词:软件测试;自动化测试;QTP;功能测试QTP -based automated testingAbstractIn the process of software development , software testing is the most direct means to find software defects , but also a
4、s a means to control the most important software defects . Constantly looking for effective testing methods at the same time , improve the automated testing software testing has become an important technical means to solve the efficiency and coverage .The graduation project , the first stage at home
5、 and abroad for research and development prospects of automated testing conducted an investigation to compare the advantages and disadvantages of the traditional manual testing and automated testing . The use of automated software testing tools Quick Test Professional ( referred QTP), to airline res
6、ervation systems (Flight) of the test object , automated testing of specific functional Flight . The functional testing process , including the design and preparation of test scenarios use cases , test scripts to create , edit, enhance test scripts , debug , and analyze the results of the test execu
7、tion , test run to check the correctness of the process . By simultaneously measuring manual testing and automated comparison , highlighting the advantages of automated testing efficiency and other aspects of the test .Keywords:Software Testing;Automated Testing;QTP;Functional TestingI目 录1 概 述11.1 课
8、题研究背景11.2 国内外研究现状11.3 课题研究目的22软件缺陷与软件测试32.1软件缺陷32.1.1 软件缺陷与硬件缺陷异同32.1.2 如何通过软件测试发现软件缺陷32.2软件质量与软件测试42.2.1软件开发模式与自动化测试42.3软件自动化测试与手动测试52.3.1自动化测试与手工测试比较52.3.2如何开展自动化测试52.3.3自动化测试方案62.4自动化测试工具介绍63 QuickTest Professional的简介93.1 QTP的安装与配置93.2 QTP的使用103.2.1制定测试计划113.2.2创建测试脚本113.2.3增强测试脚本功能113.2.4运行与分析11
9、4 基于QTP自动化测试的实施134.1 登录功能测试134.1.1 测试用例134.1.2 脚本录制144.1.3 测试脚本154.1.4 执行结果164.2 订票功能测试184.2.1 录制脚本过程184.2.2 调试测试脚本及注解194.2.3 执行结果214.3 修改订单功能测试214.3.1 测试用例214.3.2 录制脚本过程224.3.3 调试测试脚本及注解244.3.4 执行结果254.4 删除订单功能测试264.4.1 测试用例264.4.2 录制脚本过程264.4.3 调试测试脚本及注解284.4.4 执行结果284.5 传真功能测试294.5.1 录制脚本过程294.5.
10、2 调试测试脚本及注解304.5.3 执行结果315 测试结果分析335.1 测试用例汇总表335.2 检查项345.3 对比与分析345.4 分析与建议35结 论37参考文献38致 谢391 概 述1.1 课题研究背景按时、高质量地发布软件产品是软件开发的最基本要求,而软件测试是软件质量保证的最重要的手段之一。对于软件,不论采用什么技术和方法来进行开发,软件产品中都会存在或多或少的错误和问题1。于是,软件测试便扮演了极其重要的角色,贯穿于整个软件生命周期,检验各个阶段的成果是否符合质量要求和达到预先定义的目标。据大量统计资料显示,在典型的软件开发的项目中,软件测试投入的成本和工作量往往占到软
11、件的总成本和总工作量的40%以上。传统的软件测试方式大多停留在内部测试、手工测试阶段,并不能完全适用于应用测试。由于较多的企业采用瀑布模型进行开发,往往在软件开发结束后才开始进行测试。这些都在极大程度上降低了测试的覆盖率,增加了测试的成本,影响了软件质量的可靠性4。因此,软件测试自动化技术的出现,从真正意义上把测试人员从简单重复的劳动中解放出来,弥补了手动测试在应付大规模测试中疲态的缺陷,尤其是面对大量的数据需要检查时,人工的比较和搜索不仅效率低,而且容易出错,覆盖面偏低。它为软件开发团队节约了测试成本,提高了软件质量,缩短了产品发布周期。1.2 国内外研究现状软件测试是软件质量的护航者,只有
12、通过了测试软件的设计、编码和规约的评审才能通过,在软件的整个生命周期中具有与软件开发相同的地位。在许多大型的软件公司,其测试人员和开发人员比例达到了1:1,甚至更多4。然而,在早期软件测试常常被忽视,软件经过开发人员简单的单元测试后进行发布,导致的后果可想而知。在美国北卡罗来纳大学召开的软件测试的正式技术会议,是软件测试技术发展历史上的一个转折点,它标志着软件测试成为了软件工程领域中一个独立而重要的分支。此后,Gerhart进一步总结原来的测试理论,将软件测试提升到理论的高度,作为实践性学科的参考2。为了更好的实现测试的自动化,用自动化测试代替手工劳动,许多IT厂商推出了以工具为中心的测试,是
13、测试人员只需要关注脚本技术和配置文件的编写。常用的测试工具有Mercury Interactive公司的QTP、LoadRunner、TestDirectior,IBM的Web自动化测试工具Rational Function Tester,Segue Software公司的Segue,Compuware公司的QACenter。这些测试工具融入了许多新的技术,如面向对象技术,当针对不同的测试重点,可以采用相应的工具3。国内的软件测试技术起步较晚,但随着国内软件企业规模的壮大,人才的引进和培养,越来越多的软件生产商开始在自动化测试领域中进行软件分析和测试工具的研究和开发。西北工业大学在C/S系统的
14、测试方面进行了许多的研究工作,并且取得了一定的成绩。北京航空航天大学和北京大学经过技术的攻关,共同研制了一系列测试工具和程序理解工具,例如具有典型代表的SafePro/javao和SafePro C/C+。南京大学和航空局计算研究所开发的静态分析工具和测试用例自动生成工具,在嵌入式系统测试方面取得了较大的成功10。拥有自主知识产权的泽众软件是国内领先的专业功能测试工具、测试管理工具的供应商,从2004年起就推出了AutoRunner、TestCenter等优秀产品。1.3 课题研究目的本文旨在通过QTP在具体案例中的使用,包括设计测试案例、录制、优化脚本功能等,来具体认识自动化测试对于普通应用
15、软件,都可以发挥其功能测试和回归测试的优点,省去了手工测试的繁琐,更加低成本,便捷而快速的找出软件的BUG所在,是软件开发中一个不可或缺的重要的一部分。2软件缺陷与软件测试2.1软件缺陷2.1.1 软件缺陷与硬件缺陷异同对于用户来说,软件缺陷与硬件缺陷一样,会对用户在使用时造成困扰。但是软件缺陷在一般情况下,不会对用户造成直接的人身伤害或经济损失,也因此很多人意识不到软件缺陷的危害性和严重性。然而在一些比较依赖软件进行业务处理的领域,便可能造成重大的经济损失,甚至危及生命,例如2007年4月,某个软件缺陷导致某地铁系统的列车火灾,软件未能检测和防止剩余动力在设备中的使用,导致车过热而起火。因此
16、,软件缺陷与硬件缺陷一样,都需要人们重视他们可能造成的危害与损失。不同在于,硬件缺陷大多是可预见的,比较容易被发现。软件缺陷的可预见性就没有那么强,其一个重要特点就是隐蔽性。由于软件的复杂度高,状态空间广阔,因此,要覆盖软件所有的可能行为几乎是不可能的。2.1.2 如何通过软件测试发现软件缺陷手工测试仍然是主要的查找错误的方式,自动化测试能部分地解决覆盖面的问题和测试效率的问题,但是不能从根本上解决问题。而在软件测试之前的开发环节中,开发人员已经对对软件进行缺陷控制,尽管大多停留在“调试”阶段的测试水平。也因此软件测试成为了软件缺陷的主要控制手段和解决方法。测试人员通过产品需求,以及用户的实际
17、业务背景,设计出各种测试用例,通过执行测试用例,判断被测试的应用程序是否满足用户需求。在测试用例中,主要分为两种。一是验证软件功能正确的;另一种适用于证明软件错误的。如果将这这些用例转化为可被自动化测试工具执行的脚本,那么就成了一个自动化测试用例,使用自动化的方式执行,提高效率。2.2软件质量与软件测试软件质量是软件产品的核心价值体现,也是企业竞争力的体现,重视软件质量的企业通常能获得更多的收益。软件质量也是软件项目管理的重要组成部分,在不同的开发模式中,都会围绕软件质量管理提出相应的做法。1986年,ISO8492给出了质量定义:质量是产品或服务满足明示或暗示需求能力的固有特性和特征的集合。
18、而在IBM RUP(统一过程)中,质量被定义为“满足或超出认定的一组要求,并使用经过的认可的评测方法和标准来评估,还使用认定的流程生产”。因此,质量不是简单地满足用户需求,还得包含证明质量达标所使用的评测方法及标准,以及如何实施可管理、可重复使用的流程,以确保由此流程生产的产品已达到预期的、稳定的质量水平。1983年,ANSI IEEE STD729给出了软件质量的定义 6,包括:(1) 软件产品质量满足用户要求的程度;(2) 软件各种属性的组合程度;(3) 用户对软件产品的综合反映程度;(4) 软件在使用过程中满足用户要求的程度。简而言之,功能、性能和可靠性是衡量软件质量的三个维度指标。2.
19、2.1软件开发模式与自动化测试在不同的开发模式中,软件测试的地位和作用略有不同,但却不可能消失。在传统的瀑布开发模型中,软件测试作为一个独立的阶段出现,在进入测试阶段之前,应该完成编码并且提供完善的需求、设计和文档。如果在需求定义方面做得很好,对自动化测试十分有益,可以尽早的选择测试策略,让自动化测试高层次整体地进行。而在RUP迭代模型中,实施自动化测试时,需要与开发策略紧密结合,关注早期构建、迭代的速度、风险、覆盖目标等。敏捷方法则打破了传统的自动化测试方法,第一个破坏点集中在自动化的可接受性测试,很难被其他类型的自动化重用。细粒度的迭代让每次的测试很难击中目标和定义标准。2.3软件自动化测
20、试与手动测试2.3.1自动化测试与手工测试比较软件测试的一个显著特点就是重复性,重复的工作除了机器人没人忍受的了。在精确性的问题上,当手动测试遭遇大量的数据需要检查的时候,数据比较和搜索定位不仅效率不高而且易出错,达不到预期的覆盖率。伴随着产品的完善,软件功能的逐步完善,需要测试的内容有时候会呈现几何倍数增长,人工进行回归测试便显得捉襟见肘。当然不意味着手动测试就这样被淘汰,手工测试有这其不可替代的地方:(1) 测试用例的设计:测试人员的经验和判断能力是一切工具不具备的(2) 界面和用户体验:人类的审美和感官及心理体验是其他无法代替的(3) 正确性的检查:工具是不具备推理和逻辑思维的。而在借助
21、计算机强大的计算能力下,可以不知疲倦、重复的运行,对于大量的数据也能在短时间内处理结束。于是自动化测试的优势则表现如下:(1) 可重复性强(2)计算精确(3)大批量操作(4)覆盖面广(5)搜索效率高2.3.2如何开展自动化测试在软件测试的阶段,自动化测试应该被当作一个项目来开展。首先要确定所开发的软件项目采用自动化测试是否适用。短期的或者一次性的项目不宜采用,因为这反而增加开发周期和成本。同样,在一个非常紧迫的项目中也是不合适的,因为需要测试人员开发编写测试脚本,并需要开发人员的配合使得整个进程更加紧张仓促,适得其反。其次,什么时候开始自动化测试项目?不能过早,太早的话,软件不成形,界面、编码
22、等不稳定,改动频繁,这时候开展自动化徒增成本,得不偿失。可以在雏形期做一些准备,考虑测试工具的选择。熟悉和了解各种编程语言、编程工具,以及各种控件会使得在开展测试时得心用手。2.3.3自动化测试方案在选择测试方案的时候,要参照下列因素4:(1) 项目的影响:制定的方案是否对整个项目有积极作用,或者让开发更敏捷(2) 复杂度:自动化是否容易实现(3) 时间:自动化测试的实现需要多少时间(4) 早期需求和代码的稳定性:如果不能稳定,那么自动化测试介入会很尬尴(5) 覆盖率:能否覆盖程序中的关键特性和功能(6) 资源:有没有足够的人力资源、数据资源、硬件资源来支持自动化的开展在确定方案后,测试脚本的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 qtp 自动化 测试 大学 论文
限制150内