自动化测试技术课设报告.docx
《自动化测试技术课设报告.docx》由会员分享,可在线阅读,更多相关《自动化测试技术课设报告.docx(14页珍藏版)》请在冰豆网上搜索。
自动化测试技术课设报告
实验报告一旦出现雷同情况,一律以不及格处理。
存档资料成绩:
华东交通大学
课程设计报告书
注意:
此页为封面不打印,封面必须购买学校规定的标准封面(黄色硬纸张),封面内容按照本页提示填写,所有时间不要更改按照模板内容填写。
除本页外其他内容必须严格按照模板打印并装订成册,由班长或学委收齐并按学号排列整齐后上交,否则视为不合格处理。
所属课程名称自动化测试技术
题目
院(系) 软件学院
班级软件测试2008-3
学 号
学生姓名
指导教师严丽平
辅导教师严丽平
2011年7月1日
课程设计(论文)任务书
软件 学 院 软件测试 专 业 2008-3 班
一、课程设计(论文)题目 基于LoadRunner的性能测试
二、课程设计(论文)工作自2011年6月27日起至2011年7月1日止。
三、课程设计(论文)地点:
创新大楼软件学院实训中心机房
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生能掌握使用自动化测试工具LoadRunner进行网站性能测试的基本思路和方法,并能初步判断被测系统的性能结果;
(2)培养学生分析、解决问题的能力;
(3)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)设计合理划分的测试用例对被测系统进行性能测试,观测常见的性能指标数值;
(2)对进行性能测试时不同负载压力对测试造成的影响进行分析和总结;
(3)相应驱动的编写。
2)创新要求:
在基本要求达到后,可对被测系统进行探索性测试。
3)课程设计论文编写要求
(1)要按照书稿的规格打印书写课程设计论文
(2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录等
(3)课程设计论文装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
50分;
(3)完成测试:
10分;
(4)回答问题:
20分。
5)参考文献:
(1)柳胜.《软件自动化测试框架设计与实践》.人民邮电出版社
(2)陈能技.《QTP自动化测试实践》.电子工业出版社
(3)陈绍英等.《LoadRunner性能测试实战》.电子工业出版社
6)课程设计进度安排
内容天数 地点
构思及收集资料1 图书馆
设计与测试2.5 实验室
撰写论文1.5 图书馆、实验室
学生签名:
2011年6月27日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)翻译能力 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
评阅人:
严丽平职称:
教师
2011年7月2日
目 录
一、前言(课设目的及内容)1
二、测试计划及测试需求2
三、测试用例的设计3
四、测试过程4
五、测试结果分析5
六、课设小结及心得体会6
七、参考文献7
一、前言(课设目的及内容)
随着计算机的迅速发展,软件的使用者越来越多,对软件的功能和性能的要求也越来越高。
这就出现了软件质量保证这一名词,而软件的质量是通过测试来保证的。
软件测试在软件生命周期中占有重要的地位。
软件生命周期每一阶段都应包含测试。
测试从软件开发的过程按阶段划分有:
单元测试,集成测试,确认测试,系统测试和验收测试。
而性能测试就属于软件系统级测试,其目的就是保证产品发布后系统的性能满足用户需求。
在所有的性能测试工具中,LoadRunner是比较成熟的。
通过对自带的飞机订票系统录制LoadRunner的Vuser开发脚本,熟练地进行软件测试、性能测试。
测试过程中,涉及软件系统架构、计算机编程技巧和Vuser本身的功能特性。
LoadRunner是一款非常著名的性能测试工具,对于我们软件测试的学生来说,如果掌握了性能测试的技能,就将在测试领域有很大的发展空间。
要想更好地掌握技能测试的技术,就要求软件测试的同学不单单要掌握测试技能,而且还要了解硬件、网络等知识。
二、测试计划及测试需求
测试计划
飞机订票业务系统作为本次测试的被测系统(注:
以下所有针对被测系统地描述均为针对订票系统核心业务系统进行的),该业务系统的主要功能包括:
订票、票务查询和退订。
在本次测试中,将针对上述的功能进行压力测试,检查并评估在模拟环境中,设置聚集点、开始动作和结束动作脚本,系统对负载的承受能力,在不同的用户连接情况下,系统地吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数和点击率。
主要需要获得如下的测试指标。
1、系统的响应能力:
即在各种负载压力情况下,系统的响应时间,也就是从客户端交易发起,到服务器端交易应答返回所需要的时间,包括网络传输时间和服务器处理时间。
2、应用系统的吞吐率:
即应用系统在单位时间内完成的交易量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的交易数量。
3、应用系统的负载能力:
即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。
测试压力估算时采用原则如下:
Ø系统在线用户数取系统总用户数的20%,即:
Ø系统在线用户并发数取在线用户数的30%,即:
系统响应时间判断原则(2-5-10原则)如下:
Ø系统业务响应时间小于2秒,判为优秀,用户对系统感觉很好;
Ø系统业务响应时间在2-5秒之间,判为良好,用户对系统感觉一般;
Ø系统业务响应时间在5-10秒之间,判为及格,用户对系统勉强接受;
Ø系统业务响应时间超过10秒,判断为不及格,用户无法接受系统的响应速度;
测试需求
以本次性能测试环境与真实运行环境基本一致,都运行在同样的硬件和网络环境中,数据库是真实环境数据库的一个复制(或缩小),本系统采用标准的B\S结构,客户端都是通过浏览器访问应用系统。
其中具体的硬件和网络环境如下:
服务器设备:
IBMT60
操作系统:
WIN2000
网络环境:
LAN(2M)
数据库:
SQLSERVER2008
客户端:
PC(Windows)
网络拓扑和结构图如下:
图2.1网络拓扑和结构图
测试工具
Loadrunner8.1(美国Mercury公司)
使用HTTP/HTTPS协议。
主要思想是使用虚拟用户(Virtualusers)来模拟实际用户对系统施加压力。
三、测试用例的设计
测试的系统是Loadrunner自带的飞机订票系统,具有登入,订票,查看,退订和退出等功能。
录制过程脚本,来虚拟用户的操作。
用例设计的步骤如图:
图3.1创建脚本启动
图3.2登入事务
图3.3创建订票集合点和订票事务
图3.4创建订票结束事务
图3.5正常回放脚本文件
四、测试过程
进行性能测试可以分为以下几步:
制定性能测试计划->模拟仿真测试环境->录制测试脚本->组建测试场景->执行性能测试->监控性能指标->分析测试结果->生成测试报告。
上面介绍测试用例的时候已经创建好了测试脚本,下面的测试过程将从场景测试开始着手分析,步骤如下:
图4.1创建controller场景
图4.2添加场景计划
图4.3虚拟20个用户进行压力测试
至此,我们完成了场景压力测试的过程。
分析系统性能的主要因素:
处理器利用率(深蓝色):
正常情况下该值小于80%,所以没有到性能瓶颈;数据处理时长(浅绿色):
静态页面为主的网站,在80%左右为好,平均值略高于正常值;等待处理器执行的线程数(浅橙色):
测试机是双核CPU,此数值最大值为9产生阻塞,但是平均都低于3,所以基本是稳定的;磁盘读写所用的时间百分比(浅蓝色):
显然该值不超过85%,所以硬盘没有产生瓶颈;剩下两项都是网络服务的数据接收和发送,因为本系统是单机版没有连接网络,所以值为零。
图4.4场景状态
通过的事务为37053206,而产生的错误才77。
五、测试结果分析
图4.5产生结果分析
图4.6性能测试的摘要报告
如图4.6所示,ActionTransaction、vuser_end_Transaction、vuser_init_Transaction是系统默认的事务,其他是测试人员在loadrunner测试脚本中自己定义的事务。
Std为标准差,是统计学的概念,用来衡量各数据的采样点的偏差程度。
Std越小就证明采样点越集中,系统反应比较稳定。
图4.7运行虚拟用户概要报表
如图可知,虚拟用户在四毫秒前开始被加载进入系统,并且以10的数量迅速增长为20的数量,最后在24毫秒的时候释放加载。
图4.8每秒点击率情况
图4.9吞吐量报表
如图可知,系统在0.5毫秒和1.25毫秒左右分别达到了峰值,此时的请求和相应的数据量最大。
六、课设小结及心得体会
通过本次课程设计的学习与实践,我更了解了测试和分析基于Web项目的性能。
大致的学习笔记摘要如下:
操作步骤(以飞机订票系统的login为例)
首先录制脚本
设置场景为基于目标的方式,每秒加载5个Vuser直到加载50个Vuser,其他场景设置为默认值,运行场景;
通过AnalysisResult分析场景运行结果;
首先分析TtansactionPerformanceSummry(假如显示Login的平均响应时间较其他事务长)
接着分析Averagetransactionresponsetime,观察login在整个场景中每一秒的情况(假如显示Login只是随着Vuser的增加而增加);
分析login的每个页面元素的性能(选择WebPageBreakdownforlogin)(相关参数解释)
DNSResolution:
DNSserver把DNS名字解析成IP地址的时间,该项能确认DNS服务器或配置是否有问题,该值应该比较小
Connection:
浏览器和WEBServer建立连接的时间,该连接时间可以判断网络问题,该值应该比较小
FirstBuffer:
建立以上连接后,从Webserver发出第一个数据包经过网络传送到客户端,浏览器成功接受第一个字节的时间,该值表示WebServer的延迟时间和网络的反映时间
Receive:
从浏览器接收第一个字节起到成功接收最后一个字节所经历的时间,该值可以判断网络的质量
Client:
请求在客户端或浏览器的延迟时间
Errortime:
从发送了一个HTTP请求,从WEBServer发送回一个HTTP错误信息所需要的时间
接着分析Downloadtimebreakdown,看login页面各个组件的大小(downloadcomponentsize
),观察各组件的大小和下载时间,分析得出是否由于组建的大小影响整个的性能,如果不是,继续往下一步分析;
选中downloadtimebreakdown(overtime)查看各组件在场景运行中每秒钟的的传输时间,如果没有特别的组件传输时间长,则继续往下一步分析;
选中timetofirstbufferbreakdown确认是服务器还是网络问题,如果是服务器则分析Windows的系统资源。
学习就是不断积累和实践的过程,把每次遇到的问题通过自己的实践来检验书本上的知识时往往有更深的印象。
无论在今后的学习还是工作中都要保持这种优良的学习方法。
同时很感谢老师的细心教导,在测试的过程中提供物质精神上的支持和鼓励。
测试工具的学习往往是冗长和烦躁的,成百个参数等着去学习,捏着鼻子硬着头皮看着枯燥的教科书在炎热的春夏之际就是中磨练,没有同学的相互交流和宽松的学习环境,我想结果会是很糟糕的,不过庆幸我得到了更方面的支持,让我顺利地完成了本次课设。
七、参考文献
[1]张瑾,杜春晖.自动化软件测试[M].机械工业出版社,2008年1月
[2]刘宝德Web项目测试实战[M].北京科海电子出版社,2009年5月