你知道DevOps吗?大牛告诉你项目在Devops下如何测试!

基于粒子群算法的PID控制器优化设计 粒子群算法、PID、寻优 阅读详情

正如我们所知,DevOps最近几年很风靡,很多企业正在如火如荼的推行它。然而,你可曾想过,从传统到敏捷、再到DevOps,开发模式的不断革新对测试提出了怎样的挑战?

最近我们项目在实施DevOps,因此想趁热打铁,就DevOps模式下如何做测试,谈一谈自己的认知。

DevOps有什么特征

DevOps是一系列软件开发实践,强调开发人员(Dev)和运维人员(Ops)之间的沟通合作,通过自动化流程,使得软件构建、测试、发布更加快捷、频繁和可靠。

1. DevOps强调一种文化

在很多企业中,开发和运维人员通常隶属于不同部门,有着不同的工作环境,采用不同的沟通方式,使用不同的开发或运维工具,并且有着不同的业务目标,这使得他们之间形成一道参不透的墙。

 

DevOps实际是一种文化上的变迁,强调开发、运维、测试等环节之间的沟通合作。意在帮助这些人向着一个共同的目标努力:尽可能为公司提供更多价值。为了支持这种合作的发生,需要在团队内部文化和企业组织文化两个层面做出努力。

 

2. DevOps是一种实践

所谓DevOps,就是将敏捷方法延伸到Production!

DevOps主要是为了将敏捷开发实践扩展到运维阶段,进一步完善软件构建、验证、部署、交付等流程,使得跨职能团队能够完成从设计到生产支持等各环节的工作。

 

3. DevOps包含一系列工具链

DevOps是一种融合了一系列基本原则和实践的方法论,并从这些实践中派生出了各种工具。这些工具体现在软件开发和交付过程的不同阶段:

  • 编码:代码开发和审阅,版本控制工具、代码合并工具
  • 构建:持续集成工具、构建状态统计工具
  • 测试:通过测试和结果确定绩效的工具
  • 打包:成品仓库、应用程序部署前暂存
  • 发布:变更管理、发布审批、发布自动化
  • 配置:基础架构配置和部署,基础架构即代码工具
  • 监视:应用程序性能监视、最终用户体验

DevOps对测试提出了哪些挑战

刚参加工作时,我参与了某Audi系汽车电子的软件研发,采用的是传统瀑布开发模式。在整个项目生命周期中,前半部分设计和编码,后半部分用来测试。然而我在东家工作了两年,也没能等到产品交付到用户手上。直到去年,我们的软件才得以量产并投入市场。在这4年中,产品从未交到用户手上,因此无法验证它所带来的价值,也没有任何机会得到用户反馈从而适应变化。

后来,我又参与一个银行项目,我们采用敏捷的开发模式,全功能团队,开发测试并行,每2-3周就交付一个版本。但因为没有真正发布到生产环境,我们仍然无法及时得到有效的用户反馈。

现在,我们采用DevOps的优秀实践,开发和运维协同工作。每个迭代完成,或者每修复一个线上缺陷就立即部署到生产环境。这样,我们就能够迅速从用户处获得反馈并且快速做出响应。

通过参与传统、敏捷和DevOps的项目,我深深地感受到流程的改进对团队以及项目的产出和质量所带来的改变。

 

那么,这些改变究竟是对测试提出了什么样的挑战? 我认为有以下几点:

1. 频繁部署

在采用DevOps之后,我们能够根据项目具体情况做到每天甚至一天多次部署。在生产环境频繁部署软件,最大的挑战就是测试。以前,测试基本上都在开发阶段之后和产品上线之前完成。但现在,不再有充足的时间留给QA团队去发现问题再抛给开发团队来修复。那么,速度成了测试面临的一大挑战。

2. 自动化

DevOps强调将流程自动化,测试作为其中一个重要环节,势必要大规模实现自动化。因此测试人员的自动化编码能力正在面临极大的挑战。

3. 实践和反馈

敏捷提倡我们要拥抱变化,更多的是要适应需求的不断变化。虽然一部分功能性需求是明确又具体的,我们清楚的知道用户想要什么,也因此易于测试。然而,也有一些非功能性需求的验收标准没那么明确,比如:提高应用性能达到良好的用户体验。我们如何才能验证用户体验是否真的良好呢?仅仅通过性能指标吗?当然不是,满足指标只能说明一部分问题,唯有真实的用户数据和反馈才是可最靠的。

4. 协作

敏捷强调全功能开发团队的共同协作,但这仅仅止于开发阶段。而DevOps注重Dev、Ops和QA三个群体之间的密切协作。因此,良好的角色定位能够帮助测试人员将价值最大化。

