性能测试之场景设计思想

合集下载

性能测试场景分析

性能测试场景分析

性能测试场景分析性能测试过程中,⾸先应该设计测试场景,模拟真实业务发⽣的情境,然后是针对场景设计脚本。

为了真实的反映被测对象可能存在的性能问题,需要尽可能模拟被测对象可能发⽣瓶颈的业务场景。

测试需求分析过程中已经确定了需要测试的业务类型,在此,则需要设计针对每种或综合业务的测试场景。

⼀、应⽤性能测试场景的设计在了解了相关背景之后,我们开始进⼊正题。

性能场景的设计主要包括:业务场景建模、测试数据准备、监控指标确认三个关键步骤。

下⾯我们⽤实战的⽅式说明每个步骤的常见做法。

1.1.业务场景建模确定压测场景范围:⼈的⾏为是不可预测的,在性能测试中模拟每个⽤户可能的操作场景基本上是不可能实现的。

⼀般情况下我们必须要关注的性能场景包括但不限于:⾼频使⽤的场景关键的业务场景最耗性能的场景曾经出现过问题的场景……在测试具有⼤量新功能的业务时,往往需要与业务⽅⼀起确认预期内有哪些功能点可能会被⾼频使⽤,需要与研发⼈员确认哪些功能虽然使⽤频率不⾼,但是存在性能隐患、容易引起雪崩效应;在测试已经上线的功能时,还可以通过业务监控、系统⽇志来分析现有⽤户的⾏为模式,得到更加逼近真实⽤户⾏为的业务场景。

业务场景的操作路径:业务场景的操作路径可以借助⼀些可视化的⼯具来描述,这部分⼯作相对⽐较简单,不再详细深⼊。

我们详细说明⼀下⽐较常见的延时策略。

思考时间:思考时间模拟的是⽤户在等待响应、阅读页⾯内容、表单填写等延迟操作的场景。

每个⼈的阅读速度、输⼊速度都存在⾮常⼤的差异,决定了每个⼈的思考时间也是不⼀样的,在性能测试配置中有常见的四种延时模型覆盖了绝⼤部分的延时场景:固定时间:顾名思义,设置⼀个固定的思考时间。

均匀分布:均匀分布在范围的上限和下限之间的随机数。

正态分布:根据中⼼极限定理,如果⼀个事物受到多种因素的影响,不管每个因素本⾝是什么分布,它们加总后,结果的平均值就是正态分布。

负指数分布:该模型将延迟时间的频率强烈地偏向该范围的⼀端。

软件测试之服务器稳定性测试方法

软件测试之服务器稳定性测试方法

服务器稳定性是最重要的,如果在稳定性方面不能够保证业务运行的需要,在高的性能也是无用的。

正规的服务器厂商都会对产品惊醒不同温度和湿度下的运行稳定性测试。

重点要考虑的是冗余功能,如:数据冗余、网卡荣誉、电源冗余、风扇冗余等。

一些测试方法主要分以下几种:压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。

系统各性能指标在这种压力下是否还在正常数值之内。

系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。

Ramp Up 增量设计:如并发用户为75人,系统注册用户为1500人,以5%-7%作为并发用户参考值。

一般以每15s加载5人的方式进行增压设计,该数值主要参考测试加压机性能,建议Run几次。

以事务通过率与错误率衡量实际加载方式。

Ramp Up增量设计目标:寻找已增量方式加压系统性能瓶颈位置,抓住出现的性能拐点时机,一般常用参考Hits点击率与吞吐量、CPU、内存使用情况综合判断。

模拟高峰期使用人数,如早晨的登录,下班后的退出,工资发送时的消息系统等。

另一种极限模拟方式,可视为在峰值压力情况下同时点击事务操作的系统极限操作指标。

加压方式不变,在各脚本事务点中设置同集合点名称(如:lr_rendzvous("same");)在场景设计中,使用事务点集合策略。

以同时达到集合点百分率为标准,同时释放所有正在Run的Vuser。

稳定性测试:已知系统高峰期使用人数、各事务操作频率等。

设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。

并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。

事务响应时间是否会出现波动或随测试时间增涨而增加。

系统是否会在测试期间内发生如宕机、应用中止等异常情况。

根据上述测试中,各事务条件下出现性能拐点的位置,已确定稳定性测试并发用户人数。

仍然根据实际测试服务器(加压机、应用服务器、数据服务器三方性能),估算最终并发用户人数。

性能测试用例(转载)

性能测试用例(转载)

性能测试⽤例(转载) ⼀、WEB 全⾯模型 Web 性能测试模型提出的主要依据是:⼀种类型的性能测试可以在某些条件下转化成为另外⼀种类型的性能测试,这些类型的性能测试的实施是有着相似之处的; 1. 预期指标的性能测试 系统在需求分析和设计阶段都会提出⼀些性能指标,完成这些指标的相关的测试是性能测试的⾸要之⼀,这些指标主要诸于“系统可以⽀持并发⽤户200个;”系统响应时间不得超过20秒等,对这种预先承诺的性能要求,需要⾸先进⾏测试验证; 2. 独⽴业务性能测试 独⽴业务实际是指⼀些核⼼业务模块对应的业务,这些模块通常具有功能⽐较复杂,使⽤⽐较频繁,属于核⼼业务等特点。

⽤户并发测试是核⼼业务模块的重点测试内容,并发的主要内容是指模拟⼀定数量的⽤户同时使⽤某⼀核⼼的相同或者不同的功能,并且持续⼀段时间。

对相同的功能进⾏并发测试分为两种类型,⼀类是在同⼀时刻进⾏完全⼀样的操作。

另外⼀类是在同⼀时刻使⽤完全⼀样的功能。

3. 组合业务性能测试 通常不会所有的⽤户只使⽤⼀个或者⼏个核⼼业务模块,⼀个应⽤系统的每个功能模块都可能被使⽤到;所以WEB性能测试既要模拟多⽤户的相同操作,⼜要模拟多⽤户的不同操作;组合业务性能测试是最接近⽤户实际使⽤情况的测试,也是性能测试的核⼼内容。

