自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BearStarX的博客

用博客记录爬坑的足迹,最终实现成为测试开发的目标!

  • 博客(201)
  • 收藏
  • 关注

原创 CICD学习笔记(一):CICD介绍

一、CICDCICD实现了从代码开发、代码编译、部署、测试、发布上线自动化的一套自动化构建的流程CI即持续集成(Continuous Integration),它实现代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果进行反馈。CD包含两个含义: 持续交付(Continuous Delivery),它实现部署到生产环境,给用户进行使用 持续部署(Continuous Deployment),它实现部署到生产环境 二、项目发布流程1、传统项目发布流程首先我们来

2021-02-27 19:21:29 6396

原创 软件测试基础 (三): 系统测试

Hello!大家好,我是BugBear,一个专注于分享软件测试干货的测试开发。我们已经学习了单元测试和集成测试,今天我们来学习系统测试。一、系统测试定义系统测试(System Testing),是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然...

2021-01-25 21:41:54 4373

原创 软件测试基础 (二): 集成测试

Hello!大家好,我是BugBear,一个专注于分享软件测试干货的测试开发。上一篇文章我们讲了单元测试相关知识,今天我们来聊聊集成测试的相关内容。一、什么是集成测试?我们通过工厂组装手机的例子明白了单元测试,每个电子元件或者零部件就是一个单元测试,那么将这些电子元件或者零部件组装起来形成一个功能模块组件,例如喇叭,听筒,麦克,FPC,按键板,摄像头,LCD等。针对这些功能模块组件进行测试,就类比于我们所知的集成测试。集成测试的定义如下:集成测试也叫组装测试、联合测试、子系统测试...

2021-01-11 21:58:44 2971

原创 软件测试基础 (一): 单元测试

Hello!大家好,我是BugBear,一个专注于分享软件测试干货的测试开发。对于软件测试,我们先按照开发阶段来进行划分,将软件测试分为单元测试、集成测试、系统测试、验收测试,下面我们来聊聊单元测试。1、什么是单元测试?在正式阐述什么是单元测试之前,我先给大家分享一个工厂组装手机的例子。手机组装流水线按照图纸将各个电子元件组装焊接为各个模块组件(如喇叭,听筒,麦克,FPC,按键板,摄像头,LCD等),再将各个模块组件组装成一部完整的手机。如果一起顺利,在给手机安装系统后就可以正常使用

2020-12-31 23:43:45 766

原创 (一) DRF depth=1的情况下对象的创建与更新问题

当序列化类MATE中定义了depth时,这个序列化类中引用字段(外键)则自动变为只读,所以进行更新或者创建操作的时候不能使用此序列化类具体方法是这样的分别定义两个序列化类,判断request的方法并选择,直接上代码:serializers.py# ==== 一旦有了depth,引用的字段就变为只读了 ====class GetSetSerializer(serializers.ModelSerializer): class Meta: model = Set

2020-10-06 22:08:59 734

原创 【译】Python rpyc官方文档

目录第一部分: 经典 RPyC 简介 1、运行一个服务器 2、运行一个客户端 3、modules 的命名空间 4、builtins 的命名空间 5、eval 和 execute 方法 6、teleport 方法 第二部分: 网络参考和异常 1. 设置 2. 网络引用(Netrefs) 3. 异常 第三部分: 服务和新形式的 RPyC 1. 访问策略 2. 共享服务实例 3. 向服务传入参数 4. 但是请等一下, 这还有更多的! 5. 服务的

2020-07-27 17:11:30 881

原创 TestNG中文文档(05) -- 测试方法、测试类和测试组

一、测试方法测试方法用@Test注释。除非您在testng.xml中将allow-return-values设置为true,否则将忽略用@Test注释的恰巧返回值的方法:<suite allow-return-values="true"> or <test allow-return-values="true">二、测试组TestNG 允许你将测试方法归类为不同的组。不仅仅是可以声明某个方法属于某个组,而且还可以让组包含其他的组。这样TestNG可以调用或者

2020-07-10 17:42:09 367

原创 TestNG中文文档(04) -- 运行TestNG

一、运行TestNGTestNG可以使用多种方式调用:命令行 ant Eclipse IntelliJ's IDEA本节将只介绍如何从命令行运行TestNG。如果您对其他方式感兴趣,那么就点击上面的链接查看更多信息。假设TestNG已经在你的类路径中,最简单的调用方式如下java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]你至少要指定一个XML文件,它描述了你要运行的TestNG suite。此外,还有

2020-07-10 15:20:43 251

原创 TestNG中文文档(03) -- test.xml

