




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)本科生毕业设计(论文) 题 目:基于 QTP 的自动化测试 姓 名: 学 号: 学 院: 物理与信息工程学院 专 业: 通信工程 年 级: 2009 级 指导教师: (签名) 2013 年 6 月 1 日 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教 师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别 加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过 的研究成果,也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人 或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论 文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和 电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并 提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其 它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论 文的部分或全部内容。 作者签名: 日 期: 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行 研究所取得的研究成果。除了文中特别加以标注引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300 字左右) 、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论) 、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图 纸、程序清单等) ,文科类论文正文字数不少于 1.2 万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错 别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所 有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工 程字书写,不准用徒手画 3)毕业论文须用 A4 单面打印,论文 50 页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装 订 指导教师评阅书指导教师评阅书 指导教师评价:指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 指导教师:指导教师: (签名) 单位:单位: (盖章) 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价:评阅教师评价: 一、论文(设计)质量一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 二、论文(设计)水平二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩: 优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”) 评阅教师:评阅教师: (签名) 单位:单位: (盖章) 年年 月月 日日 I 教研室(或答辩小组)及教学系意见教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:教研室(或答辩小组)评价: 一、答辩过程一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二、论文(设计)质量二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:评定成绩: 优优 良良 中中 及格及格 不及格不及格 教研室主任(或答辩小组组长):教研室主任(或答辩小组组长): (签名) 年年 月月 日日 教学系意见:教学系意见: 系主任:系主任: (签名) 年年 月月 日日 II 基于 QTP 的自动化测试 中文摘要 近年来,软件行业得到快速发展,软件质量在提升企业整体竞争力中发挥的作用越 来越大。而软件自动化测试在测试领域中的地位是举足轻重的,能够确实地帮助推动项 目的进度、提高项目的质量并且提高测试人员的工作效率。软件测试工作不但保证了软 件的质量,而且降低了软件的后期维护成本,带来的产业效益正逐渐引起相关企业的关 注。而自动化测试工具中比较具有代表性的是 Quick Test Professional (QTP),QTP 适 用于软件测试中的冒烟测试和回归测试等,而且 QTP 的脚本具有相当高的可移植性和可 重复性,特别适合于质量稳定的软件产品的回归测试、版本升级测试、容量测试等。 本论文主要阐述了如何利用 Quick Test Professional (QTP)软件测试工具来对厦门 亿群软件技术有限公司的 MyPBX Standard 产品实现自动化测试。包括对自动化测试的学 习和理解,撰写自动化测试的测试需求分析、整理 Standard 各个功能点进行自动化测试 是否可行、撰写自动化测试用例等;还有对 QTP 工具的深入了解,包括 QTP 软件的安装 与破解、QTP 软件的一般使用、QTP 实现自动化测试的原理、根据对象属性建立测试对象 库、在 QTP 中使用 VBScript 编辑测试脚本、修改调试脚本、实际应用即执行自动化测试、 分析自动化测试报告等;在通过对 MyPBX Standard 测试的过程中对 VoIP、网络通信也 有了一定的了解。 在设计的过程中主要选取并完成了 Standard 的登入模块、密码设置模块、容量测试 模块、呼入路由模块、系统提示音模块、固件升级模块、IVR 模块、线路状态模块、呼出 路由模块等的自动化测试,事实上表明了自动化测试的工作效率相对于手工测试来说确 实提高了很多。 关键词: 自动化测试,QTPQTP,VBScript ,测试报告 III Automated Testing Based on QTP Abstract With the rapid development of software industry, software quality plays an increasingly important role in the overall competitiveness of enterprises. Automated software testing has a pivotal position in the field of testing, to really help the progress of the project to promote and improve the quality of the project and to help testers improve work efficiency. Software testing is not only guarantee the quality of the software , but also reduces the software maintenance costs , brought about by industrial efficiency is gradually attracted the attension of the relevant enterprises . Automated testing tools more representative is the Quick test Professional (QTP), QTP applies to software testing of smoke testing and regression testing , and the QTP script has a very high portability and repeatability, especially suitable for the quality and stability of the software product version upgrade testing, regression testing, capacity testing . This paper mainly elaborates how to use the Quick test Professional (QTP) software testing tools to Yeastar Technology Co., Ltd. MyPBX Standard automated testing. The paper described mainly by the parts: Requirement analysis, Introduction of automated testing, finishing automated test the feasibility of function points, writing automated test cases. I have an In-depth understanding of the use of QTP through this graduation Design. Including the QTP software installation and crack, QTP software general use, QTP automation testing principle, According to the object properties to create a test object library, Edit test scripts using VBScript in QTP, Modify and debug the script, Practical applications that perform automated testing, Analysis automated testing report, etc.; In the testing process through the MyPBX Standard, I have a certain degree of understanding of VoIP and its related network knowledge. This graduation design selected and completed some modules of the Standard, including Login ,Password settings , Capacity test , Inbound Routes ,Outbound Routes , System Prompts , Update System Firmware , IVR , Line Status , etc.; Practical results show The efficiency of automated testing the relative manual testing really improve a lot . Key words: Automated testing, QTP, VBScript, Test reports I 目 录 中文摘要中文摘要I I ABSTRACTABSTRACTIIII 第第 1 1 章章 绪绪 论论1 1 1.1 课题背景及意义1 1.2 软件测试的发展现状1 1.3 课题的研究内容2 1.4 论文的组织结构2 第第 2 2 章章 软件测试的简介软件测试的简介3 3 2.1 软件测试简介 3 2.2 自动化测试 3 2.2.1 自动化测试目的 3 2.2.2 自动化测试流程 4 2.3 本章小结5 第第 3 3 章章 QTPQTP 与自动化测试与自动化测试 6 6 3.1 QTP 自动化测试原理 6 3.2 QTP 的工作模式 7 3.3 QTP 的自动化测试流程 8 3.4 QTP 测试脚本开发 .10 3.4.1 VBScript 基础 10 3.4.2 对象库建立与管理.11 3.4.3 Action 的添加与关联 13 3.4.4 正则表达式.14 3.4.5 对象库编程.15 3.4.6 描述性编程.15 3.4.7 数据池(DataTable)的应用16 3.5 本章小结.16 第第 4 4 章章 MYPBXMYPBX STANDARDSTANDARD 的自动化测试的自动化测试1717 4.1 MYPBX STANDARD简介 17 4.2 对 STANDARD的自动化测试 .18 4.3 本章小结.22 结结 论论2323 谢谢 辞辞2424 参考文献参考文献2525 附附 录录2626 附录 1 部分测试脚本 26 附录 2 测试报告结果 28 基于 QTP 的自动化测试 1 第 1 章 绪 论 1.1 课题背景及意义 伴随着软件行业的发展,软件质量在提升企业整体竞争力中发挥的作用越来越大。 在软件开发和使用的过程中,为了避免由于软件缺陷带来的巨大财力、物力损失,软件 测试成为了软件质量保障的关键环节,而软件自动化测试在测试领域中有着举足轻重的 地位,不仅帮助项目进度的推动而且有助于提高项目的质量和测试人员的工作效率1。软 件测试工作不但保证了软件质量,而且还降低了软件的后期维护成本,随之带来的产业 效益引起了相关企业极大地关注。 虽然测试永远脱离不了手工测试, ,但是以程序测试程序、以代码代替思维、以脚本 运行代替手工测试的自动化测试将会引导未来的测试行业,促进中国测试行业的快速发 展。 1.2 软件测试的发展现状 国内外的许多专家学者及各种计算机组织已经做了大量的关于软件测试方面的研究 工作,形成了许多经典的软件测试技术和软件测试流程管理规范。 目前软件测试技术的研究方向主要是网络化、大型化和自动化,主要包括基于 C/S 架构的系统、基于 Internet 的 WEB 应用系统、嵌入式系统的软件测试技术的研究和测试 工具的开发2。 软件测试在国内正在逐步成为一个新兴的产业,许多的与软件有关的公司都成立了 专门的测试部门。2003 年开始在我国有了“软件评测师”的称号,说明了国家对软件测 试职业的高度重视与认可,从事软件测试的人员也在逐年增长。另外,第三方测试机构 也得到了蓬勃发展,近两年全国各地新成立的软件测试机构有十多家,测试服务体系已 经基本确立3。 当下国内外软件测试领域的主要研究热点是: (1)针对软件特点开展的使用软件测试技术和方法的研究4。 (2)针对新的软件开发技术而展开的软件测试技术研究4。 (3)测试自动化技术的研究4。 (4)测试工具与测试环境的研究4。 (5)软件可信性研究4。 (6)云计算环境下,对软件测试的研究5。 福州大学本科生毕业设计(论文) 2 1.3 课题的研究内容 本课题主要研究了 QTP 的使用和利用 QTP 对 MyPBX Standard 的一些模块如呼入路由、 呼出路由、容量等进行自动化测试。从一开始的熟悉产品到了解需要测试哪些功能点, 如何搭建测试环境进行手动测试,最后根据实际情况分析能否将手动测试转化为自动化 测试,即如何进行自动化测试。而自动化测试过程又包括了撰写需求分析、可行性分析 报告、测试计划、测试用例、编写脚本、执行测试、分析测试报告等。 1.4 论文的组织结构 第 1 章为绪论主要介绍了本课题的研究背景和意义、软件测试的发展现状包括研究 方向、当前局势、研究热点等。还介绍了本课题的主要研究内容和论文框架结构。 第 2 章为软件测试的简介,主要介绍了软件测试的基本概念、自动化测试的目的和 流程。 第 3 章为 QTP 与自动化测试,主要介绍了 QTP 的一些基础知识,包括 QTP 进行自动 化测试的基本原理、工作模式、测试流程、脚本开发的相关知识等。 第 4 章为 Standard 的自动化测试,主要介绍了 Standard 的系统结构和对 Standard 进行自动化测试的整个过程,从熟悉产品开始到了解哪些功能点需要测试和并掌握重点 需要测试的功能点,如何用手工进行模拟测试,到最后的怎样转化为自动化测试。重点 描述了如何对 Standard 进行自动化测试。 基于 QTP 的自动化测试 3 第 2 章 软件测试的简介 软件测试一般说来就是为了保证软件产品的质量,经过软件测试后发现了软件缺陷, 从而修改缺陷,提高软件的质量水平。本章主要简单的介绍了软件测试的基础概念及自 动化测试的目的和流程。 2.1 软件测试简介 软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验 它是否满足规定的需求或弄清预期结果与实际结果之间的差别5。软件测试的一般过程如 图 2-1 所示,与软件开发类似都是从需求分析开始,测试从单元开始,争取在早期的时 候就发现 BUG,这样有利于研发人员修改,避免到最后牵一发而动全身。接下去是集成测 试、系统测试、到最后的验收测试,经过这一系列过程后产品的质量有了较大的保证后 就可以发布了。 图图 2-1 软件测试 2.2 自动化测试 2.2.1 自动化测试目的 无论使用什么工具,自动化测试执行是使用计算机部分代替人工执行的方式。具体 优点如下: (1)回归测试更方便、可靠1。回归测试的业务流程操作和测试用例是预先设计好 的,有个预期结果,将回归测试用计算机自动运行,可以极大的提高测试效率,缩短测 福州大学本科生毕业设计(论文) 4 试回归时间,前提是系统的主要功能的逻辑是基本不变或变化很少的1。 (2)可运行更多、更繁琐的测试,且快速高效1。 (3)可执行一些对于手工测试来说相当困难或根本做不到的测试1,如本课题的容 量、固件升级、系统提示音等模块的测试,用手工测试的话需要花费很长的时间,而自 动化不仅执行的速度远比人快,而且耐心是无限大的。 (4)更好地利用资源,使资源的使用更有价值,将繁琐的任务自动化,可以提高准 确性和测试人员的积极性,将技术人员解脱出来投入更多的精力设计更好的测试用例和 执行那些必须手工测试的部分1。 (5)具有一致性和可重复性的特点,机器可以按照相同的轨迹不断地执行测试并丝 毫没有错,但是人很难做到1! (6)自动化测试脚本完全具有复用性,面对不同的版本,只需要做少量的维护甚至 不需要做任何修改,就可以使用相同的测试脚本对不同的测试版本进行测试。 (7)多环境下测试。一个系统往往会被要求能支持更多不同的环境并稳定运行,如 常用浏览器就有 IE6、IE7、IE8、FireFox 等,系统有 Windows2003、Windows XP、Windows Vista、Windows 7 等1。 2.2.2 自动化测试流程 自动化测试就是一个软件开发的过程,需要经历各类分析、测试计划、框架即测试 用例设计、脚本开发、测试执行、提交报告、脚本维护、版本控制等一系列繁琐的过程1, 如图 2-2 所示。 基于 QTP 的自动化测试 5 图图 2-2 自动化测试流程图 2.3 本章小结 软件自动化测试是软件测试发展的主要方向。不过,如果有人盲目地追求自动化测 试,则很有可能导致软件测试的失败。我们应该根据实际项目分析自动化测试是否可行、 成本等等来决定是否进行自动化测试。 福州大学本科生毕业设计(论文) 6 第第 3 章章 QTP 与自动化测试与自动化测试 由于测试人员经常要做许多循环重复的测试,非常枯燥乏味,给测试人员增添了许 多不必要的重复任务,因此,为了减少测试人员的工作量,自动化测试工具就诞生了。 目前,自动化测试工具全球市场占有率最高的是 QTP。本章主要结合本次的研究课题介 绍 QTP 的一些基础知识和基本使用方法。 3.1 QTP 自动化测试原理 QTP 自动化测试的原理主要分为 3 个步骤: (1)封装真实被测对象并转化为 QTP 对象到对象库1; (2)对比对象库里的对象鉴别属性和运行时的真实被测对象的鉴别属性1; (3)属性对比后如果一致,则说明对象成功匹配并可以继续对该真实被测对象进行 后续操作,如果两者不一致则报错,提示为对象无法识别1。 QTP 是通过查找应用程序界面中的各个控件的属性来判断是否与测试对象匹配,如 QTP 中提供的“Object Spy”功能,就可以把某个界面控件的基本属性、方法列举出来。 如图 3-1、3-2 所示。 图图 3-1 QTP 的“Object Spy”功能 图图 3-2 使用“Object Spy”查看控件可操作方法 基于 QTP 的自动化测试 7 实际运行时的对象是有两种接口的,对象封装接口和对象自身接口。封装接口是对 象的不完全属性,有些对象的属性值是封装接口无法获取到的。运行时的对象(RO)可以 看见自身接口的所有属性,而对象库中的测试对象(TO)只可以看见被封装的一些接口, 封装属性是不可以修改实际运行时的对象的,只能获取属性值,而调用自身接口1。 3.2 QTP 的工作模式 QTP 有两种测试方法,关键字驱动测试和数据驱动测试,在 QTP 中有对应的关键字视 图(Keyword View)和专家视图(Expert View)。在关键字视图中,可以通过编辑表格的 方式编辑测试脚本,让脚本开发工作变得直观而简单,让初级工程师可以快速简单地通 过 QTP 开发复杂的自动化测试脚本。其中关键字视图编辑界面如图 3-3 所示,包含对象 (Item) 、方法(Operation) 、属性值(Value) 、描述(Documentation) 。 测试脚本的开发和维护是自动化测试的重中之重的环节,一般情况下通过适当地调 整和增强测试脚本,就能够提高测试脚本的灵活性、使测试的覆盖面变广,还能很好的 提高应对测试对象变更的能力。数据驱动测试方法要解决的核心问题是把数据从测试脚 本中分离出来,从而实现测试脚本的参数化1。本课题的实现主要是在专家视图中手动编 写测试脚本,脚本的编写主要是使用 VBScript 语言,按模块的划分为不同的 Test,而每 个 Test 中根据所要测试的内容划分为不同的 Action,这样做主要是为了方便脚本的维护 和可读性,还有利于其他的 Test 复制或者调用,使得测试的框架逻辑比较清晰,写的时 候还要注意尽可能覆盖每个需要测试的点,如图 3-4 所示为在专家视图中编写脚本。 图图 3-3 关键字视图 福州大学本科生毕业设计(论文) 8 图图 3-4 专家视图 3.3 QTP 的自动化测试流程 (1)配置 QTP 环境 QTP 可以支持不同的开发环境,不同的测试项目选择不同的插件,本次课题主要测试 的是 Standard 的 Web 系统管理界面,该界面主要是通过 IP 登入到指定的服务器系统界 面,界面中根据模块的划分涵盖了对整个系统的各个功能点的控制设置,而本次课题主 要就是测试各个功能点的控制设置是否有如预期的实现,因此本次课题研究选择的是 Web 插件,如图 3-5 所示。 图图 3-5 运行 QTP 进行插件配置 (2)录制或编写测试脚本 根据测试用例步骤,完成相应的脚本开发。本次课题主要是在专家视图里进行手动 编程,如图 3-6 所示。左边是测试对象、右上方是专家视图可以进行手动编辑测试脚本、 右下方是 DataTable(数据池)实现脚本和测试数据的分开,大大地提高了测试的灵活性、 基于 QTP 的自动化测试 9 复用性。 图图 3-6 QTP 的脚本编辑界面 (3)检查修改脚本 检查脚本的完整性、语法错误、和逻辑性;删除冗余的脚本,增加脚本的简洁性; 可以使用上引号对一些重要的脚本的地方进行注释,便于日后更容易读懂脚本和维护修 改脚本。 (4)运行调试测试脚本 检查完脚本后,就试着开始运行一下,通过原先设置的检查点,根据预期结果,检查 程序是否按预期的步骤执行,如图 3-7 所示,通过设置断点和按快捷键 F11 来控制脚本 的运行,直到脚本可以正常运行。 图图 3-7 脚本调试 (5)运行维护脚本 福州大学本科生毕业设计(论文) 10 根据不同的测试模块,代码量在不断地增加着。这就要求测试人员对脚本进行后期维 护以确保脚本的质量和性能。本次课题主要是在不同版本的系统中来检验所编写的脚本 是否具有很大的可移植性、复用性等。 (6)分析测试报告 QTP 每次执行完脚本后都会自动生成一个测试报告,如图 3-8 所示,也可以通过编写 脚本来输出特定的报告内容,如图 3-9 所示。 图图 3-8 QTP 测试报告 图图 3-9 测试报告脚本 3.4 QTP 测试脚本开发 3.4.1 VBScript 基础 QTP 的测试脚本语言采用的是 VBScript,而 QTP 的专家视图其实就是一个 VBScript 脚本编辑器。VBScript 是 Visual Basic 的一个安全子集,其设计目的是在多平台上运 行并能使用 ActiveX 接口,这些特性使得它不仅适合于 Windows 管理、网页脚本编程, 而且适合于开发测试脚本。QTP 使用的是 5.6 版本的 VBScript。在 VBScript 中只有一种 数据类型,叫“Variant” 。一个“Variant”可以是数字,也可以是字符串等。变量的声 明可以使用 Dim 语句,如:Dim tRow1,tRow2 。VBScript 支持完整的运算符操作。字符 串的连接使用“&”运算符,如图 3-10 中也可以看出。常用的条件判断语句有 IfThenElse 和 Select Case 语句,循环语句有 ForNext,DoLoop 等。还可以自 基于 QTP 的自动化测试 11 己编写函数,存在外部供 QTP 调用,增加函数的复用性。例如图 3-10 所示的新建队列函 数。 图图 3-10 函数的编写 3.4.2 对象库建立与管理 对象库是 QTP 这个强大的测试工具的核心,也是其精华所在。对象库的建立主要包 含以下步骤: (1)通过实际项目分析设置对象的识别属性,一般说来优先使用 html ID,如图 3- 11 所示,要保证对象的唯一识别。 福州大学本科生毕业设计(论文) 12 图图 3-11 对象的识别属性设置 (2)添加对象,修改名称等,如图 3-12 所示。 图图 3-12 添加对象 (3)判断对象是否可以唯一识别,个别属性修改,选中相应的属性,点击“OK” 。如图 3- 13 所示。 图图 3-13 修改对象的属性 (4)完成对象库的建立,并导出保存,统一管理,便于对象库维护,如图 3-14 所示为 本次课题研究的部分对象库图。 基于 QTP 的自动化测试 13 图图 3-14 对象库截图 3.4.3 Action 的添加与关联 测试的成功之道很大一部分取决于如何维护,所以脚本模块化、细分化很重要。如图 3-15 所示就是一个业务的 Test Flow (测试流程)以及 Action 的关联,可以看到是非常 有序的,一般的设计思想是将所有功能模块化,即产出一个个独立的功能子脚本。然后 组成一个个不同的业务脚本。组成树形结构,在设计中都设置了一个名为“Main”的 Action,作为主控整个测试脚本的执行,如果不想运行某个子 Action 时可以将其注释掉。 不同的 Action 可以互相调用,也可以调用其他 Test 的 Action 不过这时候不可以修改 其中的脚本,还可以从其他 Test 中复制需要的 Action,复制是可以修改其脚本的,导入 复制的过程中不能嵌套调用其它 Action,否则可能无法复制,或者导致丢失。这样一来就 大大的加强了脚本的复用性。 福州大学本科生毕业设计(论文) 14 图图 3-15 Test Flow 和 Action 的关联 3.4.4 正则表达式 正则表达式是一种通过特殊的符号来匹配对应模式下的字符串的方法1。在自动化测 试中,对象的识别始终起着举足轻重的作用。因此,为了保证测试对象鉴别属性的正确 性,然而在真实的自动化测试项目中总是会遇到各种各样的问题。如,某个测试对象的 属性是动态的,无法通过预判来对此属性值进行一一参数化,而正则表达式恰到好处的 解决了这样一个问题。如本次课题中每个模块的 Link 对象,由于开发时没有设置 ID,退 而求其次的使用了 URL 属性,但是不同的机子设置的 IP 不一样,为了使对象具有通用性 就要将该属性设计正则表达式,如图 3-16、图 3-17 所示,这样一来不管使用什么样的 IP 都可以唯一识别了。正则表达式还可以对相似对象的识别、对象动态验证、复杂长字 符串匹配等。 图图 3-16 使用正则表达式前 基于 QTP 的自动化测试 15 图图 3-17 使用正则表达式后 3.4.5 对象库编程 QTP 的对象库编程有 3 种编码方式,分别是:步骤生成器、Complete Word、对象拖 动生成。其中步骤生成器是 QTP 的“元老” ,个人觉得使用起来不方便。这次课题研究中 主要是结合后两者的使用,Complete Word 在编写代码时只要把对象敲击完后再敲击键 盘上的“点” ,就会弹出一个选择框,里面包含了这个对象的所有方法、属性和子对象, 在敲击某个对象的开头,就会迅速定位到以这个字母开头的位置上,如图 3-18 所示。 Complete Word 是目前 QTP 编写代码过程中使用率最高的一种方式。拖动方式即把 Available Keywords 里的对象拖到 Expert View 里来快速生成代码,这是目前生成代码 最高效的方式。 图图 3-18 Complete Word 3.4.6 描述性编程 一般情况下,描述性编程应用是在对象库编程无法按要求完成任务时以辅助的方式 被使用。描述性编程就是在脚本中用描述的语言对每个对象的属性和属性值进行描述, 其中属性都是封装接口的属性,形式为:对象名(“属性名:=属性值” ) 。描述多个对象 时就用逗号隔开,如果描述了父对象则子对象就一定要描述,否则 QTP 会报错的。例如 这次课题研究中分机模块的分机新建个数最大可以新建 100 个,如果把每个分机的 Edit 都添加进对象库,那个工作量是庞大的,且增加了对象库的维护难度。而使用描述性编 程很好地解决了这个问题,如图 3-19 所示的脚本。 福州大学本科生毕业设计(论文) 16 图图 3-19 描述性编程 3.4.7 数据池(DataTable)的应用 DataTable 和 Excel 很像,主要是用来配合代码管理存储繁琐的测试数据,实现脚 本业务和测试数据的分离。语法格式一般为:DataTable.Value (ParameterID , SheetID) 或 DataTable (ParameterID , SheetID) 。DataTable 有 Global Sheet 和 Local Sheet 两种类型,其中 Global Sheet 是一个全局变量!有几行数据,程序就要回 放几次,而 Local Sheet 是个局部变量,无论有多少行数据都只会运行一次(前提是 Global sheet 没有数据或只有一行数据) 。这次课题研究中主要是使用 Local sheet 便于 不同模块的测试数据分开,有利于维护或修改测试数据。调用数据主要是使用代码来运 行指定行的数据如图 3-20 所示为相应的代码,图 3-21 为相应 DataTable 中的测试数据。 图图 3-20 测试数据参数化 基于 QTP 的自动化测试 17 图图 3-21 DataTable 的测试数据 3.5 本章小结 本章主要介绍了 QTP 的一些测试原理、测试流程、脚本的编辑等。可以看出 QTP 是 一个强大的测试工具,QTP 不单用于执行重复的手动测试,更多是用于回归测试和同一软 件的新版本的测试。很关键的一点是要在测试前就考虑好测试什么,怎么测试包括预先 设计好测试数据、前置条件、容错手段、验证方法和期望的输出结果,如何将手工测试 转化为自动化测试。 福州大学本科生毕业设计(论文) 18 第 4 章 MyPBX Standard 的自动化测试 本章主要是简单介绍一下 Standard,重点说明了如何对其进行自动化测试的过程。 4.1 MyPBX Standard 简介 IP 集团电话系统-MyPBX Standard 是专为企业量身定制的嵌入式电话系统,MyPBX Standard 将 PSTN 线路(电信线路)和 VoIP 网络完美的结合在一起,不仅高效的控制了 通信成本,同时也确保用户在断电或者网络中断的情况下保持通话不中断,更稳定的使 用电话系统。 MyPBX Standard 也是一种融合的实现方案,即在传统的电话系统上结合应 用 VoIP 技术,非常适合企业/分支机构的长途电话旁路、PBX 互联及扩展等 VoIP 应用。 Standard 具有通话录音、呼入呼出路由、来电显示、回拨、快速拨号、自定义上下 班时间、外转外(DISA) 、特色响铃、语音留言、自动话务员(IVR)等功能,如图 4-1 所示为 Standard 的系统设置,由图 4-1 可以看出其通过 IP 设置在 Internet 上实现网络 通话,可以使用 IP 话机、模拟分机、软电话等进行通话。 图图 4-1 系统连接示意图 系统通过 Lan 设置 IP 后,使用 IE 浏览器登入到指定的系统服务器 Web 管理界面如 图 4-2 所示。该 Web 界面就是本次课题研究的主要测试内容,测试 Web 各个控件下的各 种功能点设置是否正常实现。 基于 QTP 的自动化测试 19 图图 4-2 Standard 的 Web 页面 4.2 对 Standard 的自动化测试 通过不断阅读 Standard 的产品说明书,对 Standard 的使用、基本功能有了一定的 了解后,又开始学习使用 IP 话机和软电话以及公司自行研发的 SipAutoTest 工具的使用。 掌握了 Standard 的基本框架后开始通过执行手工测试来对各个模块及其功能点进行细致 的了解。这个过程中遇到了层出不穷的问题,特别是如何搭建测试环境来进行模拟测试。 熟悉完了产品,开始学习使用 QTP,重点难点是如何利用 QTP 对 Standard 进行自动化测 试。这也是本次课题研究的主要内容,下面讲述的是 Standard 的自动化测试: (1)撰写测试需求分析 根据项目需要分析,简单的写出需要测试哪些功能点,前置条件,简单的写下测试思 路。如图 4-3 所示为 Firmware Update 的“需求分析” 。 福州大学本科生毕业设计(论文) 20 图图 4-34-3 固件升级需求分析 (2)自动化可行性分析 根据需求分析,结合公司的可用资源,综合分析哪些功能点可以用自动化测试代替 手工测试。这次研究中主要是先个人负责 20 个模块,写出所有需要测试的功能点,然后 分析是否可以转化成自动化测试,有三种结果:Feasible、Unfeasible、Unknown 分别表 示可以转化、不可以转化、不知道可不可以转化,最后经过小组讨论后确定下来,把那 些不可以的尽量想方设法变为可以,最后讨论结果是通过修改 SipAutotest 增加一些功能 来辅助测试。如图 4-4 为线路状态的可行性分析报告。 图图 4-44-4 线路状态可行性分析 基于 QTP 的自动化测试 21 (3) 制定测试计划 根据最迫切、最耗时、实现难度等原则制定出测试计划,主要包含实行项目、预计 时间、实施人员等,我们划分为 3 个阶段,本次课题研究的是第一阶段,选出了 9 个模 块如图 4-5 所示,包括容量、线路状态、呼出路由、呼入路由、系统提示音、固件升级、 IVR、登入、密码设置,其中时间为编写各个模块脚本的时间。 图图 4-54-5 测试计划 (4)设计测试用例 测试用例的设计要根据需求来编写,做到检查点尽可能的全面,测试步骤尽可能简 洁明了,方便测试人员进行测试结果分析和代码的编写,如图 4-6 所示为部分容量测试 用例。编写测试用例时,对测试功能点要有一个整体的框架,大的功能点尽可能的划分 为单独的 Action 这样有利于以后单独的对其测试验证。编写时还要考虑到不同的步骤关 联性尽可能的小,避免一个步骤出错,QTP 就报错而无法继续执行。有时候页面链接受到 网速等其它客观因素的影响,造成对象识别不到,所以本次课题研究中主要是通过重新 登入系统,经过重新加载来减少不同的步骤之间的相互影响。总的来说就是写测试用例 的操作步骤时一定要设计好容错处理、明确的检查点和报告的预期输出结果。还有写的 时候要把测试数据单独出来设计,这样有利于测试用例的复用性和简洁性以及测试数据 的设计。 福州大学本科生毕业设计(论文) 22 图图 4-6 测试用例 (5)建立对象库 在 QTP 中将 Standard 的所有对象都添加进来,并导出存放在本地,便于以后统一管 理和修改对象库,本次课题的研究中发现了这么做是非常有必要的,因为对象库都是相 同的,这样不同的 Test 的 Action 可以自由的调用或者复制。而且只要在一个对象库中 修改对象属性,则所有的 Test 中的对象也会跟着相应的改变。如果是名称修改的话,则 脚本中会自动修改为相应的名称。 (6)编写脚本 按模块来将 9 个模块写成 9 个 Test,而每个模块中又包含了不等的 Action,本次课 题研究的过程中,把不同的前置条件、测试内容设置为不同的 Action,如图 4-7 所示为呼 出路由的 Action,Main 控制整个的测试流程,Extension 、Trunk_Route 为前置条件,分 别为添加编辑所需的分机和设置所需的外线、路由等;Field_Input 测试呼出路由的各个 输入框是否正确,出错时相应的提示是否正确;Dial_OutRoute 为不同的设置情况下呼 出路由能否正常工作;RrmemoryHunt 为循环抓取呼出路由的功能点验证。编写脚本时还 要注意对一些关键代码进行注释。 图图 4-74-7 呼出路由的 Action (7)执行测试 脚本编辑完后还要进行不断的修改完善,搭建测试环境来进行测试以提高脚本的质 量。争取能够有效地发现 BUG。 基于 QTP 的自动化测试 23 (8)分析报告 QTP 执行完后都会输出一个测试报告,根据测试报告来分析测试结果是否正确,是否 发现有 BUG,若发现了 BUG 是否可以手动模拟出来。本次课题研究的各个报告结果见附录 2。在容量测试模块有效的发现了一个 BUG,当所有的数据都创建到所允许的最大数值时, 系统的呼入路由数据没有完全写入,通过串口的分析主要是因为系统的内存不足导致的。 下面是各个模块的测试分析结果: 1)容量测试:可以按需求自动新建 100 个 VoIP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少儿声乐课件
- 大园子育儿知识培训课件
- 小鸭子的游泳池绘画课件
- 项目全程质量控制实施方案
- 温度的课件教学课件
- 小飞虫课件绿色圃
- 小青蛙课件图
- 小雪消防安全知识培训课件
- 班主任习惯培养经验分享与案例分析
- 高考英语作文范文参考及写作技巧
- 多媒体教室使用的课件
- 2025年军队专业技能岗位文职人员招聘考试(工程机械驾驶员)历年参考题库含答案详解(5卷)
- 2025年下半年广西现代物流集团社会招聘校园招聘笔试参考题库附带答案详解(10套)
- 2025年粉笔辅警考试题库
- 水声传感器技术研究与应用
- 2025年小学教研室教学计划
- 2025年上海市建筑工程施工合同模板
- 手术室护理业务学习
- 贩卖人口罪与强迫劳动罪
- 新员工入职职业道德培训
- 宽带宣传活动方案
评论
0/150
提交评论