通常按照⽤户的实际使⽤⼈数⽐例来模拟各个模版的组合并发情况;组合性能测试是最能反映⽤户使⽤情况的测试往往和服务器性能测试结合起来,在通过⼯具模拟⽤户操作的同时,还通过测试⼯具的监控功能采集服务器的计数器信息进⽽全⾯分析系统瓶颈。

⽤户并发测试是组合业务性能测试的核⼼内容。

组合并发的突出特点是根据⽤户使⽤系统的情况分成不同的⽤户组进⾏并发,每组的⽤户⽐例要根据实际情况来匹配; 4. 疲劳强度性能测试 疲劳强度测试是指在系统稳定运⾏的情况下,以⼀定的负载压⼒来长时间运⾏系统的测试,其主要⽬的是确定系统长时间处理较⼤业务量时的性能,通过疲劳强度测试基本可以判定系统运⾏⼀段时间后是否稳定; 5. ⼤数据量性能测试 ⼀种是针对某些系统存储,传输,统计查询等业务进⾏⼤数据量时的性能测试,主要针对某些特殊的核⼼业务或者⽇常⽐较常⽤的组合业务的测试; 第⼆种是极限状态下的数据测试,主要是指系统数据量达到⼀定程度时,通过性能测试来评估系统的响应情况,测试的对象也是某些核⼼业务或者常⽤的组合业务。

《性能测试》课程设计讲解

《性能测试》课程设计讲解

《性能测试》课程设计90%《性能测试》课程设计题目B2B电子商务站点性能测试姓名:余婷学号:2013030051班级:1302时间:2015 年11 月20 日、测试项目简介B2B商务网站管理系统作为一个供个人和公司使用的商务平台,在这个平台上我们可以发布各类信息,个人可以在网站上发布求职简历、供应各类商品、寻求工作,公司可以在这个平台上提供工作岗位、寻找各类信息和人才,在这个平台上我们能找到我们需要的各类求职信息。

二、测试项目参考技术文档Loadru nner 性能测试教材三、性能测试需求分析1. 可支持300个用户同时访问网站首页,平均CPU占用率不超过90%2. 可保证200个用户并发登录和同时发送站内信息,平均事务响应时间低于12秒3. (疲劳测试)持续5分钟的时间重复浏览供应和求购信息(操作按2:3比例化),事务成功率不低于95%4. 支持最大200个会员同时在线充值成功5. (分组加压测试)模拟高峰段在5分钟内进行1000IP的用户访问,应保证总事务成功率不低于6. (网络性能测试)2M带宽的用户同时提交评论,应保证最大网络带宽不超过50Mb,同时平均事务响应时间不超过12秒7. 同时进行打开首页、登录、发站内信件、发布评论和提交简历(操作比例为321:1:1 ),在其总事务成功率不低于90%的情况下,可保证并发用户数不低于100个。

四、性能测试用例设计(详见测试报告)五、性能测试实施方案(列举用例之一,包括脚本录制、场景设置和结果分析的基本步骤)1.并发测试实施方案事务名称:发送信息脚本录制:打开首页-用户登录-商务中心-站内信-发送信件-完成发送-退出,在脚本中插入集合点test事务login场景设置:默认场景设置结果分析:平均事务响应时间为11s,低于12s,满足系统性能要求2.疲劳性测试实施方案事务名称:供求浏览信息脚本录制:a ction:打开首页-点击供应分类(搜索)acti on 1:点击供应信息-点击求购分类(搜索)-点击求购信息场景设置:设置场景持续五分钟,其他默认设置结果分析:事务成功率为99%高于95%,满足系统性能要求3.分组加压测试实施方案事务名称:供求浏览组供求发布组询价报价组脚本录制:1、供求浏览组action1:打开首页-点击供应分类(搜索)-点击供应信息action2:打开首页-点击求购分类(搜索)-点击求购信息action3:打开首页-点击商务中心-点击供应信息发布-点击提交action4:打开首页-点击商务中心-点击求购信息发布-点击提交action5:打开首页-用户登录--点击供应分类-点击供应信息-询价-提交-退出2、 供求发布组3、 询价报价组action6:打开首页-用户登录-点击求购分类-点击求购信息-报价-提 交-退出其他默认场景设置结果分析: 总事务成功率为 71.5%低于90%,不满足性能要求4. 网络性能测试实施方案 事务名称:发表评论脚本录制:打开首页-用户登录-点击供应分类-点击供应信息-退出 场景设置:运行时设置网络带宽为 2000000kpbs ,其他默认设置 结果分析:平均事务响应时间为8.7s<15s ,满足系统性能需求六、性能测试报告第一章系统概述场景设置:拟制人日期余婷Prepared ByDate审核日期2015年11月20号Reviewed ByDate第二章方案设计 (5)性能测试环境 ......................................................................................... 5 性能测试用例设计 (5)第三章测试结果 (8)第四章综述 (8)系统名称:B2B 电子商务系统 系统组成(前后台):前后台系统用户(类型):个人会员,企业会员系统简述(功能):会员登录,发布评论,发送站内信息,在线充值,浏览供应求购信息等 测试目标(测试需求):1. 可支持300个用户同时访问网站首页,平均 CPU 占用率不超过90%2. 可保证200个用户并发登录和同时发送站内信息,平均事务响应时间低于 12秒3. (疲劳测试)持续5分钟的时间重复浏览供应和求购信息(300个用户操作按2:3比例化),事务成功率不低于 95%4. 支持最大200个会员同时在线充值成功5.(分组加压测试) 模拟高峰段在5分钟内进行1000I P 的用户访问,应保证总事务成功率不低于 90%测试分组 供应和求购的比例 用户比例 加压设置供求浏览组 1 1 3 6vuser/5s 供求发布组1 12 5vusers/5s 询价报价组1 114vusers/5s6. (网络性能测试)2M 带宽的用户同时提交评论,应保证最大网络带宽不超过50Mb,同时平均事 务响应时间不超过 12秒7. 同时进行打开首页、登录、发站内信件、发布评论和提交简历(操作比例为321:1:1 ),在其总事务成功率不低于90%的情况下,可保证并发用户数不低于100个。

loadrunner用例设计

loadrunner用例设计

loadrunner用例设计关于LoadRunner用例设计的主题,我将从以下几个方面逐步回答:1. LoadRunner是什么?为什么需要用例设计?2. 用例设计的基本原则和步骤。

