自动化测试课程设计 华东交通大学.docx
- 文档编号:8811837
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:26
- 大小:4.47MB
自动化测试课程设计 华东交通大学.docx
《自动化测试课程设计 华东交通大学.docx》由会员分享,可在线阅读,更多相关《自动化测试课程设计 华东交通大学.docx(26页珍藏版)》请在冰豆网上搜索。
自动化测试课程设计华东交通大学
课程设计(论文)任务书
软件 学 院 软件工程(软件测试) 专 业 2008-2 班
一、课程设计(论文)题目 基于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)张瑾、杜春辉等,《自动化软件测试》,机械工业出版社,2008年
(2)刘群策 ,《LoadRunner和软件项目性能测试》,机械工业出版社,2008年
(3)陈绍英等.《LoadRunner性能测试实战》,电子工业出版社,2009年
(4)
6)课程设计进度安排
内容天数 地点
构思及收集资料1 图书馆
设计与测试2.5 实验室
撰写论文1.5 图书馆、实验室
学生签名:
2011年6月27日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)翻译能力 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
评阅人:
职称:
2011年7月2日
目 录
一、前言4
二、测试计划及测试需求5
1、计划安排5
2、测试工具以及需求5
三、测试用例的设计6
四、测试过程7
1、脚本录制及优化7
2、场景设计10
六、课设小结体会21
七、参考文献22
一、前言
作为一个以软件测试为专业的在校大学生,在没有全面掌握软件测试的技术和经验前,接触软件测试的实践机会是很少的,所以软件测试课程设计是在学生走向软件测试师之前必要的锻炼方式。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保障的关键步骤。
其定义可简略概括为:
为了发现错误而运行程序的过程。
随着软件规模的不断扩大,软件质量问题已成为制约计算机发展的主要因素之一。
作为保证软件质量和可靠性的手段,软件测试起着不可替代的作用。
在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。
因此,在软件生命周期的每个阶段都不可避免地会产生差错。
测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。
目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。
追求更高的质量和更高的性能是人类的天性。
“更快,更高,更强”的奥运会是对人类自身运动能力的测试。
同样,人类也在追求我们工作生活中不可或缺的WEB系统能够提供更快更强的服务。
目前WEB系统已经成为各个企业运转业务时最重要的系统之一。
Web的信息化软件相比传统软件,带来了非常大的优越性,但同时也带来了很多挑战,这是因为基于Web的信息系统的大分布,决定了Web服务器要同时接受大量的数据请求。
这样一旦Web服务器瘫痪即将造成巨大的损失。
这就对Web系统的性能提出了要求,要求产品在出厂前必须接受严格的性能测试。
本文旨在指导初学者使用LoadRunner进行基础的性能测试,当我们在接到一个性能测试任务的时候,需要从以下几点考虑:
我们的测试对象是什么,测试要求是什么,测试环境怎么部署的,业务规模如何,哪些业务点是客户最关注的等等,都是我们作为一名软件测试师应该知道去如何操作的基本知识。
这些都用目前比较流行的性能测试工具loadrunner,完成对oa系统的部分功能的测试。
二、测试计划及测试需求
1、计划安排
表1计划安排
测试活动
计划开始时间
实际开始时间
结束时间
收集资料
2011-6-27
2011-6-26
2011-6-26
制定测试计划
2011-6-27
2011-6-27
2011-6-28
性能测试
2011-6-28
2011-6-28
2011-7-01
2、测试工具以及需求
测试工具:
IIS服务器,loadrunner8.1以及相关环境
内容需求:
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
测试中的各类需求:
●windowsxp的操作系统
●AMD处理器、2G内存
●tomcat服务器
●MYSQL数据库
●jdk的配置
通过OA系统和基于loadrunner性能测试的规格说明,可确定主任务为登陆,页面切换,以及退出。
并在此基础上,得出基本流程:
用户登陆到OA系统主页面,输入相应用户名和密码并登陆→进入系统的主页面,然后点击左侧的“用户管理”→点击“添加用户”并且注册用户信息确定→用户返回主页并退出→针对每个路程都录制相应的脚本,初始化、action等
三、测试用例的设计
本次测试主要是针对于OA系统登录这个模块,模仿真实用户的登录,并且进行测试用例的设计。
场景一设计:
1.登录OA系统10个用户,所有用户都同时并发操作。
2.OA系统过程中要进行登录、用户管理、添加用户等功能。
3.确定增加用户,退出系统。
场景二设计:
1.登录OA系统20个用户,所有用户都同时并发操作。
2.OA系统过程中要进行登录、用户管理、添加用户等功能。
3.确定增加用户,退出系统。
场景三设计:
1.登录OA系统10个用户,每5秒增加2个用户。
2.OA系统过程中要进行登录、用户管理、添加用户等功能。
3.确定增加用户,退出系统。
场景四设计:
1.登录OA系统20个用户,每5秒增加2个用户。
2.OA系统过程中要进行登录、用户管理、添加用户等功能。
3.确定增加用户,退出系统。
四、测试过程
1、脚本录制及优化
启动MercuryloadRunner8.1,会显示如图所示:
图1启动
点击“创建/编辑脚本”,启动VisualUserGenerator:
图2创建脚本
点击新建VUSER脚本,选择系统通讯的协议。
这里我们需要测试的是Web(http/html):
图3新建协议
点击确定后然后在URL地址栏填上http:
//127.0.0.1:
1234/oa/index.jsp,选择录制到vuser_init,然后会自动跳到脚本录制界面,并录制事件:
图4录制系统
接着把输入账号和密码录制到submit_login(action)中,一直到成功添加用户后,然后将退出OA系统录制到vuser_end中,自动生成录制脚本:
vuser_init()
{
web_add_cookie("/oa/lefttree.jsp=1|2|3|4|5|50|51;DOMAIN=127.0.0.1");
web_url("index.jsp",
"URL=http:
//127.0.0.1:
1234/oa/index.jsp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
return0;
}
Action()
{
lr_think_time(57);
web_submit_data("login_oa.jsp",
"Action=http:
//127.0.0.1:
1234/oa/login_oa.jsp",
"Method=POST",
"RecContentType=text/html",
"Referer=http:
//127.0.0.1:
1234/oa/index.jsp",
"Snapshot=t2.inf",
"Mode=HTML",
ITEMDATA,
"Name=name","Value=admin",ENDITEM,
"Name=pwd","Value=111111",ENDITEM,
"Name=pcinfo","Value=",ENDITEM,
"Name=imageField2.x","Value=34",ENDITEM,
"Name=imageField2.y","Value=12",ENDITEM,
EXTRARES,
"Url=images/back.gif",ENDITEM,
LAST);
……return0;
}
当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。
一般情况下,通过以下几种方法来完善测试脚本。
插入事务、插入集合点、插入注解、参数化输入。
在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。
这些操作都被记录到了脚本中。
当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。
我们这里模拟多个用户登入系统,必须使用不同的账号,所以参数化用户登入名。
插入事务点如下:
图5插入事务
插入集合点:
图6插入集合点
接着的是参数化操作,然后在代码中对admin右键使用新参数替换为username,完成了脚本录制和优化的工作。
图7参数化
2、场景设计
对于生成的脚本,然后接着的是创建场景:
图8创建场景
当点击确定后会自动跳到场景设计界面如下图所示,从此处开始就要进行场景设计了,就像测试用例的各种情况都是从这里开始设置的,由于篇幅问题这里就不再一个个去写测试用例的结果,参考录制的视频。
图9场景设计
这里介绍的是测试用例三,针对它进行场景设计:
图10加压设置
进行加压设置,每隔5秒种进入两个用户,持续时间为5分钟,减压过程设置为和加压过程是对称的,也是每隔5秒钟出去退出两个用户。
图11场景
接着对“运行时设置”,
进行各项的设置,日志设置为总是发送信息,思考时间设置为限制3秒,其他设置一下出现错误时仍继续,如下图所示:
图12设置
点击确定,然后开始场景。
图13开始场景
当然此时你可以点击中间的vuser查看目前虚拟用户的各个状态
图14vuser查看
接着的是对着windows资源—最后一个60秒右键添加度量:
图15添加度量
进行设置,点击添加,输入名称“localhost”,选择平台“windowsxp”,点击确定之后,
图16添加计算机
图17windows资源
然后让场景自动运行停止,状态图为:
图18场景停止
五、测试结果分析
场景设计完成以及运行完毕周后,接下来的就是结果分析了,点击菜单栏中的分析结果,会自动将结果传输到会话数据库,如下图所示:
图19分析结果
使用Controller执行性能测试后会生成测试结果,用户可以使用Analysis工具对其结果进行分析,如下图所示,Analysis工具左边是默认的报表名称,用户可以通过点击【NewGraph】节点添加所需要的报表以供测试人员进行分析,此时会生成结果分析图:
图20Analysis表
上表中的TotalThroughput(bytes)表示系统总的吞吐量,AverageThroughput(bytes/second)表示每秒钟的吞吐量。
TotalHits为总的点击数量,AverageHitsperSecond是平均每秒的点击数量。
除了summaryReport报表,还有产生很多表供测试人员去分析。
测试人员可以看到虚拟用户在什么时间开始被加载进入系统,并且以什么数量、又在什么时间进行加载和释放的,此时可以根据下图来说明问题,此图为“runningvuser”:
图21vuser
可以看到在什么时间每秒点击率达到最大,峰值是需要重点分析的地方,此图为HitsperSecond:
图22点击数
吞吐量:
通过吞吐量了解到系统什么时候请求和响应的数据量最大,对峰值需要进行重点分析。
图23吞吐量
事物摘要:
统计各个事务响应的时间,对响应时间较长的事务应该进行重点分析:
图24事务
平均事务响应时间:
图25平均事务响应时间
如果你现在需要去把两张图合在一起去分析你的测试结果,比如先切换到运行user图,右键选择合并图命令,会出现:
图26合并图
当两张图合并起一张图时,你就可以在这张图上进行数据分析,然后此图命名会把两张图的名字加在一起的,如下所示:
图27合成
还可以通过“新图”创建你想创建的图表:
图28新图
a.事务的响应时间:
出现现象:
先越来越长,再比较平缓,之后又越来越短
表明:
系统处理能力在下降,最后时间越来越短说明并发数达到了一定数目,系统只能处理一部分的事务,要等系统把这些正在处理的事务处理完毕之后才处理别的事务,如果你的电脑系统没有这种机制的话,那么你的事务响应时间会越来越长,一直到你的CPU被全部占用,直到系统瘫痪。
b.CPU使用率:
出现现象:
CPU使用率不断上升,内存使用率也是不断上升
表明:
该系统里产生的资源征用,不断被消耗。
c.业务失败是表明该考虑数据库释放被锁住。
图29下载组件大小图
图30第一次缓冲时间变化图
这些图都是给测试人员作分析用的,你可以查看任何你想查看的图表,并且从中分析你的系统是否正常,从我的测试来看OA系统各项指标是比较正常的。
六、课设小结体会
Loadrunner无疑是一个强大有力的压力测试工具。
它的脚本可以录制生成,自动关联;测试场景可以面向指标,多方监控;测试结果图表显示,拆分组合。
本次性能测试是使用LoadRunner测试一个系统,即OA系统。
测试过程中,进行压力测试,测试过程按照负载和流量生成,测试数据监听,获取和显示,测试数据分析和记录,测试结果输出以及测试结果报表生成步骤进行。
通过这次课程设计让我明白了很多,以前就认为压力测试很简单,只是使用那些工具随便测试一下并得出数据而已。
但是在这次的实验过程中,也就是真正操作起来的时候,发现了原来测试不是我之前想象的那么简单,我觉得软件测试是一门系统,正规,完整的学科,从分析目标软件到制定测试计划,从测试用例的设计到测试场景的运行,无一不透露着严谨和规范。
在装loadrunner的时候还真让自己感觉有点费劲,总是有错误,比如在实验过程中IIS服务的配置,loadrunner的装载错误等等的问题,然后自己通过去网上或者去图书馆查资料,也通过了问同学老师把自己碰到的问题一个个的解决了,这让我明白了一点就是在你碰到任何困难的时候,你先不能去抱怨,静下心来去思考,总会有解决问题的办法。
在创建脚本,代码优化,场景设计,分析场景以及对结果的分析中,你会发现软件测试的目的与软件工程所有其他阶段的目的都相反。
在测试阶段,一系列的测试方案都是为了“破坏”已经建造好的软件系统而特地设计的,它的存在是为了竭力证明程序中的错误不能按照预定要求正确工作。
软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。
最后虽然这次课设做的我挺累的,但是这不重要,重要的是让我明白了不单单是技术上的问题,也让我懂得了人生的一些知识,让我收获很大,所以我很感谢我的这门课的严老师还有同学,有了老师认真的辅导,同学热情的帮助让自己成功的完成了这次的课程设计,也成功的悟出了很多问题。
七、参考文献
(1)柳胜.《软件自动化测试框架设计与实践》.人民邮电出版社
(2)陈能技.《QTP自动化测试实践》.电子工业出版社
(3)陈绍英等.《LoadRunner性能测试实战》.电子工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化测试课程设计 华东交通大学 自动化 测试 课程设计 华东 交通大学