产品稳定性测试报告撰写思路(更新版)

本次产品稳定性测试报告写作思路
1. 本次产品稳定性测试的总体背景
2. 本次产品稳定性测试的方法及策略
3. 罗列已经进行稳定测试种类,并根据测试类型描述该次测试目的,并针对其测试目的给予简单的测试评论
4. 为其它同类型的测试,提供理论依据或为项目组成员提供参考依据,如:前期重新部署包、数据库或其它事项,测试服务器趋于正常。
5. 纵观产品稳定性测试结果,基本达到发布标准,稳定性测试总结论
6. 通过对产品性能分析结果,为项目组成员提供理论推导数据,给予标准的产品估算公式。
本次产品稳定测试测试分析图表篇
本次产品稳定性测试报告提纲内容

1 引言.... 5

1. 编写目的... 5

2. 测试背景... 5

3. 参考资料... 5

2 测试活动概述.... 5

3 测试环境概述.... 6

1. Linux(Suse+DB2+WAS公司推荐环境[简称:测试环境一] 6

3.1.1 WEB服务器... 6

3.1.2 数据库服务器... 6

3.1.3 客户端... 6

2. Windows(Windows 2K Server SP4+DB2+WAS)排查内存问题[简称:测试环境二]. 6

3.2.1 WEB服务器... 6

3.2.2 数据库服务器... 6

3.2.3 客户端... 6

3. 网络环境... 7

4. 测试包信息... 7

5. 测试环境拓扑图... 7

6. 中间件及数据库参数设置... 8

3.6.1 中间件参数设置... 8

3.6.2 数据库参数设置... 8

7. 测试数据的分布... 8

4 测试过程评价.... 9

1. 实际情况与目标... 9

4.1.1 2006911-915日测试... 9

4.1.1.1 测试背景... 9

4.1.1.2 测试场景... 9

4.1.1.3 参数设置... 9

4.1.1.4 测试结果... 9

4.1.1.5 监测结果... 13

4.1.1.6 数据结论... 15

4.1.2 2006918-922日测试... 15

4.1.2.1 测试背景... 15

4.1.2.2 测试场景... 16

4.1.2.3 参数设置... 16

4.1.2.4 测试结果... 16

4.1.2.5 监测结果... 23

4.1.2.6 数据结论... 26

4.1.3 20061017-1022日测试... 26

4.1.3.1 测试背景... 26

4.1.3.2 测试场景... 27

4.1.3.3 参数设置... 27

4.1.3.4 测试结果... 27

4.1.3.5 监测结果... 33

4.1.3.6 数据结论... 33

本次产品稳定性测试报告计划内容
测试场景与用例:
1. 场景一:复合场景(综合),测试目的:验证产品是否可连续运行1年以上,以测试基准数据进行估算,并结合实际项目的公文数量与用户总量进行估算,以求把产品的性能结果应用于项目的实际估算中。
2. 场景二:附件上传(单独),测试目的:验证前期在Linux下出现多次Was服务器宕机问题(在Windows下使用JProbe对JVM堆栈进行观测,并配合研发中心查找内存泄漏原因)
3. 场景三:发送组件(拆分),测试目的:针对前期复合场景及附件上传场景中频繁出现的Was服务器宕机行为,与研发中心沟通后把初时的附件上传脚本拆分为两个独立组件以进行后续排查性测试,为研发中心定位及排查问题提供理论依据。
4. 场景四:上传组件(拆分),测试目的:针对前期复合场景及上传中频繁出现的Was宕机问题,结合以进行发送组件测试。为求进一步缩小对产品内存泄漏问题的追踪,辅助研发中心对产品稳定测试给予综合结论。
5. 场景五:附件上传(单独),测试目的:针对前期排查性测试中未发现Was宕机和其它服务器异常行为,在已进行后续测试中对测试服务器环境进行重新部署及优化。从而排除了由测试环境配置问题而导致性能问题。
6. 场景六:复合场景(综合),测试目的:在以优化的测试环境中,重新赋予同测试用例、同数据量条件下复合场景测试。针对前期测试当中频繁发生Was宕机行为,从测试策略角度出发重新调整了内存堆栈截取策略。由此,进一步降低了由不正当的使用内存片段,而对产品性能造成的影响。
注意:在以上排查性验证测试中,均使用Linux应用与Windows应用配合进行的原则进行问题排查。
本次产品稳定测试报告资源列表
测试时间与结果位置:
测试
场景
测试
类型
测试
日期
测试
内容
场景一
复合
场景
(综合)
2006
9-11
9-15
验证产品是否可连续运行1年以上,以测试基准数据进行估算,并结合实际项目的公文数量与用户总量进行估算,以求把产品的性能结果应用于项目的实际估算中。
场景二
附件
上传
(单独)
2006
9-18
10-12
验证前期在Linux下出现多次Was服务器宕机问题(在Windows下使用JProbe对JVM堆栈进行观测,并配合研发中心查找内存泄漏原因)
场景三
发送
组件
(拆分)
2006
10-17
10-24
针对前期复合场景及附件上传场景中频繁出现的Was服务器宕机行为,与研发中心沟通后把初时的附件上传脚本拆分为两个独立组件以进行后续排查性测试,为研发中心定位及排查问题提供理论依据。
场景四
上传
组件
(拆分)
2006
11-3
11-4
针对前期复合场景及上传中频繁出现的Was宕机问题,结合以进行发送组件测试。为求进一步缩小对产品内存泄漏问题的追踪,辅助研发中心对产品稳定测试给予综合结论。
场景五
附件
上传
(单独)
2006
11-13
11-14
针对前期排查性测试中未发现Was宕机和其它服务器异常行为,在已进行后续测试中对测试服务器环境进行重新部署及优化。从而排除了由测试环境配置问题而导致性能问题。
场景五
复合
场景
(综合)
2006
11-15
11-16
在以优化的测试环境中,重新赋予同测试用例、同数据量条件下复合场景测试。针对前期测试当中频繁发生Was宕机行为,从测试策略角度出发重新调整了内存堆栈截取策略。由此,进一步降低了由不正当的使用内存片段,而对产品性能造成的影响。

以下截取了其中一个场景的测试分析:

1.1.1 2006918-<chsdate w:st="on" isrocdate="False" islunardate="False" day="22" month="9" year="2006">9<span lang="EN-US"><span lang="EN-US">月22</span></span><span lang="EN-US"><span lang="EN-US">日</span></span></chsdate>测试

1.1.1.1 测试背景

本次稳定性复合场景测试,按照原定计划针对第一轮测试中Was宕机行为,进行进一步观测。在实际测试中,继续使用JProbe Memroy Debug工具对WindowsWas应用服务器进行长期监测。并调整了整个监视过程中,Debug工具的使用策略。即在Was服务器启动后11.5小时内,只在LoadRunner脚本运行后510分钟内截取一个SnapShot片段,以此作为BaseLine基准为后续片段提供比对依据。并在前期每20分钟做一次聚吸整理的基础上,调整为每40分钟做一次聚吸操作并结合实际测试情况合理调整SnapShot获取时间。在本次测试中,加入了对JProbe Memory工具Use Case的使用。该功能可以对长期监测过程中基础类及包数据进行定期截取,从而使得测试服务器在进行SnapShot内存快照时有良好的延展性。避免由于直接使用聚吸操作而造成的Was服务器宕机行为,影响测试监测结果。

1.1.1.2 测试场景

场景设计

事务点

集合点

登陆系统

(Login Transaction)

①登陆系统 ②登出系统

登陆按钮

新建公文

(NewDoc Transaction)

①登陆系统 ②新建公文 ③登出系统

新建公文

打开公文

(OpenDoc Transaction)

①登陆系统 ②代办页面 ③打开公文 ④登出系统

点击公文

发送公文

(SendDoc Transaction)

①登陆系统 ②新建公文 ③添加正文

④上传附件 ⑤发送公文 ⑥登出系统

发送按钮

保存公文

(SaveDoc Transaction)

①登陆系统 ②新建公文 ③添加正文(50K

④上传附件(<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="m"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">1M</span></chmetcnv>×2) ⑤保存公文 ⑥登出系统

保存按钮

新建个人日程

(NewData Transaction)

①登陆系统 ②个人事务 ③新建个人日程

④提交个人日程 ⑤登出系统

提交按钮

1.1.1.3 参数设置

1. 应用服务器参数:请参考《ExOAJ2EE)版产品稳定性测试计划》

2. 数据库服务器参数:请参考《ExOAJ2EE)版产品稳定性测试计划》

3. 测试场景参数:

Ø 并发用户数-45

Ø 测试环境-测试环境二

Ø LoadRunner监视服务器:

1) 172.16.14.98(数据库服务器)