3. 用例设计中需要考虑的关键因素。

4. 用例设计中的一些常见技巧和建议。

5. 实例:如何设计一个基于LoadRunner的用例。

1. LoadRunner是什么?为什么需要用例设计?LoadRunner是一款性能测试工具,由微软公司开发。

它可以模拟大量用户对一个系统进行性能测试,并能够检测系统在负载压力下的表现。

用例设计是为了保证性能测试的准确性和完整性。

通过设计合理的用例,能够有效地模拟实际用户行为,确定系统的瓶颈和性能问题,提高系统的稳定性和性能。

2. 用例设计的基本原则和步骤。

用例设计的基本原则是全面、准确、可重复和可验证。

具体步骤包括:(1) 确定测试目标和范围:明确需要测试的系统功能和性能指标。

(2) 收集需求和分析业务场景:了解用户的使用习惯和行为,并分析相关的业务场景。

(3) 制定测试策略和计划:根据测试目标,制定测试的策略和计划,确定测试环境和数据准备等方面的要求。

(4) 根据业务场景设计用例:根据已收集的业务场景,设计符合实际用户行为的用例,包括各种不同的场景和负载模式。

(5) 编写测试脚本:将设计好的用例翻译成LoadRunner支持的脚本语言。

(6) 运行和监控测试:在测试环境中运行用例,并监控和收集测试结果。

(7) 分析和报告结果:根据测试结果进行分析,找出性能瓶颈和问题,并生成详细的测试报告。

3. 用例设计中需要考虑的关键因素。

用例设计中需要考虑的关键因素包括:(1) 负载模式和场景:根据实际用户行为,设计不同的负载模式和场景,以模拟真实的用户使用情况。

(2) 数据准备:测试环境中需要准备符合业务场景和负载要求的数据,以确保测试的准确性和可重复性。

(3) 性能指标和阈值:根据系统的性能指标和要求,设计测试用例,并设置性能阈值,用于判断系统是否达到了预期的性能要求。

性能测试方案

性能测试方案

性能测试⽅案前⾔性能测试⽅案需包含测试测试需求分析、测试对象分析、测试重点分析、测试环境分析、测试场景构建⼏个关键点,其中:测试需求分析:测试中涉及的性能指标的定义测试对象分析:测试中涉及的业务及系统内部模块的定义测试重点分析:测试执⾏策略、测试监控策略、测试风险的定义测试环境分析:测试中涉及到的服务器资源、测试软件、测试数据、测试桩定义测试场景构建:从性能负载、接⼝、疲劳⾓度定义测试场景定义测试场景构建:从性能负载、接⼝、疲劳⾓度定义测试场景项⽬:我们先定义⼀个性能测试项⽬,⽤户⼿机连上wifi,然后打开浏览器链接任意⼀⽹址,页⾯被刷新到登录页⾯,⽤户输⼊⽤户名加密码后点击登录,以此进⾏下⾯的性能⽅案讲解。

1、测试需求分析可从需求⽂档、市场调研去收集性能测试指标1.1、需求⽂档1.1.1、客户明确需求通常情况,客户有明确的需求,定义⼀些性能测试指标,例:每秒⽤户登录页⾯刷新多少、每秒登录⽤户量多少,⽤户在线总量多少,我们明确性能测试指标。

1.1.2、客户隐形需求基于客户明确指标下,会有⼀些隐性指标,例:100万在线⽤户的查询在5秒响应,我们也许纳⼊性能测试指标内。

1.1.3、⽤户模型确定有了以下的性能测试指标后,我们可以创建我们的⽤户模型,如下:1. ⽤户指标:⽤户登录TPS需达到50、⽤户登录页⾯刷新TPS需达到250;2. ⽤户总量:总⽤户量100万;3. ⽤户模型:系统每天⽤户在线量在100万左右,平均在早晨8、11点期间登录,其中登录页⾯刷新与登录⽐例为5:1。

1.2、市场调研1.2.1、客户⽆明确需求也有特殊的情况,客户只会提供⼀些基础数据,例:2000个机构下,500万的⽤户总量,我们需要根据这些基础数据提炼出我们的性能指标。

1.2.2、市场调研需求有了基础数据后,还需要对我们所关⼼的性能指标做市场调研,最终得出我们的性能指标例:对其中1个机构1个⽉的⽤户登录数进⾏数据采集(每天早晨8-9点是登录⾼峰期,每天⼤约是1⼩时内登录100⼈次,平均到每秒100÷3600约为0.027次/秒),然后在推算2000个机构下,⽤户每秒登录0.027*2000约50次,在根据后台⽇志推算出,登录与登录页⾯刷新⽐例为1:5,登录页⾯刷新TPS为2500。

基于场景的性能测试设计

基于场景的性能测试设计

问题 是 由软件 系统 本身 产 生的 , 可能 会 无法
根 治性 能 问题 。例 如 架构 设 计 方 面 的失 误 , 可能 意味 着软 件 系统 将被 废掉 。 当然 这并 不意味 所有 的性能 预试 都要尽 4 早 进 行 , 能 测 试 的启 动时 间要 由软 件 特 点 性
数 据 量 测 试 等许 多 内 容 。
统 本 身 也要 进 行优 化 , 以便 全 面提 高 性 能 。
误 区 5 在 开 发 环 境 下 进 行 性 能 测 试 : 误 区 2 在 其 它 测 试 完 成后 进 行 性 能 测试 : 很 多时 候 , 在软 件 开发 完 成后 进 行性 能
口陈绍英
很 多企业 在性 能测试 工作 中存在 一些 常
流 行 的 初期 , 件 规模 一 般 较 小 , 软 而硬 件 的 的 。如 果 应 用 系统 功 能 不 完 善 或 者 代码 运 行 效 率 低 下 ,通 常 会 带 来 一 些 性 能 问题 。
见误 区 , 中部 分 企业 选 择基 于 场景 的设 计 更 新 却是 日新 月异 , 件 性能 一 般 不是 突 出 其 软 性 能 测试 来 避 免这 些 误 区 , 因为这 样 可 以大 幅 度降 低执 行 成 本 , 同时 提 高性 能 测 试执 行 效率 。
维普资讯
S。 a ge g 瞄 f r nn 团 盈 t e ie w E
基于场景 的性 能测 试设计
性能 测试 在 测试 中往 往 不被 重视 ,而项 目中 由于 系统性 能 不合格 会 给 企 业带 来 巨大 的 损 失 。基 于 场景 的性 能测 试设 计 能 避免 性 能 测试 的 误 区 。
因此性能 测试 要尽量 在高 配置的 用户投