我们是如何做测试的

Laurent曾经在Hiptest上发表了博客《Shift left and shift right: the testing Swing》,提出了一个有意思的测试矩阵,从四个维度进行分析,描述了当软件开发模式从瀑布到敏捷、再到DevOps转型时,测试该如何响应变化。

Laurent提出一个测试左移和右移的概念:

  • 测试左移,就是指在开发阶段之前定义测试。
  • 测试右移,就是直接在生产环境中监控,并且实时获取用户反馈。

在敏捷开发的生命周期中,我们通过每一次迭代来丰富和更新产品,以使其最大限度地符合客户对系统的需求。当时测试的关注点基本停留在开发阶段,以保证产品达到上线标准。引入DevOps之后,我们不仅要关注产品的质量是否达标,还需要使价值假设得到及时的验证。因此,我们不仅要将测试左移,在开发环境验证功能的可用性,还要进行测试右移,通过监控产品在生产环境的运作情况,来验证其价值并获得反馈,从而持续改进。基于这些理解,我在项目上做了初步的尝试并取得良好的效果。我将这些尝试和实践总结为以下几点:

1.如何保证新功能得以实现?

在开发环境,我们开发新功能,并且通过测试保证其达到产品验收标准。

首先,使用BDD(Behavior Driven Development,BDD)的方式定义用户需求,这样用特定的语言来描述用户行为,能够使各个角色(测试、开发、产品负责人、市场等)对业务价值达成一致的理解,从而使其从需求到最后的测试验证,进行高度的协作和沟通,最后交付最有价值的功能。同时,QA能够提前Review故事卡,补充验收标准。除此之外,BDD方式的用户需求可以直接指导测试,后续我会写到。

其次,采用单元测试来验证最基本的代码逻辑。在编写单元测试时,建议Dev和QA Pair工作。单元测试可以认为是编码的一部分,要对系统的代码逻辑有深入的了解,因此,Dev是最合适的人选,而QA可以帮助测试覆盖的更全面。

最后,每一个功能都要严格按照故事卡的AC(Acceptance Criteria)进行验收,并采用探索性测试方法来对新功能进行无死角测试。

2.怎样验证新功能的价值?

我们将新功能部署到生产环境以后,接下来就应该衡量业务价值是否达到预期。

验证预期的一个好方法是衡量用户的行为变化。比如:在上传图片的功能后面添加了一个预览按钮,但用户却极少用它,很可能是因为用户根本不需要这个按钮,或者按钮放在了不恰当的位置导致用户不方便使用,亦或是按钮样式不够友好,导致用户没有欲望使用它。这时候,该按钮的业务价值就没有真正达到,是时候调整一下了。

3.如何确保已有功能不被破坏?

在软件开发中,任何代码都不可能完全独立存在,一行代码的变更也有可能导致系统的全面崩溃。那么,如何保证在开发新功能的同时,已有功能不被破坏?换句话说,如何做到全面的回归测试?人力是最高成本,也有现实的局限性,比如,人手不够,重复做同样的事情人会变得烦躁,手不够快导致效率低下等。因此,自动化测试才是不二选择。

将BDD需求直接转化为自动化测试用例。每个测试用例都应该讲一个关于应用程序的故事。当一个测试用例使用一致的业务术语定义时,它的可读性会比较高,且容易自动化。与此同时,上一个迭代的用例在下一个迭代就可以迅速转化为回归测试的基线。

支持BDD的工具有很多,比如:Cucumber。简单举个例子,如图:

BA用BDD方式定义用户需求,QA Review并补充AC,然后将其编写为自动化测试脚本。如果QA的编码能力较弱,可以让Dev协助完成代码实现的部分。这也充分说明了协作的意义。

最后,也是更重要的部分,测试应该集成在CI中。每一次Build或者每天都要去执行测试,验证已有功能是否完好。这样才会对没有预期到的变化产生的问题给出快速反馈。

另外,做一些性能测试、兼容性测试、和安全性测试等等。

4.怎样验证产品的可靠性?

有时候,某些缺陷并不是源于代码的错误,而是一个不好的用户体验,或者只有当数据达到一定量时才会出现,测试人员是无法模拟这种类型的测试的,因此直接在生产环境监控变得高效又可靠。通常我们需要监控两种特性:性能和可用性。

使用工具持续获取用户数据,或者使用log持续获取性能信息。这有助于监控产品部署到生产环境后是如何正确运作的。快速启用一个功能,在生产环境实时监控验证其业务价值,获取到有效且快速的用户反馈,加之拥有持续部署的能力,我们能够在出现问题的时候快速做出反应,从而使得我们的产品更加可靠。