2) 172.16.14.151(应用服务器)

3) 172.16.14.146(加压机)

1.1.1.4 测试结果

测试运行:2小时50分(小时)

附件上传:1227(份)

新建公文:613(份)

新建个人日程:634(条)

1. 平均事务响应时间:

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1027" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="Average_Time" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>

图表 11:第二轮测试-复合场景各事务平均响应时间

<shape id="_x0000_i1028" style="WIDTH: 481.5pt; HEIGHT: 69pt" type="#_x0000_t75"><imagedata o:title="Average_Time_Detail" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image003.png"><font size="2"></font></imagedata></shape>

如上图所示,在服务器运行00:01:25:2000:01:42:24(秒),该段时间内各事务响应时间均呈放量增长。

注意:在以上排查性验证测试中,均使用Linux应用与Windows应用配合进行的原则进行问题排查。

2. 事务通过率:

<shape id="_x0000_i1029" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image005.png"><font size="2"></font></imagedata></shape>

图表 12:第二轮测试-复合场景每秒点击率

<shape id="_x0000_i1030" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image007.png"><font size="2"></font></imagedata></shape>

图表 13:第二轮测试-复合场景吞吐量

<shape id="_x0000_i1031" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="Througuput_Hits" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image009.png"><font size="2"></font></imagedata></shape>

