版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2014届学生毕业论文(设计)题 目: 系 别: 专业班级: 姓 名: 学 号: 指导教师: 完成时间: 年 月 日 软件测试的技术研究摘 要随着Internet的普及与迅速发展,企业业务量的迅速加大,数据大、集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业对外提供的服务质量,从而对IT系统的性能进行测试和调优引起企业的重视。本文介绍了软件测试的基础知识、方法以及运用工具,并对功能测试的用例进行实际编写,功能测试方面以163邮箱注册界面为例,在性能测试方面以飞机订票系统的第三方测试过程为例,阐述软件性能测试的方
2、法,并对测试的结果进行分析,看其是否满足规定的业务指标。关键词:软件性能测试;飞机订票;业务指标 SOTTWARE TEST RESEARHABSTRACT With the popularization of Internet and the rapid development.Rapid increase of business volume.Data concentration has become a trend.The IT system bearing load is heavier.The system performance is good or bad.Serious imp
3、act on the enterprise to provide the quality of service.Thus the performance of the IT system testing and tuning arouse the attention of enterprises. This paper introduces the basic knowledge.Software testing methods and tools and the function test of practical writing.The function test to 163 regis
4、tered mail interface as an example.In the aspect of performance testing to aircraft booking system of the third party testing process as an example.The method of software performance test,and the result of the test analysis.See its whether meet the business guidelines.Key words: Software performance
5、 testing; airline reservation system; business metrics;目 录 1前言11.1 软件测试背景和意义11.2 国内外现状11.3 本文主要内容22软件测试的基础理论和技术32.1 软件测试的理论和基础32.1.1 软件测试的定义32.1.2 软件的生命周期32.2 软件的测试内容32.3 软件测试的分类32.4 软件的测试类型52.5 测试方案32.5.1 测试的独立性32.5.2 测试计划33测试工具33.1 Quality Center33.2 QTP93.1 LoadRunner94测试用例设计与实现114.1 功能测试114.1.1
6、部分用例设计114.1.2 缺陷报告124.2 性能测试134.3 验收测试与测试结果分析185结论20参考文献21致 谢2227 / 33文档可自由编辑打印1前 言1.1软件测试的背景和意义软件产业是国家鼓励发展的朝阳产业,软件产业要发展,提高软件质量势所必然,而软件测试就是提高软件质量的重要手段。越来越多的软件企业意识到软件测试的重要性。简单的来说以我们目前最常见的12306火车订票系统,每当遇到春运期间,十一,五一长假期时,系统就会崩溃,出现刷票困难的情况。这都是需要软件测试人员进行性能测试,找出缺陷并且与软件的开发人员进行修改,共同完善系统,让用户尽可能得到满意。1.2国内外现状 国际
7、上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到 1:2甚至1:4。在软件测试技术方面,自动化测试系统(ATS)正朝着通用化、标准化、网络化和智能化的方向迈进。20世纪90年代中期以来,自动测试系统开发研制的指导思想发生了重大变化,以综合通用的ATS代替某一系列,采用共同的硬件及软件平台实现资源共享的思想受到高度重视。其主要思路是:采用共同的测试策略,从设计过程开始,通过“增值开发”的方式使后一阶段测试设备的研制能利用前一阶段的开发成果;TPS要能够移植,软件模块可以
8、重用;使用商业通用标准、成熟的仪器设备,缩短研发时间,降低开发成本并且易于升级和扩展。 国内软件测试的现状主要表现在: 一是软件测试的地位还不高,在很多公司还是一种可有可无的东西,大多只停留在软件单元测试、集成测试和功能测试上。 二是软件测试标准化和规范化不够。 三是软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量一般为5:1,国外一般为 2:1或1:1,而最近有资料显示微软已把此比例调整为1:2。 四是国内缺乏完全商业化的操作机构,一般只是政府部门的下属机构在做一些产品的验收测试工作,实质意义不大,软件测试产业化还有待开发和深掘。1.3本文主要内容 本文介绍了
9、软件测试的技术研究,前面部分详细讲述了软件测试的基础知识以及分类等等,中间介绍了几种软件测试常用的工具,如QC、QTP、LR等。后面部分讲述了功能测试中用例的设计和缺陷的提出,性能测试运用了LR去监控所需的服务器,并且生成了结果分析器。 2软件测试的基础理论和技术2.1 软件测试的理论和基础 2.1.1 软件测试的定义通过人工或者自动化的手段来对被测软件进行测试,看其是否满足规定的需求。 软件测试是破坏性的,诱发错误,重现错误,定位错误,记录错误 软件测试的系统组成架构包括C/S架构和B/S架构1。 2.1.2 软件的生命周期 软件的生命周期6个阶段:项目规划,需求定义和需求分析,软件设计,程
10、序编码,软件测试,运行维护2。 (1)项目规划 角色:销售、技术部经理 职责:确定公司有无实力完成该项目,以及核算项目的成本,人力资源的分陪。 (2)需求定义和需求分析 角色:需求采购人员 职责:与用户交流、收集、整理确定出想要一个什么样的产品 (3)软件设计 角色:系统结构师 职责:根据需求说明来制定软件的框架,以及用什么样的技术能够实现用户的需求。 (4)程序编码 角色:程序员 职责:根据需求说明、概要设计、详细设计的规约来开发符合用户要求的软件。 (5)软件测试 角色:软件测试工程师 职责:根据需求说明书,设计说明书尽可能多的找出尊在系统中的漏洞和错误,提交给开发人员进行修改。 (6)运
11、行维护 角色:实施工程师 职责:将开发好的软件部署到用户的真实使用当中,引导用户实用软件,并且解决用户在后续使用中所遇到的问题。2.2 软件的测试内容 验证软件是否满足一系列所规定的需要求。(1)确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。(2)程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程。2.3软件测试的分类 按照方法分类:白盒测试、黑盒测试 (1)黑盒测试:不考虑组件或者系统内部功能或者非功能测试。优点:很容易被用户接受和理解测试用例可在规格完成后马上进行,比白盒测试的效率要高。 黑盒测试的方法:等价类划分、边界值分析、因果图和判定表推断法
12、,错误推断法。主要用于软件的确认测试(测试用例的设计方法)。 a等价类划分 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例,该方法是一种重要的、常用的黑盒测试用例设计方法。b边界值分析 边界值分析3方法是对等价类划分方法的补充。测试经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,因此针对各种边界情况设计测试用例,可以查出更多的错误。 c因果图和判定表推断法因果图、判定表是一种充分考虑系统输入之间的组合、约束以及和输出因果关系的用例设计方法。因果图用于描述系统的输入、输出,以及
13、输入和输出之间的因果关系,输入和输出之间的约束关系,因果图的绘制过程是对被测试系统外部特征的建模过程。判定表可以由因果图转换得到,它用于对所有输入进行组合和筛选,并得到对应的输出。 d错误推断法 错误推断4法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。其基本思想是列出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。 (2)白盒测试:通过分析组件或系统内部结构的测试。 优点:检验代码中的所有分支和路径,揭示代码中隐藏的错误,测试全面。2.4软件测试的类型(1)功能测试功能测试从用户的角度出发,对系统提供的各种功能进行测试,主要是黑盒测
14、试。它把系统看作一个黑盒子,不考虑系统内部结构以及系统的具体实现方法。通过逐项测试,来检查系统的各个功能是否完善,输入正确的数据能否得到期望的输出结果,输入错误的信息时系统能否进行相应的处理。 功能性测试比较简单包括: a容错性测试:被测系统对错误数据的处理能力。 b安全性测试:验证被测系统对黑客的防范能力和本身的安全机制。 c裸机测试:只有被测系统和操作系统的测试。 d冒烟测试:对基本功能测试(增、删、改、查)的校验。 e负载测试:测试应用程序在负载之下的承受能力的测试负载测试是有多个压力测试组成的。f压力测试:不考虑设计限制而执行系统的测试。其根本目的:开发系统的设计极限。 (2)性能测试
15、性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 2.5测试方案 2.5.1测试的独立性 为了高效地检测出软件中存在的问题,提高测试质量,开发出高质量的软件产品,建立和加强测试工作的组织和管理必不可少,十分重要。在进行软件产品和软件项目开发室,主要有三类人员参与,项目经理,开发人员和测试人员5。 保持测试
16、组的独立性可更充分发挥测试客观性、专业性、为提高软件质量提供有力保证、软件测试团队的组织直接关系到测试团队的工作效率和生产力,其组织方式有测试团队规模和具体任务、个人的技术能力等因素决定、一般可分为基于技能的组织模式或基于项目的组织模式。 2.5.2 测试计划测试计划受到很多因素的影响:组织的测试方针,测试范围,测试目标,风险,约束,关进程度,可测试和资源的可用性。测试计划是个持续性活动,需要在整个生命周期和活动中进行。避免测试的“事件驱动”是整个测试工作和整个开发工作融合起来,资源和变更事先作为一个可控制的风险。3 测试工具 3.1 Quality CenterQuality Center6
17、是Mercury Interactive 公司推出的一个基于 Web 且支持测试管理的所有必要方面的应用程序。该软件提供统一、可重复的流程,用于收集需求、计划和安排测试、分析结果并管理缺陷和问题。组织可使用该软件在较大的应用程序生命周期中实现特定质量流程和过程的数字化。该软件还支持在 IT 团队间进行高水平沟通和协调。QC的主要功能: (1)Quality Center 有助于维护测试的项目数据库,这个数据库涵盖了应用程序功能的各个方面。设计了项目中的每个测试,以满足应用程序的某个特定的测试需求。要达到项目的各个目标,可将项目中的测试组织成各种特定的组。Quality Center 提供了一种
18、直观、高效的方法,用于计划和执行测试集、收集测试结果以及分析相关数据。Quality Center 还具有一套完善的系统,用于跟踪应用程序缺陷,通过它,您可以在从初期检测到最后解决的整个过程中严密监视缺陷。将 Quality Center 链接到电子邮件系统,所有应用程序开发、质量保证、客户支持和信息系统人员可以共享缺陷跟踪信息。 (2)Quality Center 可以集成 Mercury 测试工具(WinRunner、QuickTest Professional、QuickTest Professional for MySAP.com Windows Client、LoadRunner 和
19、 Visual API-XP)以及第三方和自定义测试工具、需求和配置管理工具。Quality Center 可以无缝地与您选择的测试工具通信,提供一种完整的解决方案,使应用程序测试完全自动化。(3)Quality Center 可指导您完成测试流程的需求指定、测试计划、测试执行和缺陷跟踪阶段。它把应用程序测试中所涉及的全部任务集成起来,有助于确保客户能够得到最高质量的应用程序。 图3-1 QC登陆界面Quality Center将测试活动大体分为四个阶段,在页面左端点击“缺陷”进入页面,在此页面显示所有提交的缺陷(即Bug)信息,如图3-2所示 图3-2 QC缺陷界面3.2 QTP QTP7
20、是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。 (1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于各自类型的产品测试。默认提供Web,ActiveX和VB。 (2)QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多(如相比SilkTest采用C语言
21、)。VBScript毕竟是一种松散的、非严格的、普及面很广的语言。 (3)QTP支持录制和回放的功能。录制产生的脚本,可以拿来作为自己编写脚本的template。录制时,还支持一种lower level 功能,这个对于QTP不容易识别出来的对象有用,不过它是使用坐标来标识的,对于坐标位置频繁变动的对象,采用这种方式不可行。另外,QTP的编辑器支持两种视图:Keyword模式和Expert模式。Keyword模式想法是好的,提供一个 描述近似于原始测试用例的、跟代码无关的视图(我基本很少用,除了查看、管理当前test中各个action的完整流程),而Expert就是代码视图,一般编写脚本都在这个
22、区域。3.3 LoadRunner Mercury LoadRunner8 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interact
23、ive 的 LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。虚拟用户生成器用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。Controller 用于组织、驱动、管理和监控负载测试。负载生成器用于通过运行虚拟用户生成负载。Analysis 有助于您查看、分析和比较性能结果。Launcher 为访问所有 LoadRunner 组件的统一界面。 4测试用例设计与实现4.1 功能测试功能测试首先要对被测系统进行分析,对输入框,下拉框等进行用例
24、的编写下面对163邮箱注册页面为例,对图4-1进行部分用例的设计。 图4-1 163邮箱注册页面 4.1.1 部分测试用例设计 对于注册页面输入框的测试用例设计可以采用以下三个方法来混合设计。 (1)主要使用等价类划分法,可分为:数字、字母、符号、其他语言和空。 (2)边界值进行辅助,密码为 6 到 20 位之间,小于 6,大于 20。 (3)错误推断法辅助,即典型的错误包括:前后为空,和密码明码显示等。 表4-2 用例设计 输入及操作说明 预期结果 实际结果在密码框输入数据:asdfag点击“立即注册”按钮在密码框输入数据:asQSef点击“立即注册”按钮在密码框输入数据:123456点击“
25、立即注册”按钮在密码框输入数据:asd!#点击“立即注册”按钮在密码框输入数据:密码1234点击“立即注册”按钮在密码框输入数据:12345点击“立即注册”按钮在密码框输入数据:123点击“立即注册”按钮在密码框输入数据:12345678901点击“立即注册”按钮在密码框输入第一位或最后一位为空格的密码: admin点击“立即注册”按钮注册成功 注册成功 注册成功 注册成功提示密码中含有非法字符提示密码中含有非法字符提示密码为6-10位之间提示密码为6-10位之间提示密码中含有非法字符与预期结果一致与预期结果一致与预期结果一致与预期结果一致与预期结果一致与预期结果一致与预期结果一致 与预期结果
26、一致与预期结果一致 4.1.2 缺陷报告 关于缺陷级别9 的说明: A类严重错误包括:由于程序所引起的死机,非法退出死循环导致数据库发生死锁,数据通讯错误,严重的数值计算错误。 B类较严重错误,包括:功能不符,数据流错误,程序接口错误,轻微的数值计算错误。 C类一般性错误,包括:界面错误打印内容、格式错误,简单的输入限制,未放在前台进行控制,删除操作未给提示。 D类较小的错误,包括:辅助说明描述不清楚,显示格式不规范,长时间操作未给用户进度提示,提示窗口文字未采用行业术语,可输入区域和只读区与没有明显的区分标志,系统处理未优化。 E类测试建议(非缺陷) 关于缺陷紧急程度的说明: 一般而言,严重
27、程度是指对于产一般也就有如下情况, 非常严重的缺陷,例如,软件的意外退出甚至操作系统崩溃,造成数据丢失。较严重的缺陷,例如,软件的某个菜单不起作用或者产生错误的结果。4.2 性能测试下面进行性能测试的系统是LoadRunner软件自带的飞机订票系统首先进入LoadRunner的主界面,如图5-3所示。 图4-3新建脚本图 进入主界面后点击新建脚本的按钮会,如图4-4所示。 图4-4开始脚本设置界面选取网页架构,点击创建按钮进入开始设置页面,如图4-5所示 图4-5网址输入界面 将所需登陆的网址填写入URL Address中,点击“OK”按钮进入订票系统页面,并填写账号密码,如图5-6所示 图
28、4-6飞机订票首页 以上操作放在LR的Action中,登陆上飞机订票系统后点击“注销”按钮,然后点击LR中的结束按钮,这样LR的登陆脚本就顺利的结束了。得到如下的脚本 图4-7 登陆系统的脚本 点击LR中的运行按钮,就会自动的重复上述操作(系统会自动的用账号:test 密码:1234 登陆飞机订票系统并且注销)。 上述脚本只能对一个用户进行操作,但是在软件的性能测试中需要进行多个用户同时进行操作,这就要在此脚本基础上进行手动的将上述的用户名以及密码进行参数化,方可进行多个用户的操作。以下是对用户名进行参数化的操作,选取用户名“test”右键-“Replace with a Parameter”
29、。 图4-8 参数化的操作界面 打开参数化设置,将所需要的用户名输入,如图4-9所示。 图4-9 添加参数化用户界面 注意在输入最后一个用户结束时一定要多一个回车键,否则用户名参数化将失败。密码参数化与用户参数化相同,得到参数化的结果,如图4-10所示。 图4-10 参数化添加成功界面参数化成功后进行性能监控。打开性能监控器,将录制好的脚本导入如图4-11所示。 图 4-11 导入录制的脚本 设置虚拟用户的数量,确定并发用户数并设置出时间,添加本地所需要监控的性能,开始运行监控,如图4-12所示。 图4-12 开始性能监控的图 当监控器监控结束之后,找到保存的性能结果打开,如图4-13所示。 图4-13结果分析器的图 该图为本地资源监控器的图,绿线为内存的使用情况,紫线为每秒的点击率,可在Windows Resources中找到想要监控本地的性能指标。在执行报告中填写测试的性能指标以及设备的型号。 4.3验收测试与测试结果分析验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。下面对上述的测试进行结果分析。根据图4-12和图4-13可得内存的是用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋继承房契协议书
- 房屋装修监工协议书
- 房屋赠与修建协议书
- 房租个人委托协议书
- 房租改造建房协议书
- 房租面积转让协议书
- 手机odm协议合同
- 手机管理规定协议书
- 基于用户行为的匹配算法改进
- 打井工人安全协议书
- 《分析方法的验证》课件
- 封存病历应急预案
- 燃气供应课程设计
- 航空器智能载荷管理
- A型主动脉夹层管理
- 教育技术学导论 黄荣怀(第2版)学习通超星期末考试答案章节答案2024年
- 国开《电子商务概论》实践任务参考答案
- 信息技术项目居间合同范本
- MOOC 中国传统艺术-篆刻、书法、水墨画体验与欣赏-哈尔滨工业大学 中国大学慕课答案
- 民用建筑电线电缆防火技术规程DBJ-T 15-226-2021
- 中国少数民族文化智慧树知到期末考试答案章节答案2024年云南大学
评论
0/150
提交评论