这里实际上融入了《QA in Production》的理念。现如今,已经有很多工具和方法支持在生产环境做测试了。篇幅太长,这里就不做详细阐述了,请参考原文。

到这里,再来回顾一下,我们的实践是否真的卓有成效。

  1. 用BDD的方式定义用户需求、编写测试,有益于不同角色之间的一致理解和共同协作。
  2. 自动化测试解决了频繁部署所带来的挑战,同时保证产品的整体功能持续得到回归和验证。
  3. 在线监控能有效地验证不确定需求,通过生产数据分析和预警问题的发生,并且快速获取用户反馈从而及时调整。除此之外,这一点也充分体现了Dev、QA和Ops的协作,像监控等原本只能Ops做的事,现在Dev或QA一样可以做。

写在最后

测试是一种活动,曾经我们通过它来验证产品是否达到上线标准。现在DevOps模式下,我们需要在各个阶段不断地执行测试活动,以达到产品质量的持续改进。

而QA(Tester)仅仅是一种较多进行测试活动的角色。敏捷一直强调“团队为质量负责”,测试不再是QA(Tester)的专属。DevOps模式更是对测试、尤其是自动化测试提出了更高的要求,也对QA的编码能力提出了极大的挑战。作为团队成员,每个人都有责任了解开发流程、提高测试技能,把好测试这一关。但是,测试活动作为QA(Tester)的主要职责之一,提高自动化测试技能,就是当下每个QA(Tester)最为紧急且重要的事情了。

在此向大家推荐一个交流群:672899761,里面有各种的学习资料,如果你不想浪费时间再寻找资料上,你可以加群领取资料啦!

基于知识图谱的智能决策系统 作者:禅与计算机程序设计艺术 1.简介 知识图谱(Knowledge Graph)最早由美国斯坦福大学的Jure Sifne等人于2013年提出,它是一个用于存储、整理和推理复杂多变的网络结构信息的数据模型。它的基本特征是每个事实都有一个统一的标识符ID,并且可以以图形的方式展示各种关系及其边缘。因此, 阅读详情

相关推荐

3GPP LTE/NR信道模型

CDL(Clustered Delay Line):簇延迟线模型,包括CDL-A、CDL-B、CDL-C三个用于NLOS的信道模型,以及CDL-D、CDL-E两个用于LOS的信道模型。

LinkEverything的博客 1万+

DEVOPS的基本体系与流程

大体上,我们可以将devops的体系划分为三块:代码、配置与部署环境代码良好的代码管理准则是:开发用分支,部署用TAG

root 1万+

PyTorch深度学习实战(6)——神经网络性能优化技术

神经网络性能优化技术是指通过改进神经网络的结构、参数初始化、正则化和训练过程等方面来提高其性能和泛化能力的方法。优化技术的选择和调试需要根据具体问题进行,通过不断实验和调整,找到最适合网络的优化策略。本节首先训练了一个简单的全连接网络,然后在此基础上介绍了简单有效的神经网络性能提升技巧。

盼小辉丶的博客 1万+

DevOps 学习笔记(一) | DevOps 简介及环境搭建

本次实验需要三台服务器和步骤需要安装。

YonminMa的博客 2392

使用 WSL 在 Windows 上安装 Linux

开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。

隔壁老瓦的专栏 2872

基于GPUMD的NEP机器学习势函数—二氧化硅融化

势函数作为分子动力学模拟中最终要的输入之一,其准确性很大程度上决定了模拟结果的可靠性,传统经验势无法很好地描述所有现象,而能进行准确预测的基于第一性原理计算的分子动力学计算量非常大,无法进行大体系长时间的计算。因此最近兴起的机器学习势函数正是解决这一问题的有效工具,它可以通过对第一性原理的计算结果进行学习,通过这个方法得到的势函数具有接近第一性原理的计算精度。这里介绍一种基于GPUMD的NEP机器学习方法。

Rockyoung 5320

【DevOps研发管理方案】六:测试管理 - 测试流程

在整个开发过程中,测试类型按照先后顺序主要分为单元测试、集成测试、系统测试及验收测试。

夢的点滴的博客 1299

ESP32-C3模组上跑通OTA升级(3)

ESP32-C3模组上跑通OTA升级(3)

phmatthaus的专栏 1353

DevOps理念下的软件测试发展

提到DevOps这个词,大家马上就会想到开发(Dev)和运维(Ops)一体化。是的,DevOps理念带给我们的直观感受就是开发团队的持续交付以及运维团队的持续集成。采用敏捷的工作方式来挺高产品发布效率。那么是不是在DevOps的理念下,传统的软件测试环节已经被弱化了呢?答案是否定的。相反,在DevOps实践中,产品测试的效率提升往往决定了组织的DevOps实践是否获得成功的必要条件。下面我们来看看D