图表 14:第二轮测试-复合场景Hit(点击率)与Throughput(吞吐量)

通过以上Hits(点击率)与Throughput(吞吐量)分析,把曲线波动较为剧烈的三段时间取出独立进行分析,由此我们可以计算得出该事务的实际事务通过率下表所示:

1) 时间段一:00:17:0400:25:36()

<shape id="_x0000_i1032" style="WIDTH: 435pt; HEIGHT: 227.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image011.png"><font size="2"></font></imagedata></shape>

图表 15:第二轮测试-复合场景第一段时间各脚本事务通过率

事务名称

通过率

登陆事务(Login

60.4%

新建公文(NewData

100

打开公文(OpenDoc

100

新建个人消息(SendMessage

100

上传附件1UploadFile1

98.34%

上传附件2UploadFile2

95.79%

平均事务通过率

92.42%

2) 时间段二:01:12:3201:29:36()

<shape id="_x0000_i1033" style="WIDTH: 414pt; HEIGHT: 229.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image013.png" cropright="3459f" cropbottom="1995f"><font size="2"></font></imagedata></shape>

图表 16:第二轮测试-复合场景第二段时间各脚本事务通过率

事务名称

通过率

登陆事务(Login

66.79%

新建公文(NewData

100

打开公文(OpenDoc

100

新建个人消息(SendMessage

97.63

上传附件1UploadFile1

89.70%

上传附件2UploadFile2

90.16%

平均事务通过率

90.71%

3) 时间段三:02:25:0402:50:40()

<shape id="_x0000_i1034" style="WIDTH: 426pt; HEIGHT: 213.75pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image015.png"><font size="2"></font></imagedata></shape>

图表 17:第二轮测试-复合场景第三段时间各脚本事务通过率

事务名称

通过率

登陆事务(Login

80.05%

新建公文(NewData

100

打开公文(OpenDoc

98.43

新建个人消息(SendMessage

98.18

上传附件1UploadFile1

81.81%

上传附件2UploadFile2

85.18%

平均事务通过率

90.61%

3. 发生性能拐点时,事务错误状态分析

结合以上三段时间各事务通过率,我们可以较为清晰的发现登陆事务通过率相对与其它事务而言总事务通过率仅为67.54%,由此我们需对该事务错误进行进一步分析,如下图所示:

<shape id="_x0000_i1035" style="WIDTH: 437.25pt; HEIGHT: 219.75pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image017.png"><font size="2"></font></imagedata></shape>

图表 18:第二轮测试-复合场景各事务错误状态分析

<shape id="_x0000_i1036" style="WIDTH: 481.5pt; HEIGHT: 712.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image019.png"><font size="2"></font></imagedata></shape>

图表 19:第二轮测试-复合场景各事务详细错误分析

<shape id="_x0000_i1037" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image021.png"><font size="2"></font></imagedata></shape>

图表 20:第二轮测试-复合场景异常响应与Error -27728超时连接错误(120)

由上表可知,在总共1333个错误中有40.56%错误来自于登陆脚本第25行错误。错误代号为:Error -26612,该错误为服务器拒绝请求(HttpServer出现大量500或找不到页面404等);错误数量:540;通过数据日志及Was服务器日志分析可知发生该问题可能由于并发用户数设置偏高,导致应用服务器与数据库服务器之间出现连接数不足的情况,由此在长时间超时错误后,系统无法有效分配服务器资源与等待连接。由此,导致Was服务器运行过程登陆事务通过较低。

4. JProbe Memory Debug SnapShot 横向数据对比:

1.1.1.5 监测结果

1. 应用服务器综合性能指标(172.16.14.151):

<shape id="_x0000_i1038" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="Report5" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image023.png"><font size="2"></font></imagedata></shape>

图表 21:第二轮测试-复合场景应用服务器资源统计

<shape id="_x0000_i1039" style="WIDTH: 481.5pt; HEIGHT: 138.75pt" type="#_x0000_t75"><imagedata o:title="Report5lgn" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image025.png"><font size="2"></font></imagedata></shape>

通过对应用服务器实际观测,我们主要从以下三个指标判断服务器的健康情况以及是否肯能出现内存泄漏。

2. %Processor TimeActual Average Value (98.70%) > 80% to 85%

<shape id="_x0000_i1040" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image027.png"><font size="2"></font></imagedata></shape>

图表 21:第二轮测试-复合场景%Processor Time

<shape id="_x0000_i1041" style="WIDTH: 481.5pt; HEIGHT: 19.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image029.png"><font size="2"></font></imagedata></shape>

3. %Disk TimeActual Average Value (1.607%) << 80% and Max_Value = 80.223% > 80%

<shape id="_x0000_i1042" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image031.png"><font size="2"></font></imagedata></shape>

图表 22:第二轮测试-复合场景%Disk Time

<shape id="_x0000_i1043" style="WIDTH: 481.5pt; HEIGHT: 19.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image033.png"></imagedata></shape>

4. Page/SecActual Average Value (1.91 s) << X 00 s (X=1,2,3,4…) and Max_Value = 472.98

<shape id="_x0000_i1025" style="WIDTH: 481.5pt; HEIGHT: 241.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image035.png"><font size="2"></font></imagedata></shape>

图表 23:第二轮测试-复合场景Pages/Sec

<shape id="_x0000_i1026" style="WIDTH: 481.5pt; HEIGHT: 19.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image037.png"><font size="2"></font></imagedata></shape>

1.1.1.6 数据结论

通过以上监测结果,我们可以在一定程度上肯定本次测试应用服务器的健康情况。从以上三个主要性能指标判断,本次测试结果中可能存在内存泄漏。通过JProbe工具对内存堆栈的使用情况的分析来看,部分Class类及包文件有明显的增长趋势。由于,以上趋势较为锐急。由此,需要更进一步的通过场景拆分,分别对该场景内两个组件进行测试。本轮测试结束后,与研发中心产品经理商榷后,决定继续在下一轮分拆组件测试中对之前的数据予以关注。针对本次测试中应用服务器实际运行2小时43分后出现的Was宕机现象,内存堆栈中几个Class有明显增加的趋势。在第三轮场景拆分测试中,我们将试图通过本次数据的实际结果与性能指标,对可能引起发生内存泄漏、Was宕机等问题进一步进行排查。并在一定程序上辅助研发中心了解产品真实的健康情况,在实际测试数据的基础上给予产品发布足够的信心与帮助。

本次测试采取负载测试、并发测试、可靠性测试测试方案采取模拟真实用户使用场景,模拟指定人数在一定时间点击界面产生的请求数。 在并发10(单位个/s)、20、40、80、160、500、1000、2000的基准下,调整用户数(虚拟用户用一个线程,下统称线程数)、点击准备时间(用户点击时间模拟时间,下称Ramp-up单位秒)和用户点击次数(下称循环),例如10个用户,每个用户每5秒点击1次,则线程数为10,Ramp-up为5,循环数为1。详细测试策略请看2.1。 对登录、数据新增(用户)、编辑(用户)、获取(用户)和删除(用户)进行负载测试,获得其稳定负载值。 对全站使用策略100-100-1-1进行并发测试,挑选用户服务所有接口。基础数据服务中挑选和用户服务关联的功能接口5个,组织结构接口4个,和用户服务无关的行政区3个接口。具体接口请查看附件1。 对全站进行可靠性测试,根据以上测试接口,选择稳定的并发数后持续测试-模拟时长8+小时。 稳定性测试是通过运行状态和资源指标的2个方面来分析及评估系统的稳定性,请求记录项响应的时间平均值、最小值、最大值、标准偏差、异常(百分比)、吞吐量、接收、发送、平均字节数,服务器资源指标CPU、Memory,在此额外添加记录数据库数据。通过调试测试策略、分析实验数据得出相关系统稳定性的结论,从而达到平台能力验证、规划能力、性能调优、缺陷发现等目的。
[17个软件测试文档]-15压力测试和服务器稳定性测试 已上传: [17个软件测试文档]-14性能测试讲稿 http://download.csdn.net/detail/cleopard/8344245 [17个软件测试文档]-13性能测试工具之研究 http://download.csdn.net/detail/cleopard/8344235 [17个软件测试文档]-12XX性能测试报告 http://download.csdn.net/detail/cleopard/8344077 [17个软件测试文档]-11性能测试实践 http://download.csdn.net/detail/cleopard/8344037 [17个软件测试文档]-10成功的 Web 应用系统性能测试 http://download.csdn.net/detail/cleopard/8344033 [17个软件测试文档]-9web项目测试实战性能测试结果分析样章 http://download.csdn.net/detail/cleopard/8344023 [17个软件测试文档]-8性能测试经验总结 http://download.csdn.net/detail/cleopard/8344017 [17个软件测试文档]-7存储转发机制优化系统测试方案及案例 http://download.csdn.net/detail/cleopard/8343997 [17个软件测试文档]-6学习性能测试线路图 http://download.csdn.net/detail/cleopard/8343983 [17个软件测试文档]-5系统性能测试方案 http://download.csdn.net/detail/cleopard/8343975 [17个软件测试文档]-4XX性能测试计划 http://download.csdn.net/download/cleopard/8343941 [17个软件测试文档]-3“苍蝇式的战斗精神”和“XX性能测试” http://download.csdn.net/detail/cleopard/8343937 [17个软件测试文档]-2Mercury性能测试模板 http://download.csdn.net/detail/cleopard/8343919 [17个软件测试文档]-1性能测试实践 http://download.csdn.net/detail/cleopard/8343911 稍后上传剩下2个软件测试文档 ****请于这里寻找:http://download.csdn.net/user/cleopard/album @更多@ http://cleopard.download.csdn.net/ 福利: http://xuemeilaile.com 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 2014年移动游戏行业数据分析 http://download.csdn.net/detail/cleopard/8340331 一文读懂2014年全球互联网广告新生态 http://download.csdn.net/detail/cleopard/8340303
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值