如何进行医疗健康应用的性能测试

如何进行医疗健康应用的性能测试

如何进行医疗健康应用的性能测试医疗健康应用在近年来的快速发展中,为人们的健康管理和医疗服务提供了便利。

随着越来越多的人开始使用这些应用,保证其性能的可靠性和准确性显得尤为重要。

本文将介绍如何进行医疗健康应用的性能测试,以确保其在不同场景下的稳定和可靠性。

一、测试目标确定在进行性能测试之前,我们需要明确测试的目标和需求。

根据医疗健康应用的特点,我们应关注以下几个方面:1. 响应时间:测试应用在不同负载下的响应速度,确保用户能够迅速获取所需信息。

2. 并发用户数:测试应用在同时处理多个用户请求时的负载能力,以确定应用在高峰期的稳定性。

3. 可用性:测试应用在长时间连续运行下的稳定性,确保不存在崩溃或意外停机的情况。

4. 数据传输安全性:测试应用对用户个人信息的保护程度,确保数据传输过程中的安全性和隐私保护。

二、测试环境配置在进行性能测试之前,我们需要搭建适当的测试环境。

首先,选择一台或多台与真实生产环境相似的服务器作为测试服务器,确保测试的准确性。

其次,配置与真实生产环境相似的网络环境,包括网络带宽、延迟等。

最后,创建测试数据库和模拟用户数据,以模拟真实用户的使用场景。

三、测试工具选择根据测试的目标和需求,选择合适的性能测试工具。

市面上常用的工具有Apache JMeter、LoadRunner等,它们提供了丰富的功能和插件,可以实现对医疗健康应用的全方位性能测试。

四、性能测试方案设计在进行性能测试之前,我们需要设计一套完备的测试方案。

方案应包含以下内容:1. 测试场景设计:根据实际使用情况和需求,设计一系列模拟真实用户行为的场景。

例如,用户注册、登录、浏览医疗资讯、查询病历等。

2. 负载模型设计:根据真实场景的负载情况,设计不同的负载模型。

例如,模拟每日高峰期的用户请求,确保应用在高负载情况下的稳定性。

3. 性能指标定义:定义一系列合适的性能指标,如平均响应时间、吞吐量、并发用户数等。

这些指标将用于评估应用的性能表现。

性能测试用例设计

性能测试用例设计

性能测试⽤例设计性能测试⽤例的设计,有别于功能测试⽤例的设计,毕竟,考虑的点不⼀样。