软通大学企业博客 1978

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 551

目标检测: yolo26在RK3588上部署

YOLO26发布:端到端目标检测新突破 摘要:Ultralytics最新发布的YOLO26算法采用原生端到端设计,无需NMS后处理,显著提升推理效率。该模型基于三大核心原则: 简洁性:消除NMS步骤,实现直接预测 部署效率:简化集成流程,降低延迟 训练创新:引入MuSGD混合优化器,加速收敛 部署教程显示,YOLO26可适配RK3588等边缘设备,通过ONNX转换和RKNN工具链实现高效部署。其创新架构特别优化了分割、姿态估计等专业任务,标志着目标检测技术的重要革新。 (字数:149)

qianxun 1455

软件测试人员必须了解的DevOps

软件测试人员必须了解的DevOps前言什么是DevOps工作原则方法如何着手DevOps变更流程管理技巧挑战总结参考前言对很多软件测试人员而言,可能尚未接触到DevOps,本文的内容基于笔者日常学习,针对测试人员所记录的一些关键信息,算是给大家深入学习DevOps的一个引子。什么是DevOpsDevOps是开发(development)和运维(operations)的缩写。但对很多人来讲,可能就容...

zhusongziye的博客 1657

图像算法中的 Blob 分析

在计算机视觉中,Blob 可以理解为在图像中具有相似性质(如颜色、亮度等)的像素群体。Blob 通常用作基本单元,在图像分析和处理任务中能够提取出有意义的特征。

m0_44975814的博客 2484

如何利用测试自动化,实现 DevOps?

DevOps 框架本质上是利用文化,即团队共同的价值观和愿景,来促进业务、运营和开发团队之间的协作,以更快、更有效的方式创建、测试和部署软件。在这个过程中,测试的重要性不言而喻。如果企业要实现快速、一致地交付高质量的软件,那么,就应该在软件生命周期的早期对产品进行测试,以节省成本和时间。有什么比在 DevOps 中实现测试自动化更好的方法来实现这一目标呢?然而,当我们在实践 DevOps 时,往往会将注意力集中在 CI/CD 管道的关键元素上,比如代码存储库或 CI 服务器,但测试自动化却容易被忽略。

myh919的博客 141

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

基于GitLab+Jenkins的DevOps

Jenkins是Java语言开发的一款开源 CI/CD 软件,用于自动化各种任务,包括项目的拉取、项目构建、以及项目部署等功能。中文官网地址:https://www.jenkins.io/zh/首先开发人员代码提交到仓库;然后Jenkins 作为持续集成工具,使用 Git 工具到仓库拉取代码到集成服务器,再配合 JDK,Maven 等完成代码编译、测试、审查、打包等工作;最后Jenkins把生成的 jar 或 war 包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用;

小白的博客 1674

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

书单 | 测试人员必读的15本书 ——在你的软件测试工程师路上能帮到你很多!

软件测试发展了几十年,留下了不少经典的著作。 本篇文章是从我个人的角度推荐的15本测试人员必读书籍,主要推荐的依据更多的以开宗立派或者有提出方法或体系为主的书籍。而像一些测试工具操作相关的工具书没有考虑在里面,因为个人觉得相比工具书而言,前者的难度和含金量会更大。 当然,由于篇幅关系,还有很多好的书籍没有包含在里面,希望在未来有机会能推荐更多的书籍。 测试基础书籍 1.《软件测试》第2版 推荐理由:测试人员启蒙的经典书籍,对于测试的概念及测试类型等都有非常经典的阐述。建议初级测试从业者阅读。 2.《软件测

爱码小哥 3833

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大牛书单 | 腾讯运维大咖陪你过724

导读:读书,伴随技术人的一生。技术人通过读书增长见闻、精进技术,提升人生境界。7·24运维日即将到来,我们特别邀请该领域的腾讯技术大咖推荐曾经读过的好书佳作,以飨读者。推荐人介绍推荐人介...

腾讯技术工程 1456

DevOps到底是个什么鬼

比如,测试工程中先后逐渐发现了一些功能缺陷,那么开发人员大概率会将所有缺陷一同修复后再次让测试人员来测试,那么这样会导致测试人员在某一阶段是空闲的,这个空闲会直接拉长了整个产品上线的周期。DevOps存在的目的,就是要梳理整个开发、测试、运维生命周期,它最终的目标就是要让这个产品生命周期中的每一个阶段都能够高效协作、快速反馈、敏捷开发、持续集成、持续交付。一个产品从诞生到真正运行起来,会经过开发、测试、部署、运维等各个阶段,在这些阶段中会存在各种各样的问题,这些问题会影响产品最终运行的效率、效果、质量。