一、testng.xml调用TestNG有多种方式:使用testng.xml文件 使用ant 通过命令行本节对 testng.xml 的格式进行说明(你会在下文找到关于ant和命令行的相关文档)。目前给testng.xml所使用的DTD可以在主页: http://testng.org/testng-1.0.dtd 上找到(考虑到您能更方便,可以浏览 HTML版)。下面是个 testng.xml 文件的例子:<!DOCTYPE suite SYSTEM "http://tes

2020-07-10 14:51:16 280

原创 TestNG中文文档(02) -- Annotation

一、Annotations如下就是在TestNG中可以使用的annotation的速查预览,并且其中给出了属性: 标注: @BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeGroups @AfterGroups @BeforeClass @AfterClass @BeforeMethod @AfterMethod TestNG 类的配置信息:

2020-07-10 14:32:59 249

原创 TestNG中文文档(01) -- 简介

一、简介TestNG 是一个测试框架,它被设计为用来简化广泛的设计需求,从单元测试 (单独测试一个类) 到集成测试 (测试由多个类、报甚至外部框架,例如应用程序服务器,所组成的系统).编写一个测试通常分为三步:编写测试业务逻辑,并且在你的代码中插入 TestNG annotations 。 在 testng.xml 或 build.xml 添加你的测试信息。例如类名,希望运行的组等等 运行TestNG.你可以在欢迎 页面上找到一个快速入门的例子。文档中会使用到如下的概念:一套测试(su

2020-07-10 14:03:45 297

原创 刷题笔记 (三) : 复杂度

1、红黑树的插入复杂度为【O(1)】解析:红黑树就是一种平衡的二叉查找树,查找复杂度等同于二叉查找树2、算法的时间取决于【问题的规模】与【待处理数据的初态】3、数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构常用的线性结构有:线性表,栈,队列,双队列,数组,串。4、非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。如树,表,***数组等5、抽象数据类型与计算机内部表示和实现无关解析:抽象数据类型的定义取决于它的一组逻辑特性,而与

2020-06-17 09:49:39 412

原创 Python装饰器传送门

Python 函数装饰器传送门1:https://www.runoob.com/w3cnote/python-func-decorators.htmlPython 函数装饰器传送门2:https://www.cnblogs.com/cicaday/p/python-decorator.htmlPython装饰器之functools.wraps的作用传送门:https://www.cnblo...

2020-04-15 16:00:47 223

原创 刷题笔记 (二) :排序

1、冒泡排序:将最大值放到末尾,一直缩小范围到第一位2、排序算法的稳定性是指经过排序之后,能使值相同的数据保持原顺序中的相对位置不变解析:稳定性,就是指,不乱排序,很有规矩,能按照排序的算法执行,相异的数据排序正确,相同的数据之间的前后关系也能不会错位3、常见的内部排序有:(并非所有排序都必须关键字比较)插入排序(直接插入排序):将待排序的数字逐渐插入到已排好序的元素序列中,需要...

2020-04-13 14:36:38 837

原创 刷题笔记 (一) : 查找

1、二分查找的前提是有序2、二分查找的最坏时间复杂度为O(log n)实例:有序表中有1000个元素,则用二分查找查找元素X最多需要比较10次解析:二分查找的最坏时间复杂度为O(log n),把n等于1000带入得到,log1000>9,<10,取整那么至少103、用概率查找改进查找效率,是经过多次查找以后使得查找次数越多的元素查找速度越快解析:查找次数多的意思是多次查找中...

2020-03-28 10:58:29 713

转载 Docker学习 (十一) : Dockerfile RUN、CMD、ENTRYPOINT命令区别(转载)

Dockerfile中RUN,CMD和ENTRYPOINT都能够用于执行命令,下面是三者的主要用途:RUN命令执行命令并创建新的镜像层,通常用于安装软件包 CMD命令设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换 ENTRYPOINT配置容器启动时的执行命令(不会被忽略,一定会被执行,即使运行 docker run时指定了其他命令...

2020-03-23 17:36:52 341

原创 Docker使用技巧总结(持续更新...)

一、MAC如何进入Docker虚拟机常在mac上用docker的人应该知道,和Linux不同,在mac上用docker会在mac上启动一个虚拟机运行docker,因此volume创建的directory并不在你的machine上,而是在虚拟机中。因为当需要查看详细的具体信息时就必须进入Docker虚拟机当中方法:执行如下命令即可登录到Docker虚拟机当中screen ~/L...

2020-03-22 11:11:49 605 2

原创 Docker常用命令汇总

一、镜像管理常用命令类别 参数 说明 命令 docker image ls 列出当前镜像信息 docker image ls docker image build 从Dockerfile中创建镜像 docker image history 查看镜像的历史层信息 docker image history &l...

2020-03-20 16:11:01 323

原创 Kubernetes核心组件篇 (五) : 核心组件Kubelet

一、kubelet简介在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管...

2020-03-19 11:33:55 619

原创 Kubernetes核心组件篇 (四) : 核心组件Controller Manager

一、Controller Manager简介Controller Manager由kube-controller-manager和cloud-controller-manager组成Controller Manager是Kubernetes的大脑,通过API Server监控整个集群的状态,确保符合预期状态Controller Manager作为集群内部的管理控制中心,负责集群内的No...

2020-03-17 21:20:12 426

原创 Kubernetes核心组件篇 (三) : 核心组件Kube-Scheduler

一、Scheduler简介Scheduler负责Pod的生命周期中的后半部分,即Pod的调度。在整个系统中起"承上启下"作用承上:负责通过api server查询未分配node的pod,接收Controller Manager创建的新的Pod,根据调度策略为其选择一个合适的Node,通过通过RC/Deployment/Daemonset/Job完成pod的调度;启下:Node上的kub...

2020-03-17 18:06:01 617

原创 Kubernetes核心组件篇 (二) : 核心组件Kube-ApiServer

一、Kube-ApiServer简介Kube-ApiServer是etcd的唯一访问和操作入口,ApiServer对外和对内都提供了一套统一的REST API,用户可以通过kubeclt命令请求ApiServer进行操作,而Kubernetes内部组件都是通过一种watch机制去监控API Server中的资源变化,然后对其做一些相应的操作。二、Kube-ApiServer作用1、提供...

2020-03-17 13:07:47 829

原创 Kubernetes核心组件篇 (一) : Kubernetes核心组件组成

一、Kubernetes架构图可以看到Kubernetes是由Master节点与Node节点组成,在Master节点当中包含etcd高可用数据库、APIServer、Scheduler以及Controller Manager,在Node节点上一般包含运行着守护进程Kubelet以及Docker,我们在Kubernetes上创建的应用其实都是在Node节点上面运行的,Master节点是调度...

2020-03-17 11:01:03 1493

原创 Kubernetes入门篇 (七) : Kubernetes核心组件与通信端口

一、Kubernetes核心组件下图是Kubernetes架构图Kubernetes主要由以下几个核心组件组成:1、etcd 保存了整个集群的状态2、apiserver 提供了资源操作的唯一入口。并提供认证、授权、访问控制、API注册和发现等机制3、controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等4、scheduler 负责资...

2020-03-15 12:40:06 1115

原创 Kubernetes入门篇 (六) : Kubernetes设计理念

关于Kubernetes设计理念,请直接查阅相关文档传送门:https://www.kubernetes.org.cn/kubernetes%e8%ae%be%e8%ae%a1%e7%90%86%e5%bf%b5

2020-03-15 10:36:10 324

原创 Kubernetes入门篇 (五) : Pod生命周期与创建过程

在上一节当中我们利用yaml文件创建了资源对象Pod,这节讲解一下Pod的生命周期与创建过程一、Pod生命周期所谓的pod生命周期就是说pod这个资源对象从开始创建到结束整个的一个流程,在流程当中会经历多个阶段Pod 的status属性是一个PodStatus对象,拥有一个phase字段。它简单描述了 Pod 在其生命周期的阶段阶段 说明 Pending ...

2020-03-15 10:33:05 945

原创 Kubernetes入门篇 (四) : 通过yaml创建资源对象

一、介绍yaml文件可以在Kubernetes当中批量创建资源对象,Kubernetes提供了example实例可供参考,链接如下https://github.com/kubernetes/examples如下是guestbook/frontend-service.yaml文件内容apiVersion: v1kind: Servicemetadata: name: fro...

2020-03-14 18:07:43 443

原创 Kubernetes入门篇 (三) : kubectl常用运维命令应用

一、kubectl命令行语法kubectl [command] [TYPE] [NAME] [flags]参数 说明 常用 command 一般就是一些子命令,去操作kubernetes集群对象的一些命令 create delete get describe apply TYPE 资源对象的类型,严格区分大小写,可以写成单数形式也可以写成复数...

2020-03-14 16:37:23 963

原创 Kubenetes虚拟机搭建 (四) : Kubernetes-Dashboard平台部署

在之前的章节中我们已经实现了Kubernetes的搭建工作,本节讲解的是搭建Dashboard平台,是的Kubernetes管理平台化简单的说,K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态。K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它。在部署Dashboard时需要注意与Kubelet、Kubeadm、Kub...

2020-03-14 02:12:39 834

原创 Kubenetes虚拟机搭建 (三) : Node节点注册配置

上一节我们已经将Master节点相关配置已经准备就绪,这节我们主要是针对Node节点进行注册以及相关配置,步骤如下1、Node1节点注册配置,使用Master节点网络初始化后生成的token命令就行注册kubeadm join 192.168.0.107:6443 --token wafacw.9ggzzmvv51gdex5s \ --discovery-token-ca-cer...

2020-03-14 01:08:01 681

原创 Kubenetes虚拟机搭建 (二) : Master节点专属配置

在进行了Master节点以及Node节点整体配置之后,接下来我们需要在Master节点当中进行专属配置,配置步骤如下1、初始化网络Master节点初始化网络,主要是设置以下配置:指定kubernetes版本 指定Master节点的IP 创建Pod分配网段kubeadm init --kubernetes-version=v1.16.1 --apiserver-advertise...

2020-03-13 21:53:43 391

原创 Kubernetes虚拟机搭建 (一) : Master节点与Node节点整体配置

最近开始在学习利用虚拟机搭建Kubenetes,记录一下搭建步骤,方便以后参考一、节点配置利用虚拟机搭建Kubenetes,主要是需要搭建master节点和node节点,配置如下:节点 CPU 内存 网络1 网络2 IP地址 主机域名 Master节点 2核 2G 桥接wifi 主机模式 192.168.0.107...

2020-03-13 18:00:28 2562

原创 Linux shell sed 命令详解

详细的sed命令详解,请参考https://my.oschina.net/u/3908182/blog/1921761一、sed命令工作机制:每次读取一行文本至“模式空间(pattern space)”中,在模式空间中完成处理;将处理结果输出至标准输出设备;语法:sed [OPTION]... {script} [input-file]...参数 说明 -r 支持扩...

2020-03-02 16:03:27 2574

转载 (转载)shell脚本中的 EOF 是什么意思?

EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,你可以用EEE,MAMA等等其他的名字都可以。EOF在这里通俗讲就是一个标记,他用来标记一段文字(一般都是多行的,省得编码麻烦,用"<<"加上一个标记就可以把一大段代码存入到一个变量中去了)$a=<< “EOF” 的意思就是说:下一行开始,直到遇见“EO...

2020-03-02 14:34:50 1313

原创 Kubernetes入门篇(二):Kubernetes资源对象

一、资源对象Pod1、Pod概述Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的,Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务2、Pod组成介绍上图可以看到Pod的组成部分,每个Pod都会存在一个Pause根容器,是每一个Pod都会去运行的,container即为应用程序...

2020-02-29 15:59:55 602

原创 Kubernetes入门篇(一):Kubernetes概述

一、Kubernetes概述kubernetes是Google开源的容器集群管理系统,是容器编排调度引擎,它构建在Docker技术之上,为跨主机的容器化的应用提供资源调度,服务发现、高可用管理和弹性伸缩等一整套功能,它提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。它的目标不仅仅是一个编排系统,而是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,Kubernetes可以...

2020-02-29 10:03:31 383

原创 Docker学习(十):Docker Compose

一、Docker Compose介绍1、Compose简介Docker Compose是Docker官方的编排工具,可以让用户通过编写一个简单的模板文件,快递的创建和管理基于Docker容器的应用集群,负责实现对Docker容器集群进行快速编排。我们知道使用一个Dockerfile模板文件,可以让用户很方便地定义一个单独的应用容器。然而在日常工作中,经常会碰到需要多个容器相互配合来完成...

2020-02-22 21:38:21 777

原创 Docker学习(九):端口映射与容器互联

一、Docker网络机制Docker提供了两个很方便的功能来满足服务访问的基本需求:1、允许映射容器内应用的服务端口到本地宿主主机2、互联机制实现多个容器间通过容器名来快速访问二、端口映射实现访问容器1、从外部访问容器应用要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射当使用-P标记时,Docker会随机映射一个49000 ~ 49900的端口到内部容器开放...

2020-02-21 17:39:12 552

原创 Docker学习(八):Docker数据管理

一、Docker数据管理介绍生产环境中使用Docker的过程中,需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作容器中管理数据主要有两种方式:1、数据卷:容器内数据直接映射到本地主机环境2、数据卷容器:使用特定容器维护数据卷二、数据卷数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,其特性包含可以在容器之间共享...

2020-02-21 16:29:56 262

原创 【Docker实例总结】基于Dockerfile+DockerCompose搭建多容器Locust-Master-Slave压测环境

一、搭建环境背景最近在利用locust编写压测框架,主要用于模拟公司终端的TcpClient向服务端发送注册报文建立长连接,然后每30s发送一次心跳报文用于维持长连接存在,压测框架搭好之后直接在公司电脑上面进行本地化master-slave压测。开发leader的要求是能够模拟10w个长连接,但是我只能实现1w个长连接的建立和维持。所以这个时候就需要使用到容器技术来解决这个问题,通过docke...

2020-02-19 21:24:19 1068

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除