在有了性能测试⽅案后,我们就可以设计我们的性能测试⽤例了,⼀般考虑:单场景、混合场景、稳定性场景下⾯给出笔者在实际⼯作中,单场景的⽤例(之前⽤loadrunner做压测的⽤例),供⼤家参考:⽤例编号:PT001场景描述:模拟⽤户进⾏登录操作并发量:分别模拟并发⽤户数为1000、1500、2000等多种情况进⾏测试(除了压测能否达到⽬标,还要压测出最⼤的并发和tps,参考:)压测时间:每次600s数据量:oracle数据库user表有100万存量账户脚本设置关键点:参数化⽤户名、封装登录事务、添加思考时间集合点:不使⽤加压减压⽅式:全部初始化爬坡加压、全部退出场景运⾏时设置:think time=1s、continue when error、log选择Send messages only when an error occurs重点关注指标:响应时间、tps,事务成功率,各个服务器资源使⽤情况(CPU、内存、磁盘I/O、磁盘容量)、⽹络、是否频繁fgc、是否线程阻塞、线程死锁、连接池未释放、数据库死锁、慢sql等等预期指标:并发>=1000,响应时间<=1s,tps>=600,事务成功率为99.5%(涉及资⾦的,要求100%),应⽤服务器、数据库服务器CPU和内存使⽤率<=90%,没有内存泄漏现象、没有死锁等各种性能问题。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21⽤例编号:PT001场景描述:模拟⽤户进⾏登录操作并发量:分别模拟并发⽤户数为1000、1500、2000等多种情况进⾏测试(除了压测能否达到⽬标,还要压测出最⼤的并发和tps,参考:https:///uncleyong/p/11543488.html)压测时间:每次600s数据量:oracle数据库user表有100万存量账户脚本设置关键点:参数化⽤户名、封装登录事务、添加思考时间集合点:不使⽤加压减压⽅式:全部初始化爬坡加压、全部退出场景运⾏时设置:think time=1s、continue when error、log选择Send messages only when an error occurs重点关注指标:响应时间、tps,事务成功率,各个服务器资源使⽤情况(CPU、内存、磁盘I/O、磁盘容量)、⽹络、是否频繁fgc、是否线程阻塞、线程死锁、连接池未释放、数据库死锁、慢sql等等预期指标:并发>=1000,响应时间<=1s,tps>=600,事务成功率为99.5%(涉及资⾦的,要求100%),应⽤服务器、数据库服务器CPU和内存使⽤率<=90%,没有内存泄漏现象、没有死锁等各种性能问题。

性能测试需求分析报告

性能测试需求分析报告

性能测试需求分析报告性能测试需求分析报告一、引言性能测试是指在一定的硬件环境条件下,通过模拟用户的实际使用情况,对系统的性能进行全面而详细的测试和评估。

本报告旨在分析和评估待测系统的性能测试需求,为性能测试的实施提供有力支持和指导。

二、测试目标1. 确定系统的各项性能指标:包括响应时间、并发数、吞吐量等。

2. 发现系统的性能瓶颈和性能优化的空间。

3. 评估系统的负载能力和扩展性。

三、测试范围1. 测试对象:待测系统的核心功能。

2. 测试环境:硬件环境和软件环境符合实际生产环境。

3. 测试数据:使用真实的生产数据进行测试。

四、测试方案1. 性能测试的基本思路是通过模拟用户的实际使用情况,对系统进行压力测试和负载测试。

2. 压力测试:模拟大量并发用户使用系统,观察系统在不同负载下各项指标的表现。

3. 负载测试:逐步增加用户数量,直到达到系统的负载极限,观察系统在高负载下的表现。

4. 性能指标:主要包括响应时间、并发数、吞吐量等。

五、测试计划1. 系统配置和环境准备2. 测试场景设计和用例编写3. 测试数据准备4. 性能测试执行5. 数据分析和报告编写六、测试资源1. 人员:测试工程师负责性能测试的设计和执行。

2. 硬件:提供符合实际生产环境的服务器和网络设备。

3. 软件:性能测试工具、监控工具和数据分析工具。

七、测试风险1. 系统故障:由于高负载可能引发系统崩溃、性能下降等问题。

2. 数据安全:测试使用真实的生产数据,需要对数据进行保护。

3. 测试误差:由于测试环境与实际生产环境的差异,可能导致测试结果与实际情况不一致。

八、测试评估1. 根据测试结果,评估系统的性能是否符合预期。

2. 发现性能瓶颈和性能优化的空间,并提出相应的改进措施。

九、测试报告1. 性能测试报告应包含测试计划、测试执行过程和结果分析等内容。

2. 对系统性能进行评估,给出优化建议。

结论通过对待测系统的性能测试需求分析,可以明确性能测试目标和范围,制定有效的测试方案和计划,提供有力的测试支持和评估依据。

性能测试场景设计--混合业务场景下的脚本比例控制

性能测试场景设计--混合业务场景下的脚本比例控制

性能测试场景设计--混合业务场景下的脚本⽐例控制在某个业务场景中,包含数据创建和数据查询两项业务;现需考察数据创建和数据查询两项业务在并发⽐例为2:1、总并发量为100⽤户情况下的混合响应时间。

1、在Vugen端实现对混合⽐例的设置,可直接在脚本中进⾏,即通过随机函数rand实现,脚本设计如下所⽰。

int num;Action(){num = rand()%3;lr_start_transaction("综合业务--数据创建与数据查询");if(num<2){Data_Create(); //数据创建}else{Data_Search(); //数据查询}lr_end_transaction("综合业务--数据创建与数据查询", LR_AUTO);return 0;}该种⽅式的优缺点对⽐:优点:脚本本⾝实现了⽐例控制的功能,Controller端的设置较为简单,即在Controller中只需将该混合业务作为单⼀业务对待,设置也跟单⼀业务场景的设置⽅法完全相同;测试得到响应时间即为混合业务的响应时间。

缺点:在已有数据创建和数据查询脚本的情况下,针对混合业务场景需要单独创建⼀个混合业务脚本,且混合⽐例改变时需要重新修改脚本;当需要考察混合业务场景中不同业务类型各⾃的响应时间时,通过该种⽅式⽆法实现。

2、在Controller端实现在业务类型较多,混合业务场景较为复杂的情况下,采⽤修改脚本的⽅式会⽐较⿇烦。

例如,若共有5种业务类型,现需要对其任意两种业务的混合场景进⾏压⼒测试,如果仍采⽤第⼀种⽅式,那么我们就必须得针对两两业务的混合情况,创建10个混合业务脚本。

当业务类型更多,或者混合场景更为复杂(如需考虑任意三种、任意四种业务等的混合情况)时,脚本的创建量会⼤⼤增加,且均为乏味的重复性⼯作。

针对这种情况,直接在Controller端进⾏设置会简单得多,只需要加载各个业务脚本,并设置不同脚本的并发数即可。

性能测试之场景设计

性能测试之场景设计

性能测试之场景设计前言性能测试中的场景设计是实施性能测试的基础,只有合理的设计测试场景才能获得有价值的测试数据,为接下来的确认瓶颈、系统调优打下基础。

场景(Scenario)是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统的各项性能指标是否达到用户要求,而Controller可以帮助我们对场景的设计、执行以及监控进行管理。

Load runner Controller来管理和维护场景,可以在一台工作站控制一个场景中的所有虚拟用户(Vuser)。

执行场景时,Controller会将该场景中的每个Vuser分配给一个负载生成器。

负载生成器执行Vuser脚本,从而使Vuser可以模拟真实用户操作的计算机。

场景的分类1.人工场景(手动场景)所谓人工场景,实际就是自定义模式,各因素完全由我们来设置的创建场景的方法。

相比面向目标场景,人工场景在实际工作中应用的更为广泛。

用赛车游戏来比喻,这种方法类似常规比赛,不同的汽车从同一起点出发,到同一终点结束,最终按照时间排出名次。

2.面向目标场景面向目标场景则与人工场景有所不同,它预先定义了一个测试目标,Load Runner将根据这个目标自动构建场景,有点类似向导模式。

这种方法对于验证在项目性能说明书中列出、需要达到的性能目标很方便。

还是用赛车游戏来比喻,面向目标场景有点类似计时赛或者追逐赛,不同的汽车从同一起点出发,在规定的时间内,走的最远者获胜。

在面向目标场景的“向导模式”中,设定了一个或者多个测试目标,比如要求系统达到每秒处理5个事务,Load Runner再根据这些目标自动创建场景。

目前,Load Runner支持的测试目标有如下几种:虚拟用户数量。

每秒点击次数(只对Web Vuser有效)每秒事务数量每分钟访问页面数量(也仅对Web Vuser有效)事务响应时间场景设置描述㈠.新场景设置对话框字段解释:Select Scenario Type(选择场景类型):此选项区域列出了场景的两种类型:①Manual Scenario(手动场景或人工场景):手动场景设置我们可以设置不同的业务组用户数量,同时编辑计划指定相关的运行时刻,虚拟用户加载策略等完成场景设计工作。

测试用例设计方法有哪些

测试用例设计方法有哪些

测试用例设计方法有哪些
1. 边界值分析测试用例设计方法:根据输入参数的最小和最大边界值以及边界内的其他值,构造测试用例,以检验系统在边界值情况下的正确性和稳定性。

2. 等价类划分测试用例设计方法:将输入参数划分为若干个等价类,选择典型的代表性测试用例,用以验证每个类别的功能是否正常。

3. 因果图测试用例设计方法:根据系统功能组成和功能之间的因果关系,构建因果图并选择相关的测试用例,以验证系统在各种因果关系下的正确性。

4. 场景测试用例设计方法:根据用户使用系统的不同场景和流程,设计相关的测试用例,以验证系统在各种使用场景下的正确性和用户友好程度。

5. 错误猜测测试用例设计方法:根据常见的错误猜测和用户的非正常操作,设计相应的测试用例,以验证系统对错误输入和异常情况的处理能力。

6. 性能测试用例设计方法:根据系统的性能要求和用户加载的负载情况,设计相应的测试用例,以验证系统在高负载、并发访问的情况下的性能表现。

7. 安全性测试用例设计方法:根据系统的安全要求和潜在的安全漏洞,设计相应的测试用例,以验证系统在各种攻击和安全威胁下的稳定性和安全性。

8. 兼容性测试用例设计方法:根据系统的兼容性要求和不同的操作系统、浏览器、设备等组合情况,设计对应的测试用例,以验证系统在不同环境下的兼容性和一致性。

9. 复杂业务流程测试用例设计方法:根据系统的复杂业务流程,
设计相关的测试用例,以验证系统在复杂业务流程下的功能完整性、数据一致性和算法正确性。

10. 用户界面测试用例设计方法:根据系统的用户界面设计和交互方式,设计相应的测试用例,以验证系统的用户友好性和界面美观程度。

oa办公系统测试方法和测试用例设计

oa办公系统测试方法和测试用例设计

oa办公系统测试方法和测试用例设计1.引言1.1 概述OA办公系统是一种通过计算机技术来管理办公事务的系统,它的功能涵盖了办公流程的各个环节。

随着企业规模的扩大和信息化的发展,越来越多的企业开始使用OA办公系统来提高工作效率和管理水平。

然而,要确保OA办公系统的功能和性能符合用户的需求,就需要进行一系列的测试工作。

测试方法和测试用例设计是测试的两个重要方面。

测试方法是指在测试过程中采用的具体方法和技术。

常用的OA办公系统测试方法包括功能测试和性能测试。

功能测试是通过对系统各个功能模块进行测试,验证系统是否能够按照预期的方式正常工作。

性能测试是针对系统的性能进行测试,包括系统的响应时间、并发用户数、数据处理能力等指标的评估。

通过不同的测试方法,可以全面地评估系统的功能和性能。

测试用例设计是指根据系统需求和测试目标,设计出具体的测试用例。

测试用例是测试工作的基本单位,它包括输入数据、预期输出和实际输出等内容。

在OA办公系统中,可以设计各种类型的测试用例,如登录功能测试用例、请假申请功能测试用例等。

通过设计合理的测试用例,可以检验系统的各项功能是否正常,发现潜在的问题和风险。

综上所述,本文将介绍OA办公系统测试方法和测试用例设计的相关内容。

通过深入了解和应用这些方法和技巧,可以有效地提升OA办公系统的质量和性能,为企业的工作提供更好的支持和帮助。

1.2文章结构1.2 文章结构本文主要介绍了OA办公系统的测试方法和测试用例设计。

文章分为以下几个部分:引言:在引言中,我们简要介绍了OA办公系统的概述、文章结构和目的。

通过本文,读者将了解到OA办公系统测试的重要性以及相应的测试方法和测试用例设计。

正文:在正文部分,我们详细探讨了OA办公系统的测试方法和测试用例设计。

首先,我们介绍了OA办公系统功能测试和性能测试这两个主要的测试方法。

功能测试包括对系统各项功能的测试,确保系统能够按照预期的要求正常运行。

性能测试则着重于系统在负载压力下的稳定性和性能表现,确保系统能够在高并发情况下正常运行。

性能测试计划完整版

性能测试计划完整版

性能测试计划完整版一、引言本文档为性能测试计划,旨在让项目组、测试团队和相关岗位了解性能测试的范围、目标、策略、计划、需求、接口、场景、脚本和报告等内容,从而在实施测试过程中达到有效性、全面性和可靠性。

二、测试范围性能测试的主要对象为系统的吞吐量、响应时间、负载能力和稳定性等指标,测试范围主要包括但不限于以下几个方面:1. 登录性能:测试用户登录系统的响应时间和系统能够同时处理的最大登录用户数。

2. 查询性能:测试系统在大数据量情况下的查询响应时间和系统的最大查询并发数。

3. 并发性能:测试系统在多用户同时访问时的负载能力和吞吐量,包括Web服务、数据库、硬盘、网络等指标。

4. 稳定性测试:通过较长时间的持续测试,测试系统的稳定性并检查性能指标是否稳定。

5. 长时间负载测试:测试系统在持续高并发的环境下的性能表现和系统各项指标是否出现异常。

三、测试目标性能测试的目标是为保证系统的可扩展性、可靠性、用户体验和满足业务需求。

基于此,可以将测试目标归纳为以下几个方面:1. 发现性能瓶颈和瓶颈原因,并提出相应的解决方案。

2. 确保系统的吞吐量和响应时间符合业务需求和用户使用习惯。

3. 验证系统的负载能力和稳定性,发现涉及并发、硬件、软件等方面的问题。

4. 验证系统的可靠性和持久性,测试系统的长时间运行表现和稳定性。

四、测试策略性能测试需要制定一定的测试策略,确保测试的有效性和卓越性。

测试策略包括以下几个方面:1. 目标分解:将前面明确的测试目标细化为测试任务,定义测试的范围、测试的关注点和测试的标准。

2. 方案设计:根据测试任务的目标和范围,进行测试方案设计,明确测试方法、测试工具、测试场景和测试数据。

3. 实施测试:根据测试方案实施测试,并记录测试过程和测试结论。

4. 分析测试:分析测试结果,找出测试中出现的性能问题和瓶颈,并给出相应的解决方案。

5. 配置优化:针对发现的性能瓶颈和问题,进行相应的配置优化,并对优化后的系统进行再次测试。

jmeter性能测试面试题二【多测师_王sir】

jmeter性能测试面试题二【多测师_王sir】

jmeter性能测试⾯试题⼆【多测师_王sir】1.什么是性能测试?测试系统有没有性能问题考虑时间,空间服务端资源是否⾜够?响应时间是否超时?系统是否⾜够稳定?2.性能测试的核⼼原则是什么?基于协议,多线程,场景设计协议:所有的请求都是基于协议发出去 http,https,udp,tcp,mqtt多线程:压⼒测试是基于java多线程原理,通过线程去模拟⽤户的⾏为基于场景:控制器+定时器设计各种场景满⾜压测要求并发场景负载场景稳定性压⼒测试。

jmeter⼯作原理:基于协议,通过多线程的⽅式模拟⽤户⾏为,设计各种场景压测服务端,得到性能数据,分析性能瓶颈3.性能测试的应⽤领域有哪些?能⼒验证:⼄⽅向甲⽅交付项⽬时,声明项⽬的性能数据。

例如:向甲⽅声明能⽀撑500⼈1s内同时登录,响应时间在2s以内。

出具性能测试报告去证明我声明的能⼒。

瓶颈分析:在能⼒验证的过程中可能会发现⼀些瓶颈,通过技术⼿段分析瓶颈,得到分析数据,为后续调优做理论依据。

响应超时:什么负载量的时候出现超时现象?tps达到瓶颈,波动剧烈:tps瓶颈点在哪⾥?,在什么地⽅出现性能衰减?性能调优:在得到瓶颈分析数据之后,做性能调优。

降低超时,提⾼tps,减少抖动。

容量规划:基于未来。

为将来的⽤户激增提前做准备数据库扩容服务端硬件优化(增加cpu,扩充磁盘,提升带宽,分布式,负载均衡。

)4.压⼒⼯具的⼯作原理是什么?jmeter⼯作原理:基于协议,通过多线程的⽅式模拟⽤户⾏为,设计各种场景压测服务端,得到性能数据,分析性能瓶颈5.性能测试基本思路是什么?测什么:明确测试⽬标(明确需求)怎么测:怎么设计场景?测试计划,测试⽤例,测试⽅案数据准备参数化,表达式,断⾔场景设计(并发,负载,压测)得到性能测试结果测试结果验证验证结果数据是否符合预期如果预期响应时间是3s,但是实际结果响应时间达到了5s 不合格预期最⼤tps需要达到500,但是实际最⼤的tps只有300 不合格6.交付⼀个性能测试项⽬,请阐述你的性能测试流程1:明确测试需求2:基于需求设计测试⽤例,测试⽅案,测试计划3:准备测试数据,测试账号(预估并发量),设计测试脚本(参数化,表达式,断⾔,控制器)4:运⾏测试脚本,数据监听(响应时间,tps,活动线程),结果分析(判断性能瓶颈)5:基本性能瓶颈做调优(tomcat线程池,jvm内存,swap内存,带宽)6:调优之后做性能回归,和前期结果做对⽐,是否有明显的优化。

性能测试场景设计

性能测试场景设计

提到性能测试,大家想到的就是使用工具对应用进行加压,看看应用能承受多少并发,TPS(Transactions Per Second)是多少,交易响应时间是否在接收的范围内。

不错,这些都是大家最关心的应用的性能指标,也是每个性能测试项目输出的结果。

然而,要实现这样的效果却并不是一件简单的事情,因为性能测试是一个十分复杂的系统工程,对测试人员的能力水平提出了更高的要求,需要性能测试人员具备非常全面的知识与技能,能够定位应用的性能瓶颈,并提出适当的优化方案。

通常,要对一个应用进行性能测试需要经历需求调研、环境准备、脚本开发、数据预埋、场景设计、场景执行、应用监控分析、瓶颈定位、瓶颈修复、回归测试、结果整理、输出报告等多个环节。

性能测试的场景设计性能测试的场景如何定义?我们可以理解为功能测试中的用例,即性能测试的场景就是性能测试的用例。

性能测试的场景是为了要实现特定的测试目标而对应用执行的压测活动。

性能测试场景的设计与执行是整个性能测试活动的核心与灵魂,没有完整的场景设计就无法达到我们的测试目的,没有合理的场景设计就不会发现系统的性能缺陷。

我们所开发的测试脚本,所预埋的测试数据都是为了实现特定场景所准备的。

一个性能测试场景包含诸多要素,图1中列出了一些必备的要素,其中测试模型作为测试场景的基础与输入。

在线Web类的应用,测试指标一般包括在线用户数、最优并发用户数、最大并发用户数、交易平均响应时间、目标TPS等等。

对于接口调用类的应用测试指标一般包括目标TPS、平均响应时间等。

测试模型就是被测试系统的各交易在线运行时承受的交易数量(或请求数量)的比例而不是并发用户的比例。

为什么不是并发用户的比例呢?因为实际的用户的操作具有不确定性,使用测试工具很难模拟真实用户的行为。

另外,在进行运营数据分析时很难获取用户的操作行为,而应用的交易记录却很容易通过查询的方式获取。

应用实际承受的压力是用户的实际操作请求,在线用户如果没有进行实际操作那么他最多将消耗一个连接线程,而应用CPU并不会有什么资源消耗。

压力测试的关键参数和场景设计

压力测试的关键参数和场景设计

压力测试的关键参数和场景设计在软件开发和系统运维过程中,压力测试是至关重要的环节之一。

通过对系统在高负载条件下的稳定性和性能进行测试,我们可以评估其在真实环境中的表现,并对系统进行优化和改进。

为了确保测试结果的准确性和可靠性,我们需要提前确定一些关键参数和场景设计。

关键参数1. 负载量:负载量是指系统在压力测试过程中所承受的负荷大小。

它可以通过并发用户数、每秒事务数、任务队列长度等指标来衡量。

确定合适的负载量对于测试过程的准确性非常重要。

如果负载量过低,可能无法发现系统真正的瓶颈和问题;如果负载量过高,系统可能出现崩溃或无响应等情况。

因此,在进行压力测试时,应根据实际情况确定合适的负载量。

2. 响应时间:响应时间是系统处理请求所需的时间,通常以毫秒为单位。

通过监测系统的响应时间,我们可以评估系统的性能和用户体验。

在进行压力测试时,我们需要关注系统在不同负载量下的响应时间,并确定其是否满足预期性能要求。

3. 并发用户数:并发用户数是系统同时处理的用户请求数量。

在进行压力测试时,我们需要模拟不同数量的同时在线用户,并观察系统的表现。

通过调整并发用户数,我们可以评估系统在高并发条件下的性能和稳定性。

场景设计1. 登录场景:登录是大多数系统最基本的功能之一。

在进行压力测试时,我们需要设计一个登录场景,模拟多个用户同时登录系统,并观察系统的响应时间和处理能力。

该场景可以帮助我们评估系统在用户认证过程中的性能表现。

2. 浏览场景:浏览场景模拟用户在系统中浏览内容的行为。

通过设置不同的浏览深度、访问频率和并发用户数,我们可以评估系统在实际使用场景下的性能和稳定性。

3. 数据处理场景:数据处理场景模拟系统对大量数据的处理能力。

我们可以设计一些常见的数据处理操作,如数据导入、数据转换和数据分析,并通过调整负载量和并发用户数来评估系统的性能。

4. 并发场景:并发场景模拟系统在高并发条件下的性能表现。

我们可以设计一些并发操作,如同时提交订单、同时发送消息等,并通过调整负载量和并发用户数来观察系统的响应时间和处理能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

验证测试是用于验证在特定的场景、时间、压力、环境和操作方式下系统能够正常的运行,服务器、应用系统和网络环境等软硬件设施还能否良好的支撑这些情况下用户的使用。

验证性测试主要针对有明确的压力目标和预期结果,验证系统在这种压力下的各方面反映能够达到预期结果。

主要分以下几种:
压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。

系统各性能指标在这种压力下是否还在正常数值之内。

系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。

Ramp Up 增量设计如并发用户为75人系统注册用户为1500人已5%-7%作为并发用户参考值。

一般以每15s加载5人的方式进行增压设计,该数值主要参考测试加压机性能,建议Run几次。

已事务通过率与错误率衡量实际加载方式。

Ramp Up增量设计目标寻找已增量方式加压系统性能瓶颈位置抓住出现的性能拐点时机一般常用参考
Hits点击率与吞吐量、CPU、内存使用情况综合判断。

模拟高峰期使用人数,如早晨的登录,下班后的退出,工资发送时的消息系统等。

另一种极限模拟方式,可视为在峰值压力情况下同时点击事务操作的系统极限操作指标。

加压方式不变,在各脚本事务点中设置同集合点名称(如:
lr_rendzvous("same");)
在场景设计中,使用事务点集合策略。

以同时达到集合点百分率为标准,同时释放所有正在Run的Vuser.
稳定性测试:已知系统高峰期使用人数、各事务操作频率等。

设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。

并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。

事务响应时间是否会出现波动或随测试时间增涨而增加。

系统是否会在测试期间内发生如宕机、应用中止等异常情况。

根据上述测试中,各事务条件下出现性能拐点的位置,已确定稳定性测试并发用户人数。

仍然根据实际测试服务器(加压机、应用服务器、数据服务器三方性能),估算最终并发用户人数。

场景设计思想:从稳定性测试场景的设计意义,应分多种情况考虑:
针对同一个场景为例,以下已公文附件上传为例简要分析场景设计思想:
1)场景一:已压力测试环境下性能拐点的并发用户为设计测试场景,目的验证极限压力情况下测试服务器各性能指标。

2)场景二:根据压力测试环境中CPU、内存等指标选取服务器所能承受最大压力的50%来确定并发用户数。

测试方法:采用1)Ramp Up-Load all Vusers simultaneously
2)Duration-Run Indefinitely
3)在Sechedule-勾选Initalize all Vusers before Run
容错性测试:通过模拟一些非正常情况(如:服务器突然断电、网络时断时续、服务器硬盘空间不足等),验证系统在发生这些情况时是否能够有自动处理机制以保障系统的正常运行或恢复运行措施。