am_Linux的博客 278

DevOps的工程化

孙敬云 --Worktile高级系统架构师,WTC成员 1.研发的困境 互联网的环境 互联网这个环境比较特别,包括现在不只是互联网,就算是被互联网赋能的这些“互联网+”的企业也在改变,用户在发生变化,用户构成的群体在发生变化,群体造成场景的变化,场景营造新需求,需求养成新用户习惯,新用户习惯造就一批新用户,周而复始。我们一直在追赶用户,但从用户的角度来说,他一直都期望有一个好的产品和一个稳定的服...

柚橙论 598

【接口测试】Postman登录接口鉴权实战案例,跟着大牛通关...

在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态。接口测试过程中需要登录鉴权情况。例子:现在有个获取订单列表的接口,需要用户登录下才能获取到数据。针对这种接口的测试步骤基本可以分为:抓包->postman构造请求->完成测试。1、抓包使用任意的抓包工具,或者简单粗暴直接浏览器F12打开调试工具抓包。

m0_70102063的博客 1574

测试工程师月薪50k,要求原来是这样

目录 前言 【浙江杭州】阿里巴巴 【北京】万达 【湖北武汉】小米 ​ 【上海】银联智惠 【广东深圳】Shopee 技能储备 前言 前段时间,“人均国民收入超1万美元”的话题挂上热搜。 简单来说,就是中央财办副主任韩秀文表示,目前我国人均国民收入已经超过1万美元。 这新闻一出,网友纷纷吐槽: 为什么网友反应这么大? 今天,我们就通过拉勾上,薪资 50K 的测试工程师招聘要求,来看看测试开发自我成长,实现逆袭。 【浙江杭州】阿里巴巴 测试开发(面议) 岗位职..

weixin_67553250的博客 595

大牛告诉你,只有突破程序员思维,才不会沦为码农!

过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员,我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的,而他们中的佼佼者正是那...

clhq71932的博客 187

网易大牛详谈:2021年软件测试行业趋势分析和热门招聘方向

今天来聊一聊2021年软件测试行业的7大主流趋势。希望能解决一部分小伙伴心中的困惑。

程序员二黑 463

探索无尽可能性,在线自动化测试的未来!

在当前流行的DevOps流程中,我们经常听到"测试左移"和"测试右移"这两个概念。那么,在这个过程中,我们作为测试人员可以做些什么呢?在我的日常工作中,团队内部目前已经推行了编码规范的制定、代码质量的扫描、代码审计、线上自动化回归测试、线上巡检以及线上监控等工作。这并不意味着我亲自完成所有这些工作,有些任务我会负责推动,并找到合适的人员去执行。

myh919的博客 1156

python接口测试_测试大牛都会的接口测试+Python测开+Linux技能+Git命令合集!

预警⚠️ 前方高颜值免费送!不知道你在工作中有没有遇到过这样的场景:????Linux下查看端口占用命令你还记得吗?python容器数据操作你清楚吗?Devops要用了,各种必备技能你还不熟?接口调不同,排查思路不清楚?……以上这些,你以为通过“求一求人”、“百度搜一搜”,轻松解决?还是太年轻啊~最可怕的是,很多时候自己吭哧吭哧忙活半天的工作,同事轻轻松松一分钟就搞定了。你居然不知道有哪些...

weixin_39738152的博客 152

测试开发程序员工程师有哪些出路?“黑化“工程师的一定的加成作用......

测试开发程序员有哪些出路?测试开发程序员这一行,做得久了,大体上有 3 种出路: 1、技术大牛 2、技术管理、CTO 3、创业一条路走到黑的技术大牛先说说第一种:技术大牛。如果对技术研究非常深入,并且喜欢技术应用所带来的成就感,那么完全可以一条路走到黑,成为技术大牛。这类牛人可以在公司中担任要职,技术专家类岗位,同时可以靠知识付费,写作挣钱兴趣可以挣个财务自由,变成一个自由职业者。这方面的例子非常多,在自己的领域研究很多年,有很多干货输出极客专栏上的技术大牛,自己所处的公司光环也有一定的加成作用。如果目前仍

大佬云集技术答疑交流群:743262921(进群暗号:222) 315
上一篇: 性能测试————Loadrunner进阶
下一篇: selenium-IDE入门级使用
TestingGDR
博客等级 码龄8年 496粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值