《新浪微博质量检测报告.doc》由会员分享,可在线阅读,更多相关《新浪微博质量检测报告.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一引言1.1编写目的在过去的几十年中,许多公司已经将软件作为了自动化工作的工具。软件应用程序已经极大地提高了人们的工作效率和社会生产力,并成为促进全球经济协作与信息共享的一种新媒介。事实上,软件应用程序已经成为各类业务关键信息共享和事务处理的主要途径。如今,软件应用程序包含了从电子邮件到用于事务处理的CRM 等业务。随着软件开发技术不断发展和日益成熟,现代应用程序也越来越复杂。应用程序可以利用数十个甚至数百个组件完成以前用纸或人工完成的工作。在业务处理过程中,应用程序复杂度与潜在故障点数目之间有直接的关联。这使得找出问题根本原因变得越来越困难。而且,软件应用程序和汽车不同。它们没有仅在损坏后才
2、需要更换的永久部件。无论是要增强竞争优势,还是要响应业务状况中的变化,软件应用程序每周、每月、每年都在变化。不断的变化又会产生其他风险,而这些风险需要由公司来管理。软件惊人的变化速度和激增的复杂性为软件开发过程带来了巨大的风险。严格的性能测试是量化和减少这种风险最常见的策略。1.2背景说明:(1) 新浪微博是一个由新浪网推出,提供微型博客服务类的社交网站。用户可以通过网页、WAP页面、手机客户端、手机短信、彩信发布消息或上传图片。新浪可以把微博理解为微型博客或者一句话博客。用户可以将看到的、听到的、想到的事情写成一句话,或发一张图片,通过电脑或者手机随时随地分享给朋友,一起分享、讨论;还可以关
3、注朋友,即时看到朋友们发布的信息。 (2) 新浪微博为典型的B/S结构,客户端都是通过浏览器访问应用系统。Web服务器为Apache,浏览器和web服务器之间基于HTTP协议。系统的体系结构如图1所示:图1 系统的体系结构图 1.3定义内容应用HTTP VU函数HTTP协议Header设置Web_add_headerWeb_clean_header点击链接Web_link函数Web_image函数提交表单Web_submit_dataWeb_submit_formWeb系统设置Cache设置Web_cache_leanupWeb_load_cacheCookie设置Web_add_cookie
4、Web_cleanup_cookiesProxy设置Web_set_proxyWeb_set_sercure_proxyLoadRunner框架支持检查点Web_findWeb_image_check关联Web_create_html_paramWeb_create_html_param_exWeb_reg_save_paramWeb_set_max_html_param_len控制Lr_start_transactionLr_rendezvousLr_think_time1.4参考资料软件自动化测试工具实用技术 科学出版社软件质量保证 Daniel Galin 机械工业出版社 软件测试技术与
5、教程 人民邮电出版社 软件工程 张海藩 人民邮电出版社 软件测试基础教程Andreas Spiller等著 人民邮电出版社 软件工程理论与实践白忠建等编著 高等教育出版社 实用软件测试指南Whittaker J.A. 马良荔 著 电子工业出版二测试概要 2.1制定测试计划本项目的人力资源如表2.1所示:表2.1 人力资源表姓名角色职责刘建奇测试人员设计并执行功能测试梁峻强测试人员设计并执行性能测试 在任何类型的测试中,测试汁划都是必要的步骤。测试计划楚进行成功的负载测拭的关键。在任何类型的测试的第一步都是制定比较详细的测试计划。测试汁划中要秉点分祈系统的性能需求,并确定性能测试内容。性能测试主
6、要是对响应时间、事务处理速率和其他与时间有关的需求进行评测和核实监测系统性能是否都以满足。在本次的性能测试中,主要是进行并发性能测试本次测试的是登录模块、发表微博模块、关注好友模块,测试策略见下表:表2.2 登陆模块并发测试测试策略项登陆模块并发测试测试技术采用LoadRunner测试工具自动化测试测试通过/失败标准80%的事务平均响应时间不超过8s,每一事务的响应时间不超过12S特殊考虑(1) 可创建“虚拟的”用户负载来模拟多个客户机(2) 最好使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载(3) 多用户不同网络条件下的连接速度是否满足要求表2.3 发微博模块并发测试测试策略
7、项发微博模块并发测试测试技术采用LoadRunner测试工具自动化测试测试通过/失败标准80%的事务平均响应时间不超过10s,每一事务的响应时间不超过12S特殊考虑(1) 可创建的“虚拟”用户负载来模拟多个客户机(2) 对用户提交的表单进行检查表2.4 关注好友模块并发测试测试策略项关注好友模块并发测试测试技术采用LoadRunner测试工具自动化测试测试通过/失败标准80%的事务平均响应时间不超过10s,每一事务的响应时间不超过12S特殊考虑(1) 可创建的“虚拟”用户负载来模拟多个客户机(2)设置关注时考虑到不同模块2.2开发测试脚本 LoadRunner使用虚拟用户的活动模拟真实用户来操
8、作Web应用程序,而虚拟用户的活动就包含在测试脚本中,所以说测试脚本对于测试来说是非常重要的,开发测试脚本要使用ViiGen组件。测试脚本要完成的内容:(1)创建每一个虚拟用户的活动。(2)定义事务。(3)设定集合点。(4)插入检查点。2.3测试过程(1)启动LoadRunner。选择开始 程序 HP LoadRunner LoadRunner。这时将打开HP LoadRunner 11.00 窗口(2)打开VuGen。在LoadRunner Launcher窗格中,单击创建/编辑脚本。这时将打开VuGen 起始页(3)创建一个空白的Web脚本,如图2.3.1所示在欢迎使用Virtual Us
9、er Generator区域中,单击新建脚本按钮这是将打开“新建虚拟用户”对话框,显示“新建单协议脚本”选项。注:协议是客户端用来与系统后端进行通信的语言。新浪微博 是一个基于Web的应用程序。因此讲创建一个Web Vuser脚本。确保“类别”是所有协议,VuGen将列出适用与单协议脚本的所有可用协议。2.3.1选择空白的Web脚本图(4)录制参数设置 在【Tools】菜单中执行【Recording Options】命令进入录制参数设置对话框。选择【Recording】选项卡,这里有两种选择模式【HTML-based script】和【URL-based script】,如图2.3.2所示图2
10、.3.2 选项设置默认为【HTML-based script】,可以为每个用户请求生成单独的函数,该模式录制生成的脚本直观,易于理解和维护。(5)开始录制选择Vuser开始录制或者单击页面顶部工具栏中的开始录制按钮,如图2.3.3所示。图2.3.3 录制按钮图打开 “开始录制”对话框,选择录制内容地址,及录制存放地址,填写如图2.3.4所示图2.3.3 录制内容图 (6)创建事务 当测试脚本运行到一个事务的开始点时,LoadRunner就会开始计时,直至运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有所反映。图2.3.4 创建事物 (7)查看日志 A.回放日志 脚本运行时的输出都
11、记在这个Log里。“输出”窗口的“执行日志”显示的消息用于描述Vuser运行时执行的操作。该信息可说明在方案中执行脚本是,该脚本的运行方式。 脚本执行完成后,可以检查“执行日志”中的消息,以查看脚本在运行时是否发生错误。“执行日志”中使用不同颜色的文本。如图所示: B.录制日志 在VUGen的Recording Log中,可以找到浏览器与服务器之间的所有对话,包括通信内容,日期,时间,浏览器的请求及服务器的响应内容等如图2.3.7所示:图2.3.7 录制日志 C.产生日志 产生日志记录了脚本录制的设置,网络事件到脚本函数的转化过程。 (8)回放与调试脚本 编译通过后,单机【运行】按钮即可运行脚
12、本。三.测试用例设计 新浪微博是国内最主流,最具人气,当前最火爆的微博产品。用一句话随意记录生活,用手机随时随地发微博。迅速获取最热最火最快最酷最新的资讯。每天有大量用户登陆使用。3.1登陆测试用例 表3.1登陆测试用例用例名称登陆新浪微博测试功能系统支持多个用户并发登陆目的测试多用户登录时系统的处理能力方法模拟多个用户在不同客户端登陆,然后并发进入系统。采用LoadRunner录制登陆过程(由于新浪微博本身不支持不同用户登陆,所以没有使用参数化)新浪微博登陆页面如图3.1.1所示图3.1.1 新浪微博登陆页面把登陆的部分放在“vuser_init”部分中,把需要测试的内容放到“Action”
13、部分执行。但是如果模拟多个用户登录系统,则把登陆放到Action部分实现。录制登陆的脚本如图3.2.1所示图3.1.2 录制成功的脚本运行脚本,查看脚本视图图3.1.3 产生的脚本代码图 查看脚本录制通过运行录制脚本可以确定脚本是否录制成功,录制脚本是否可用。运行情况如图3.1.4,图3.1.5所示:图3.1.4 运行指令图成功标志:图3.1.5 运行成功图 LoadRunner Controller来管理和维护场景,可以在一台工作站控制一个场景中的所有虚拟用户(Vuser)。执行场景时,Controller会将该场景中的每个Vuser分配给一个负载生成器。负载生成器执行Vuser脚本,从而使
14、Vuser可以模拟真实用户操作的计算机。LoadRunner Controller通过模拟多个虚拟用户代替真实的用户操作行为,同时支持多机联合测试,充分利用有限的硬件资源,解决了手工操作不同步和人力、物力资源的严重浪费的问题。您还可以在负载执行过程中监控并收集系统资源(如CPU、内存、I/O等)、数据库资源、应用服务器、网络等,为日后您通过分析负载结果,从而定位系统瓶颈提供了坚实基础。 通过Controller您可以在场景中设置真实运行系统中的典型业务,如将按照一定比例模拟在线用户数,不同浏览新闻、书写博客、查看邮件、浏览论坛帖子、发表帖子、观看电影等业务的分组作为一个业务场景,考察系统服务器
15、资源、数据库资源、网络资源在系统运行期间的性能。启动Contronller后,将会自动打开图3.1.6所示的新建场景对话框。图3.1.6 启动Contronller图场景组以普通手工模式为虚拟用户组中添加10个Vuser,如图3.1.7所示图3.1.7 添加虚拟用户图进入【Schedule Builder】配置页面。Schedule是场景配置的重要组成部分,主要用于配置用户的行为方式。LordRunner在Controller中提供了非常灵活的Schedule ,以适应创建各种复杂的性能测试场景。Schedule 的配置主界面如图3.1.8所示:图3.1.8 Schedule 的配置主界面【运
16、行】选项卡显示“场景组”窗口、场景状态摘要和在脚本执行期间生成的联机信息的图。场景组:显示每个虚拟用户组及其当前运行状态。如图3.1.9所示;图3.1.9 场景组 选择Vuser组,然后单击【Vuser】按钮,将打开【Vuser 10】对话框,其中显示改组中每个Vuser的ID、状态、脚本、负载生成器和已用时间的列表,如图3.1.10所示:图3.1.10 Vuser组运行详情图 已经定义了Vuser在测试期间的行为方式,接着就可以设置监视器。在应用程序中生成重负载时,可以实时了解新浪微博登陆的性能以及潜在的瓶颈,LoadRunner有一套集成监控器评测。设置10个Vuser的分析图(1) 模拟
17、10个Vuser并发登陆虚拟用户图正在运行的虚拟用户图显示在场景运行的整个过程内,执行虚拟用户脚本的Vuser数量及其状态。图3.1.11 模拟10个Vuser并发登陆虚拟用户图(2) 模拟10个Vuser并发登陆事务平均响应时间图图3.1.12是性能下降的事务平均响应时间图,从图中可以很容易看出,随测试时间的变化,系统处理事务的速度将逐渐变慢。图3.1.12 模拟10个Vuser并发登陆事务平均响应时间图 (3)模拟10个Vuser并发登陆每秒点击次数图图3.1.13 模拟10个Vuser并发登陆每秒点击次数图在Controller执行的测试结束后,首先要做的是判断采集到的结果数据社否真实有
18、效,多数性能测试场景都需要迭代进行测试。确定测试结果真实有效之后,就要开始对测试数据进行深入挖掘了。面对测试工具产生的纷繁复杂的原始测试数据,借助LoadRunner的分析组件Analysis,很容易按照“由外而内,由表及里,层层深入”的原则进行分析,快速将问题定位。在分析概要结果中,重点查看虚拟用户的运行情况和事务综述。通用的性能测试分析流程为:第一步:从分析Summary的事务执行情况入手第二步:查看负载发生器和服务器的系统资源情况第三步:查看虚拟用户与事务的详细执行情况第四步:查看错误发生情况。第五步:查看Web资源与细分网页Analysis和事务相关的分析图有事综述图,事务平均响应时间
19、图,每秒通过事务树图等,可以很容易分析出整个测试过程的事务执行情况。(4)模拟10个Vuser并发登陆事务综述图(Transaction Summarv)图图3.1.14 模拟10个Vuser并发登陆事务综述图 单击场景组的【Vuser】按钮,然后在弹出的虚拟用户列表对话框中单击右侧控制区域的【add Vuser】按钮,在图对话框中,设置新添加的虚拟用户信息,如图3.1.15所示。图2.1.15设置新添加的虚拟用户信息 30个Vuser的分析图(1)模拟30个Vuser并发登陆的虚拟用户图图3.1.16 模拟30个Vuser并发登陆的虚拟用户图(2)模拟30个Vuser并发登陆的事务响应时间图
20、图3.1.17 模拟30个Vuser并发登陆的事务响应时间图(3)模拟30个Vuser并发登陆每秒点击次数图3.1.18 模拟30个Vuser并发登陆的每秒点击次数图(4)模拟30个Vuser并发登陆事务综述图(Transaction Summarv)图图3.1.19 模拟30个Vuser并发登陆的事务综述图测试结果分析:表3.1.2测试结果分析并发用户数事务平均响应时间事务成功率每秒点击率平均流量(字节/秒)1072.6250.853.974.1263086.5410.785.845.626由上面测试结果数据可知,随着并发事件数量的增加,响应速度稍微变慢,超过一定数量是,系统可能无法接受,但
21、是由于试验条件有限,并有测试出起限制具体数量。3.2 发微博测试用例表3.2 发微博测试用例用例名称发微博测试功能系统支持多个用户并发上传微博目的测试多用户上传微博系统的处理能力方法模拟多个用户在不同客户端发送微博,然后并发操作。采用LoadRunner录制上传微博录制的脚本为如3.2.1图所示图3.2.1 发微博测试录制图先设置10个虚拟用户进行测试 (1)10个Vuser并发微博虚拟用户图图3.2.2 10个Vuser并发微博虚拟用户图 (2)10个Vuser并发微博事务响应时间图图3.2.3 10个Vuser并发微博事务平均响应时间图 (3)10个Vuser并发微博每秒点击次数图图3.2
22、.3 10个Vuser并发微博事务每秒点击次数(4)10个Vuser并发微博事务综述图(Transaction Summarv)图图3.2.4 10个Vuser并发微博事务综述图然后设置20个虚拟用户进行测试(1)20个Vuser并发微博虚拟用户图图3.2.5 20个Vuser并发微博虚拟用户图(2)20个Vuser并发微博事务响应时间图图3.2.3 20个Vuser并发微博事务平均响应时间图(3)20个Vuser并发微博每秒点击次数图3.2.4 20个Vuser并发微博每秒点击次数图(4)20个Vuser并发微博事务综述图(Transaction Summarv)图图3.2.5 20个Vus
23、er并发微博事务综述图测试结果分析:表3.2.2测试结果分析并发用户数事务平均响应时间事务成功率每秒点击率平均流量(字节/秒)1082.6250.886.975.82620196.5410.718.846.6963.2 关注好友测试用例表3.2 关注好友测试用例用例名称关注好友测试功能系统支持多个用户并发关注好友目的测试多用户关注好友微博系统的处理能力方法模拟多个用户在不同客户端关注好友,然后并发操作。采用LoadRunner录制上传微博先设置10个虚拟用户进行测试 (1)10个Vuser并发关注好友虚拟用户图图3.2.1 10个Vuser并发关注好友虚拟用户图 (2)10个Vuser并发关注
24、好友事务响应时间图图3.2.2 10个Vuser并发关注好友事务平均响应时间图 (3)10个Vuser并发关注好友每秒点击次数图图3.2.3 10个Vuser并发关注好友每秒点击次数(4)10个Vuser并发关注好友事务综述图(Transaction Summarv)图图3.2.4 10个Vuser并发关注好友事务综述图然后设置30个虚拟用户进行测试(1)30个Vuser并发关注好友虚拟用户图图3.2.5 30个Vuser并发关注好友虚拟用户图(2)30个Vuser并发关注好友事务响应时间图图3.2.6 30个Vuser并发关注好友事务响应时间图(3)30个Vuser并发关注好友每秒点击次数图
25、3.2.7 30个Vuser并发关注好友每秒点击次数(4)30个Vuser并发关注好友事务综述图(Transaction Summarv)图图3.2.5 30个Vuser并发关注好友事务综述图测试结果分析:表3.3.2测试结果分析并发用户数事务平均响应时间事务成功率每秒点击率平均流量(字节/秒)1072.6250.853.974.1263086.5410.785.845.626四对系统功能的结论4.1测试结果分析由上面测试结果数据可知,随着并发事件数量的增加,响应速度稍微变慢,超过一定数量是,系统可能无法接受,但是由于试验条件有限,并有测试出起限制具体数量。 4.2缺陷和限制 (1).所建议系
26、统的运行寿命的最小值; (2).经费、投资方面的来源和限制;无; (3).法律和政策方面的限制:遵守国家有关软件开发的法律法规; (4).硬件、软件、运行环境方面的条件和限制:Windowsxp 以上; (5).可利用的信息和资源:通过网络查找信息; 五测试资源消耗 上课的一个学期间,虽然说学到了一些东西,但是从来没有实践过,所以还是很生疏的。当刚开始做的时候就感觉到了困难的所在。以前学的东西根本就不能很好的自己运用。很多以前学的东西我们没有理解到位,不能很好地来解决问题。 很多东西书上写的很清楚,自己看着简单,思路也清楚,但是真正的来做一个系统的时候就发现了其中的难度。请教了别人很多东西,但
27、是也靠自己一次一次的去尝试,努力来完成任务。 软件质量管理测试分析报告成绩评定表评价内容标 准分值得分1选题质量能体现课程的培养目标,难度和工作量较大,有较强的创新性。202测试过程圆满完成测试中各项要求,测试报告设计科学、算法正确,计算准确;图、表绘制及技术要求符合国家标准。具有一定的创新性和实用性;立论正确,结构严谨,结论明确。对专业知识综合训练程度高,测试报告撰写规范。403问题陈述回答问题有理有据,体现出较宽泛的知识面,思维敏捷、逻辑性强。陈述清晰、正确、逻辑性强,基本概念清楚,语言流畅、精炼。204总体表现在整个测试过程中,能够独立分析并解决问题,完成相关部分的设计,同时也能够表现出具有较强的团队协作的能力。20总 评