如有HA(自动容灾系统),还可以专门针对这些自动保护系统进行另外的测试。

验证其能否有效触发保护措施。

问题排除性测试:通过原有案例或经验判断,针对系统中曾经发生问题或怀疑存在隐患的模块进行验证测试。

验证这些模块是否还会发生同样的性能问题。

如:上传附件模块的内存泄露问题、地址本模块优化、开启Tivoli性能监控对OA系统性能的影响等等。

测评测试是用于获取系统的关键性能指标点,而进行的相关测试。

主要是针对预先没有明确的预期测试结果,而是要通过测试获取在特定压力场景下的性能指标(如:事务响应时间、最大并发用户数等)
评测事务交易时间:为获取某事务在特定压力下的响应时间而进行的测试活动。

通过模拟已知客户高峰期的各压力值或预期所能承受的压力值,获取事务在这种压力下的响应时间。

评测事务最大并发用户数:为获取某事务在特定系统环境下所能承受的最大并发用户数而进行的测试活动。

通过模拟真实环境或直接采用真实环境,评测在这种环境下事务所能承受的最大并发用户数。

判定标准阈值需预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)
评测系统最大并发用户数:为获取整个系统所能够承受的最大并发用户数而进行的的测试活动。

通过预先分析项目各主要模块的使用比率和频率,定义各事务在综合场景中所占的比率,以比率方式分配各事务并发用户数。

模拟真实环境或直接采用真实环境,评测在这种环境下系统所能承受的最大并发用户数。

判定标
准阀值预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。

取值标准以木桶法则为准(并发数最小的事务为整个系统的并发数)。

评测不同数据库数据量对性能的影响:针对不同数据库数据量的测试,将测试结果进行对比,分析发现数据库中各表的数据量对事务性能的影响。

得以预先判断系统长时间运行后,或某些模块客户要求数据量较大时可能存在的隐患。

问题定位测试在通过以上测试或用户实际操作已经发现系统中的性能问题或怀疑已存在性能问题。

需通过响应的测试场景重现问题或定义问题。

如有可能,可以直接找出引起性能问题所在的代码或模块。

该类测试主要还是通过测试出问题的脚本场景,并可以增加发现和检测的工具,如开启Tivoli性能监控、开启HeapDump输出、Linux资源监控命令等。

并在场景运行过程中辅以手工测试。

相关文档
最新文档