软件测试小课堂

1.测试用例的作用

  • 一、理清测试思路
    实际结果、预期结果、目的、bug
  • 二、评估工作进度
    每个测试用例覆盖多少个功能点,有多少没有覆盖
  • 三、提前准备测试数据
    正向数据、反向数据、等价类、边界值
  • 四、评估工作量
  • 五、进行回归测试
  • 六、企业角度
    人员流动不影响测试进度,减轻交接成本

2.接口测试用例如何设计(需要体现跟功能测试的区别)

接口测试主要是检查数据交换,系统之间互相依赖的逻辑关系,检查系统之间,服务与服务之间,上层和下层之间的调动关系
测试方向

  • 1.检查数据正确性
    eg:我们去访问一个数据,拿到数据以后,要跟数据库来进行一个对比。传递了相应的参数后,给我们的数据和数据库给我们的数据一不一样。需要借助数据库的内容,确认我们数据的正确性。
  • 2.输入不同参数
    相对于不同的参数,输入不同的参数(eg 输入的参数类型,一些非空校验,边界值,等价类,是否会出现异常,给的数据是正确。比如翻页,第一页,第二页,第三页数据是否真的能显示第一页,第二页,第三页。需要传page或者page number帮忙解决这个问题
  • 3.校验接口的兼容性
    传入异常参数时,会不会崩掉
  • 4.校验接口的安全性
    eg像用户密码,银行卡,金额等隐私的信息是否打码或者用了其他uid、md5之类的做一些加密的措施。或者这个接口能不能防止像sql注入之类的问题
  • 5.老版本是否兼容
    eg接口更新版本后,用老版本的方式访问能否访问到这样一个信息

3.如何做好web应用压力测试?

性能测试流程
需求分析-测试计划/方案-制定案例-搭建测试环境-准备测试数据-测试脚本-执行案例-反复调优-发送测试报告
通过性能测试,我们首先要知道的就是我们整个系统所能负载的整个用户的并发量是多少。还有就是我们每一次请求的平均响应时间,还有系统的tps等问题。
做性能测试的过程中需要注意的问题(测试目标):
①负载均衡性:是否存在负载不均衡的问题,如果存在,需要查出来问题在哪里
②连接稳定性:
③线程安全性
④内存泄漏问题
⑤死锁、连接泄露等
⑥网络架构、应用架构、扩展性
⑦整个系统的性能瓶颈
通过测试目标设计性能测试案例,来分析我们性能测试的一些需求。

4.测试用例编写流程的核心8要素

重点:

  • 需求分析
  • 提取测试点

流程:

  • 需求分析
  • 提取测试点
  • 根据提取的测试点编写测试用例
  • 评审测试用例

eg:需求:轮播图可以正常使用
提取需求点:
自动翻页,手动翻页,只有一张张切换,最后一张切换到第一张,页面是否跟着变化,只有一张图 左右两个按钮是否需要存在等。
用例包括:用例id、用例编题、所处模块、预制条件、输入数据、预期结果、实际结果、执行步骤。

5.测试过程中,如何创建测试数据?

  • 界面生成数据(适用于数据量少)
  • 调用接口(大批量账号)
  • 开发人员协助(数据库方式:sql语句)
  • 后台导入

6.接口测试的工具有哪些?

①简单功能:postman
②接口性能,有一些并发的要求:jmeter(具有性能测试能力)
③需求多,更改多,需自定义:python+requests模块
④locust(python下已经写好的接口测试工具)

7.没有产品说明书和需求文档,怎么进行软件测试?

①整理客户功能点(整理出测试需求的追溯表)
②根据开发文档(整理出部分需求)
③开展项目功能需求研讨会(确定一部分难搞的需求)
④参考商品(同类产品、竞争对手)
⑤咨询客户/用户

8.面试时,怎么介绍最近做的项目?

①项目类型

  • 项目模块
  • 负责模块

②负责模块

  • 如何工作
    1.参与需求讨论
    2.提出需求意见
    3.测试具体内容(画出流程图、测试范围、测试边界、测试计划、测试环境)

③如何测试(介绍测试过程,功能点+测试方法)
eg:测试banner模块,一般banner图有5张图片,可以滑页。测试点首先要关注,一共5张图,那么这5张图跟数据库里的图片进行一个对比,是否能对得上。数据有没有问题。数据没有问题的化我们再去测试
,如果我们的数据多了或者少了,会不会出问题。比如说我们一般默认的是5张图,但是有没有可能我们这5张图不全,比如做促销的时候,只有3个广告,没有5个广告,那么这个时候我们来试一下,利用等价类划分或边界值法,这里使用边界值法,5是边界,比5少和比5多,6个,0个,1个,看是否会出问题。
一般情况下,banner图两边有一个按钮可以点击,点击一下,切换一下,0张的时候,这个按钮应不应该出现,5张的时候,应不应该出现,1张的时候这个按钮应不应该出现,最后的话,一般banner图的下方会有几个点,几张图片对应几个点,根据切换图片的位置,是否会有不同的点呢,
④总结

  • 项目结果(测出来多少bug、修复了多少bug、有哪些bug因为什么问题没有修复、上线后因为哪些问题哪些bug没有测出来)
  • 出现问题
  • 如何解决

9.给你一个水杯,你应该怎么测试?

(界面、功能、应用性、兼容性、安全性、性能)

  • 界面
    外观、颜色、设计、图案是否符合要求
    1.外观是否完整(eg图案没画完;有没有磕碰、凸起、缺块;)
    2.外观设计是否让人感到舒适
    3.大小是否适中
    4.是否掉色

  • 功能
    1.能否正常装水
    2.能否正常喝水
    3.附加功能:
    盖子:盖子是否可以正常拧紧,盖上盖子后是否漏水
    保温功能:是否能保温

  • 应用性
    1.是否正常拿取(一只手)
    2.喝水是否方便
    3.装水是否方便
    4.是否方便携带

  • 兼容性
    1.能否装汽油
    2.能否装酒精
    3.能否装盐酸
    4.能否装浓硫酸

  • 性能
    1.零下多少度会冻坏
    2.多少度下会融化,出现问题
    3.多少米跌落会碎,正常桌子高度跌落会不会碎

10.遇到浏览器白屏,该怎么定位问题?

出现白屏一般就2个原因

  • ①后台问题(返回数据为空)
    表现:出现500或500系列的错误
    出现错误后,后台并没有把这个错误信息返回给前台,所以会出现浏览器白屏的情况。

  • ②前台问题(js代码问题)
    返回了正常的数据,js代码出现问题,没有把我们的界面渲染到我们的浏览器上。

如何排查问题(前提:浏览器和网络正常)
eg:访问一个网站它白屏,先访问其他的网址试一试,if没有白屏,说明网络是正常的,浏览器也是正常的。打开抓包工具,看看请求和返回来的响应,如果返回的响应是空的,没有任何内容,说明后台有问题。后台没有把问题返回回来。有可能后台出现了500错误。如果抓包发现响应里面是有内容的,但是没有显示到当前界面上,这个就是前台的问题,说明前端人员在把后台渲染过程中,js代码是有误的。没有解析发生的错误。那么可以看看前台的js控制台的日志和相关的信息,我们就可以看到具体问题出在哪里了。从而将问题反应给前端人员或后台人员。

11.你在测试中发现了bug,但开发认为这不是bug,你应该怎样解决?

bug来源:
①跟需求文档,产品说明书,设计文档不一样的地方。
②if没有相关文档,可以根据类似软件进行测试,测试到不一样的地方,我们也认为是一个bug。
③根据用户习惯,不符合用户习惯的,也认为是一个bug

出现题目的问题是因为:开发人员和测试人员理解需求不一致。
解决方法:找到产品人员,和开发测试一起探讨这个需求到底是什么样的。需要将对需求的理解变为一致。
如果开发依旧认为不是一个bug,就提交给测试经理,看这到底是不是一个bug。如果是一个bug,就与开发经理沟通,这到底是不是一个bug。如果开发经理认为不是bug,测试经理认为是bug,就反馈给更上一级,项目经理,领导,老板等。

12.偶现bug该如何处理?

第一步
①截图,留下证据,证明这个问题确实存在
②抓日志,发现它确实报错了。
③操作视频(如果有更好)
第二步
①列举相关条件(前置条件、测试环境)
第三步
复现bug。根据环境,思考各种各样的可能出现的这样一个原因,复现刚才使用的步骤,根据我们的环境,根据我们的步骤,根据我们的版本,根据各种可能一步步的分析出各种各样的可能,然后去复现。

复现不出来时,也需要提单,需注明是一个偶现的bug,标明测试环境,版本号,截图or视频,抓到的日志,一起提交过去,让他们去分析这个错误到底是什么原因出现的,

13.如何编写测试计划?5W1H方法添加链接描述

5W:
why:为什么测试
what:测试哪些方面,哪些内容
when:测试不同阶段的起止时间
where:有哪些东西,相应的文档缺陷存在的位置,测试环境等
who:该项目的人员组成,每个人负责哪些阶段,哪些模块
how:如何去做,使用哪些测试工具,使用哪些测试方法

14.单元测试是什么?应该怎么做?

单元测试:就是我们对一个单元(一个模块,代码,类)进行的测试。
单元测试一般是开发人员进行一个自测。
要做单元测试的话,首先需要明确一点,你的代码必须是可测的(如果是随便写的面向过程的那种写法的话,肯定测起来不太好测)所以要用面向对象的编程方式,或者是函数式的编程方式,这样才能进行单元测试。
在单元测试过程中,主要测2个:
①代码能否正常运行
②能否提高软件质量(代码运行完后能否达到预期的需求,降低bug产生率,提高软件质量)

15.软件测试的环境部署怎么做?

软件测试的环境部署,一般情况下,指的是我们的项目的部署情况。(像app的话,我们可以直接装载app就搞定了。)所以一般指的是web的后台,一个项目的部署的这样一种情况。
如何做:
首先,我们要知道这个web服务的话,想要给web提供服务,需要一些东西(eg:操作系统、数据库、Mysql、Apache、nginx)
①基础环境骨架
比如我们的硬件环境和软件环境,所以说你要有一台云服务器或者是本地服务器,或者拿自己的电脑当一台服务器,那么里边会有一些我们服务器的一个系统。一般情况下,我们现在服务器的系统会使用linux。linux有2种发行版本(ubuntu、centos)
②提供数据库服务
需要提供数据库服务的东西,一般情况下我们的项目都使用的是mysql这种数据库服务,需要安装一个mysql,然后我们需要一个外部服务,也就是我们需要通过http协议提供服务给外面,通过我们互联网
能访问到我们的服务器,一般有2种(nginx、apache、tomcat)
③语言环境知识
比如运行我们的项目代码,需要最基础的语言环境包,如果运行的是java代码,需要一个java环境的支持,需要安装比如jdk之类的一些基础环境,还有java的一些包,比如说ssm,这些包都安装上,还有一些maven包管理器的一些东西。如果是python代码,需要安装python依赖的包,比如python解释器,python依赖的各种各样的程序。
④安装项目文件包
最后,我们需要把我们的项目文件包给它安装进去,一般情况下是开发编辑好的项目包,我们给他放到我们的服务器某个文件里,一般情况下,它会有指定的文件,我们放进去之后呢,加上我们的一个语言处理器,我们就可以直接运行起来了。

至此测试环境就搭建好了,搭建好了之后就可以测试一下,这个环境到底能不能访问。一般情况下,我们会使用远程连接的方式来测试这个环境,通过输入它的ip地址来看一下,这个项目有没有搭建好,这个就是软件测试的环境的一个搭建过程。

16.测试过程中,需求分析该怎么做?

①阅读需求文档(阅读2-3遍及以上)
②梳理项目流程图
③与产品沟通(不清晰的地方)
④分析测试点

  • 拆分测试点
  • 有效/无效测试点(等价类划分+边界值)

流程测试:正常流、非正常流

17.浏览器的兼容性怎么测?

①不同浏览器界面显示是否一致

  • 浏览器的界面能否正常加载

  • css样式是不是完整的

  • 图片文字是不是统一的

  • 排版是否整齐

  • 数据是否正确

  • 特效能否正常显示
    ②web页面的应用性

  • 界面中所有的控件,能否正常的显示,正常使用

  • 提示信息是否完整和正确,是不是有不正常的地方

  • 不同分辨率上界面是否友好,可以正常显示

  • 窗口最大化最小化,能否正常显示内容

③浏览器功能是否正常

  • web页面的登录注册功能
  • 搜索功能
  • 导航功能
  • 添加修改删除功能
  • 上传下载图片
  • 地图、视频播放,音频播放等
  • 系统的数据计算功能,链接的跳转功能

④浏览器键位是否正常(返回键,回车键,空格键,组合键)

⑤不同浏览器的性能(速度)

⑥不同浏览器的安全性

  • 不同浏览器下js代码,加密的代码能否正常运行,数据是否安全,有无泄露风险等。

18.接口测试要测什么?

①接口功能是否正常实现
②返回值内容是否正确,类型是否正确
③测试参数内容(边界值,等价类,错误和异常测试,eg:空值,特殊字符串,超长超出约定长度,低于约定长度的)
接口能否正确处理–健壮性
输入错误的参数,它是否显示一个错误的数据,或者不显示数据。能否正常处理故意输入错误参数,多输入参数或少输入参数,是否会引起我们接口的崩溃,或者参数格式错误(eg:需要json格式但传的并不是一个标准的json格式)
还需测试敏感性数据有没有加密,有些地方有没有脱敏,返回中的数据是否含有一些敏感数据,有无进行脱敏处理。
还需进行数据安全性校验,还有防止恶意调用,防止爬虫的情况。

19.什么是版本控制?

版本控制是软件工程的一个技巧,在我们开发过程中确保不同人所编辑的同一个档案,同一个代码,我们在一起可以得到一样更新的一个过程。
版本控制的工具,主要有2种

  • svn(subversion):是一个开源代码的版本控制工具,主要用来取代我们最古老的CVS、RCS,采用的是分支管理系统,传统厂商使用,现在互联网厂商一般使用git
  • git:是一个开源分布式版本控制系统,可以有效的高速地处理我们从非常小到非常大的项目,git的由来主要是我们的一个linux的一个开发人员,为了方便管理内核的代码,全世界的开发人员都在贡献代码,而开发的一个管理工具。可以自己搭建git,eg:gitlab

20.软件测试和软件开发的区别和联系

总体来说,目的一样。都是为了做出来高质量的软件。提高软件质量。开发和测试是一个有机的整体。是合作的关系。
矛盾点:
开发注重从无到有,测试注重从有到优。

21.HTTP协议的响应码有哪些?分别代表什么?

http协议的响应码代表的是连接服务器的状态。
2xx系列:我们向服务器发送请求成功了,服务器接收到了,服务器处理了,服务器处理完成把信息返回给你了。请求正常处理完毕。
3xx系列:我们向服务器发送请求,服务器接收到请求,处理的时候要附加一些操作,eg重定向,301,302就是一个重定向的一个操作。
4xx系列:代表的是客户端的状态发生了问题。比如客户端访问的东西发生了问题,eg:404Not Found(你访问这个网站它是存在的,但是你后面那个/后面的地址写错了,就会出现找不到你服务器想要的资源,就出现了404not found这样的一个情况)
5xx系列:服务器错误,因为你的请求,导致服务器出错了。或者请求过程中,服务器已经出错了,就会返回500系列的错误。
200:ok
404:not found
500:服务器出现一些状况

http响应码案例
①登录的时候,输入正确的用户名,输入错误的密码,点击登录,登陆失败,这个时候得到的验证码是200,因为既然你能检测到我们密码错误,说明我们向服务器提交的账号密码是提交成功了,服务器处理账号密码也处理成功了,说明整个联网的请求和响应都是成功的,所以响应码是200
②接口测试时,尤其是使用restful风格的接口时,它的响应码一般定的比较具体,比如我们是查询,成功后响应码是200,新增成功了以后响应码是200,如果要想去修改,修改成功后响应码是201,如果是删除成功,响应码返回的是204。

21.β测试、α测试有什么区别?

大型通用软件,给大部分用户使用的,在正式发布之前都会进行一个α测试(a测或内测)或β测试(b测和公测),在正式交付给用户之前,正式上线之前,需要进行两个大规模的测试,第一个就是α测试,第二个就是β测试。
α测试:用户在开发环境下测试,在公司内部的用户模拟用户的实际的操作环境的情况下,是受控的,开发人员在场,这个测试人员可以理解为它是一个比较小范围的内测的过程。这个内测不是由用户来参与的,eg:大型游戏开发之前都会有自己的员工+媒体的测试,试玩的一个过程。
β测试:用户在不同场所进行测试。多个用户在一个或多个用户实际使用环境下进行的测试。开发者通常不在我们的测试现场,测试通常不是由测试人员或者开发者来完成的。eg:发大量邀请码,给大量的普通用户,邀请普通用户来进行一个测试。

区别:
①a测主要是内部人员进行测试,b测会要求更多的普通人员来测试。但是它们都是一个限额测试。
②a测相对来说参与的人数比较少,b测相对来说参与的人数会比较多。

22.http协议的url地址包含哪些内容

https://www.bilibili.com/video/BV1JP4y1g7bC/?spm_id_from=333.999.0.0&vd_source=b55181cc7ceea65f454d757c15d961d9

协议+域名(id)+端口(隐藏)+资源路径+查询参数。

①http:// 代表这个url的协议(协议分2种,一种是http协议,另一种是https协议)
②://后面 再到另一个斜杠中间的一部分即www.bilibili.com,叫做域名或主机名。本身域名和主机名是没有任何含义的,我们需要的是在联网中我们获取到了服务器地址,通过ip来获取的。因为记忆ip不符合用户习惯,所以就搞了一个域名,在一个dnf服务器里,创建了一个存储的一个键值对,一个域名对应一个地址,通过域名可以拿到这个IP地址,我们真正访问的是一个ip地址,中间这个地方就是我们的域名。通过dnf服务器的解析,可以拿到服务器的地址。
③/后面即video/BV1JP4y1g7bC/:就是服务器的地址,也就是在服务器里,要获取它的哪些信息,要获取什么东西,就是杠后面的一些东西,就是你在服务器里如果你没有杠,就只是获取它整个主机的根目录,即index目录。
④?** = :服务器查询携带的参数。问号后面的话跟的是什么等于什么,然后and什么等于什么,这个就是我们要向服务器查询的过程中所携带的一些参数的信息。

23.如何判断这个接口是否有bug?

①接口地址是否有问题
②接口参数是否有问题
③如果需要一些权限的要求,还需检查请求头的的信息是否正确
④检查响应信息是否有问题

  • 响应码是否对的上
  • 响应的头里面的一些信息是否和需求一致
  • 响应的数据信息是不是返回我们想要的东西(eg查第一页的数据,是否返回第一页的数据)
    如何对比数据是否一致:需要跟数据库的数据进行一一比对,对比完成后没有bug,说明没有bug。

24.selenium有哪些元素定位方式?

通过标签里的特有内容去找

  • id
  • name
  • class name
  • tag name(重复内容多,一般不使用)

无上述元素时,可以通过文本去找

  • link test
  • partial link text

还有css选择器的方式和xpath方式,css方式速度更快,但是一般情况下我们不会在意这点性能的区别。

25.fiddler能用来做什么?怎么用?

fiddler的原理:fiddler其实就是一个抓包工具,我们可以去进行分析请求,模拟响应这样的一个过程。归根结底,它是一个代理,你访问我的时候,先去访问张三,通过张三再来访问我,这样的话,你所有的数据都经过张三,张三就可以把你和我之间的通话,所有的内容,所有的数据都可以拦截到,它是一个中间人这样的角色。
fiddler的使用:一般用来动态web调试,可以抓取我们的http,我们分析,这就是我们最基础的一个使用。可以做一些自动的响应,比如说有些东西没做好,不想让它访问到,这个时候可以有一个auto response的功能,帮助我们来进行一些自动响应,还有一些其他的就是我们的一个动态调试之类的东西都是可以实现的。

26.什么是自动化测试?

自动化测试区别于手工测试,是用人较少的,或者甚至完全不需要人干预的情况下,自动地帮我们去完成这个测试的工作。

自动化测试是怎么完成的,就是用脚本或者用程序,用程序去测试程序,用脚本去测试程序,根据我们预先设定好的脚本,或者代码,让它自动去执行。测试完了以后,根据我们测试的结果,根据我们执行的日志,我们来判断这个程序到底有没有问题。

27.什么是性能测试?从宏观微观两个方面来看

①系统宏观方面
比如我们看看整个系统是什么样子的,比如说我们系统高并发情况下的整个系统的一个负载情况,或者说系统有没有宕机,能不能正常处理用户,还有什么呢,比如系统处理用户请求,我们需要的一些时间等等。
②系统微观方面
比如说我们处理每一个用户的请求,处理每一个进程,这个时候需要花费的,比如说cpu也好,cpu资源,然后像我们的一个io,硬盘,网络资源等等资源的一些情况。甚至我们还可以去测试整个的系统的服务器的连接数量之类的东西都是ok的。
③其他
内存有没有回收,有没有及时,内存有没有泄露,我们把这些测试叫做性能测试。

28.什么是需求评审?为什么一定要做需求评审?

什么是需求评审:需求评审就是我们项目相关的人员,比如开发测试产品,项目所有的相关人员,对软件的需求进行确认评估的相关的活动。
为什么要做需求评审?
①确认需求的完整与准确
确认需求是否满足我们真正的用户需求,这个需求是否准确。
②理解是否一致(一个需求只能有一种理解)
③降低需求不明确带来失败风险
有些需求根本没有办法实现的,eg:根据手机壳颜色变化桌面风格

测试人员职责
①确认需求理解一致
②确认需求无错误,能够支撑后续的用例设计
比如我们需要确认我们的需求是没有问题的,如果这个需求是有问题的,开发出来的东西肯定是有问题的。这样就提高了修复缺陷的成本。
③提出合理化建议
针对需求中明显不合理的地方提出合理化的建议和意见

29.app测试的流程是什么样的?和web测试有哪些区别?

app测试流程总体上和web测试流程一样
需求分析-设计测试用例(边界值法、等价类法、错误推断法、场景法)-黑盒测试,检查界面,布局按钮-页面性能测试-项目稳定化测试

区别
app有中断测试,安装和卸载测试、弱网测试(电梯、地铁)、兼容性测试(系统)

30.Linux常用命令有哪些?

查看文件目录pwd
切换目录cd
创建文件夹mkdir
删除文件夹rm
移动或者重命名mv
查看文件内容cat 或者more
查看网卡信息iconfig
杀进程kill
scp命令本地传包
yum安装命令
tar解压命令
history|grep查看历史操作命令
vi编辑命令修改网关
ngx配置文件
ps查看进程命令
chmodchown改权限
tail查看log文件命令
df查看磁盘内存

31.怎么判断bug是前端问题还是后端问题?

一般会使用抓包,比如说你有一个bug,首先需要去查看一下前后端的交互报文,检查一下他们前后端的一个响应是否正确。比如抓取到前端的一个请求,这个请求它有无正常发送,如果正常发送,需要看后端有没有回。如果后端回了,但前端没有一个正常的显示,那么也是前端的问题。所以在看后台的时候,主要看它后台发送过去前端的数据有没有异常,如果发过去的数据是有问题的,就是后端的问题。在同步的过程,我们会检查数据库里的数据是否正常的显示。

32.接口测试到底测什么内容?

①测试接口的功能性
检查接口有无返回数据,我们发送的请求和返回的数据预期结果是否一致
②测试接口的健壮性(兼容性)
比如说我们传递错误的信息,或者是我们传递错误的类型能否处理
③参数边界值
比如发送一个较大的数据,超出了限制的数据,看是否能承受住,会不会引起服务器的问题。或者我们发送一个空数据,或者我们发送一个复数类的数据,它会不会造成我们系统的一些其他不必要的问题。
④性能

  • 请求、响应(eg:期待200ms内要传送完)
  • 接口并发(同一时间可以处理多少接口请求)

⑤安全性

  • 用户权限
  • 敏感数据

33.项目里的接口是怎么测试的?

接口测试流程:
测试计划-任务分配-需求分析-api文档中提取接口清单-设计测试用例-编写测试脚本并导入测试数据-运行脚本并生成测试报告
实际过程中可能会遇到如下问题:
①文档可能不全或不存在,需要去找开发沟通,或者你需要自己去找到这些内容,去使用抓包工具,去整理这些接口。
②实际中测试数据设计覆盖率的问题,会根据人力成本去综合考量

34.怎么判断一个接口是否有bug?

检查三个部分,分别是我们一个请求信息,响应信息和数据库。

  • 请求信息,接口测试中,相关的一个接口地址,请求参数,请求头,请求体里的信息是否正确
  • 响应信息,检查响应信息是不是跟我们接口文档一致
  • 数据库,检查数据库里面的一个数据是不是存在存储、修正等问题

都没问题说明没有bug。

35.app闪退是什么原因造成的?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miraitowa_FTY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值