自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(288)
  • 收藏
  • 关注

原创 测试工程师的成长,体现在2个地方

你好,我是刚哥。技术群小伙伴A觉得上班没时间学东西,如果工作时间12小时到14小时,如何学习?小伙伴B,测试过程中时刻充满了学习呀,工作中对自己需求的部分搞清楚,就涉及到很多知识点的学习呀,比如去了解开发咋实现的,然后你如何去测试。学习是为了成长,对于测试工程师来说,功利点,成长最直接的体现,就在2个地方,一是简历上的经历含金量很高,二是面试时的回答专业性很强,进而在跳槽时涨薪。(内部晋升...

2024-01-23 19:12:00 165

原创 解决“测试流程”问题的底层逻辑

你好,我是刚哥。这周技术群有3个讨论激烈的问题,①进到一个完全没有规则流程的新公司,怎么接手安排让自己尽可能舒服点?②需求一个接一个,测都测不过来,哪还有时间写用例?③如果一个需求开发测试1天内进行,你还有其他测试任务,会怎么安排?这3个问题本质上都是测试流程问题,解决的底层逻辑是建立自己的流程并灵活调整。我们先来分析下问题的关键点是什么?缺少时间。然后看看是为什么没有时间?第1个问题是因...

2024-01-23 19:11:00 238

原创 工作以后,换种方式学习

你好,我是刚哥。工作碎片化时间,理解,思考,总结,能够加速成长。在学校和在公司的学习方式,是不同的。在学校有大把时间,整段时间,可以充分进行学习。在公司,工作8小时内需要干活,工作8小时外精力有限,要么在上班时偷偷学习,要么在下班后痛苦学习,时间有限且碎片化。三八理论,一个普通成年人的一天分为“三个八”:八小时工作、八小时睡觉、八小时自由安排时间。八小时工作,看似大多数人是一样的,并无多...

2024-01-23 19:11:00 225

原创 接口自动化框架设计漫谈V1.0

你好,我是刚哥。针对“pytest搭建接口自动化框架”,谈谈对框架设计的当前认知。简约至上。选择pytest就是选择Python,Python的设计理念是Simple is better than complex,不能让初学者直接上手的框架设计,都是在反其道而行之。所谓具备编程思想的自动化框架,并不值得追求。原生用法。Beautiful is better than ugly,能不封装就不...

2024-01-23 19:10:00 168

原创 《高效学习法》

如果需要PDF,请在公众号【测试开发刚哥】回复“读书笔记”4个字获取

2024-01-23 19:08:00 78

原创 接口自动化框架选型

你好,我是刚哥。背景:公司计划开展接口自动化测试,接口工具Postman、JMeter等不好管理用例,资源有限也一时半会搭不了测试平台,先用测试框架把自动化测试搞起来。选择技术栈。Python、Java、Go三选一。能选Python就选Python。只会Java或只会Go才选Java Go。Python语法简单,上手容易,有一整套成熟的接口自动化测试方案,社区完善且持续迭代更新。选择编写方...

2023-12-28 19:43:00 317

原创 事件时间日志,精准工作之道

你好,我是刚哥。事件时间日志,是在李笑来《把时间当做朋友》中看到的,来源于柳比歇夫的日志,Event-time Log。事件日志只记录事件的名称,而事件时间日志还记录了时间,比如:给斯拉瓦写信——二小时四十五分。李笑来在书中谈到了事件时间日志的好处:“它会使你对时间的感觉越来越精确。可以调整我对时间的感觉,在估算任何任务的工作量的时候,都更容易确定真正现实可行的目标。相对准确的估算又使得目标...

2023-12-27 13:51:00 388

原创 关键字驱动框架

关键字驱动框架tep简介tep是一款帮你轻松编写pytest的测试框架。Try Easy Pytest!快速入门安装pip install tep验证安装成功:tep -VCurrent Version: V2.2.0 ____o__ __o____ o__ __o__/_ o__ __o / \ / \ <| v <...

2023-12-05 00:26:00 61

原创 电子书大改版

2023/11/26 电子书以“Java”为本,将Python等相关文章统一转移至“更多语言”目录第一大板块,Java语言相关章节:编程语言、设计模式、测试工具、测试框架、性能测试、测试环境、单元测试、白盒测试、接口测试、界面测试、测试报告、开发框架、消息队列、算法挑战、测试体系、技术知识。第二大板块,更多语言相关标签:开源框架、开源平台、Python、pytest、Django、Fl...

2023-11-26 00:19:00 69

原创 基于HAR包的流量录制回放

什么是HAR包?HAR(HTTP Archive format),是一种JSON格式的存档格式文件,通用扩展名为 .har。HAR包是JSON格式的,打开后,重点关注entries里面的request和response,包含了请求和响应信息。流量录制怎么获取HAR包呢?可以网上搜索方法,浏览器F12、抓包工具(Charles、Proxyman等)都可以将HTTP请求导出为HAR包。生...

2023-11-18 08:13:00 137

原创 开发指南,自研关键字驱动框架

开发指南环境准备安装Python,3.8以上版本安装poetry包管理工具,pip install poetry克隆代码,git clone https://github.com/dongfanger/tep准备就绪,撸起袖子干!目录结构dist poetry build生成目标文件,用于发布pypitep 核心代码tests 测试代码uti...

2023-11-10 23:20:00 62

原创 【原创】爆肝23页教程,自研关键字驱动框架

tep关键字驱动框架教程tep简介tep是Try Easy Pytest的首字母缩写,关键字驱动框架,专注于接口自动化测试,单个文件即可完成用例编写。设计理念✔️稳定:基于成熟框架pytest,天生强大✔️规范:RobotFramework风格,井井有条✔️统一:关键字命名与JMeter组件一致,一知万用✔️原生:关键字用法保留Python原生定义,轻车熟路✔️兼容:分层机制保...

2023-11-10 09:27:00 76

原创 JSON转SQL小工具源码分享

将key-value的JSON数据,转换为insert的SQL语句,进而实现网页数据存储到数据库。解析MySQL建表语句,找出”字符串“字段遍历JSON结构,拼接为SQL语句1、解析建表语句之所以要解析建表语句,是因为在拼接SQL时,”字符串“字段没有双引号,需要手动加上。第一步就是通过JDBC来解析表字段,根据字段类型,筛选出”字符串“字段。public static M...

2023-11-08 04:29:00 360

原创 pytestx容器化执行引擎

系统架构前端、后端、pytest均以Docker容器运行服务,单独的容器化执行引擎,项目环境隔离,即用即取,用完即齐,简单,高效。前端容器:页面交互,请求后端,展示HTML报告后端容器:接收前端请求,启动任务,构建镜像,触发运行pytest,挂载HTML报告pytest容器:拉取项目代码,指定目录执行,生成HTML报告说明:构建镜像目前是在宿主机启动后端服务来执行d...

2023-08-25 21:03:00 853

原创 pytestx重新定义接口框架设计

概览脚手架:目录:用例代码:"""测试登录到下单流程,需要先启动后端服务"""test_data = { "查询SKU": { "skuName": "电子书" }, "添加购物车": { "skuId": 123, "skuNum": 2 }, "下单": { "orde...

2023-08-23 19:31:00 642

原创 对IoC容器和Bean的学习笔记

What We Mean by "Spring"The term "Spring" means different things in different contexts. It can be used to refer to the Spring Framework project itself, which is where it all started. Over time, othe...

2023-08-05 22:27:00 144

原创 代码评审,揭示黑盒背后的真相

一、引言黑盒测试犹如案发现场,只能根据表象推断事件经过。代码评审即深入调查,挖掘蛛丝马迹的线索,揭示背后的真相。"They think I am hiding in the shadows, but I am the shadows."二、黑盒测试与白盒测试的区别黑盒测试存在一些局限性:可能无法发现与系统实现相关的问题可能无法覆盖所有的测试场景测试效率较低,比如准...

2023-08-03 21:30:00 120

原创 聚焦于任务调度的测试平台pytestx

设计理念聚焦于任务调度,接口自动化80%本地编写,20%交由平台管理。如果使用pytest做接口自动化,那么个人认为最好的编写工具是PyCharm,任何低代码测试平台都无法取代。当然不会代码,或者不使用pytest,那低代码测试平台,或者yaml,甚至excel写自动化用例,都是可以接受的。而在使用pytest这个特定场景里面,要做平台化,平台的功能就需要仔细斟酌。既然编写用例最好使用PyC...

2023-07-20 09:35:00 168

原创 SpringBoot官方笔记8其他

Container ImagesFROM eclipse-temurin:17-jre as builderWORKDIR applicationARG JAR_FILE=target/*.jarCOPY ${JAR_FILE} application.jarRUN java -Djarmode=layertools -jar application.jar extractFROM...

2023-07-17 22:49:00 1067

原创 SpringBoot官方笔记5Data

Spring Boot integrates with a number of data technologies, both SQL and NoSQL.SQL DatabasesSpring Dataprovides an additional level of functionality: creatingRepositoryimplementations directly fr...

2023-07-17 22:48:00 1039

原创 SpringBoot官方笔记6消息

The Spring Framework provides extensive support for integrating with messaging systems, from simplified use of the JMS API usingJmsTemplateto a complete infrastructure to receive messages asynchron...

2023-07-17 22:48:00 1029

原创 SpringBoot官方笔记7IO

CachingSpring Boot auto-configures the cache infrastructure as long as caching support is enabled by using [email protected] org.springframework.cache.annotation.Cacheable;impor...

2023-07-17 22:48:00 943

原创 SpringBoot官方笔记4Web

Most web applications use thespring-boot-starter-webmodule to get up and running quickly. You can also choose to build reactive web applications by using thespring-boot-starter-webfluxmodule.Ser...

2023-07-17 22:47:00 964

原创 SpringBoot官方笔记3核心

SpringApplicationBy default,INFOlogging messages are shown, including some relevant startup details, such as the user that launched the application.Lazy InitializationWhen lazy initialization is...

2023-07-17 22:47:00 1000

原创 SpringBoot官方笔记2使用

Build Systems选择Maven or Gradle,而不要Ant(not particularly well supported)In practice, you do not need to provide a version for any of these dependencies (spring-boot-dependencies) in your build config...

2023-07-12 10:10:00 178

原创 SpringBoot官方教程1入门

Spring Boot helps you to create stand-alone, production-grade Spring-based applications that you can run. Most Spring Boot applications need very little Spring configuration.Build Tool:MavenServlet...

2023-07-11 12:42:00 165

原创 Java官方笔记14流

Processing Data in MemoryThe Stream API is probably the second most important feature added to Java SE 8, after the lambda expressions. In a nutshell, the Stream API is about providing an implementa...

2023-07-07 21:53:00 186

原创 Java官方笔记13集合

Storing DataThe Collections Framework is the most widely used API of the JDK.集合不是数据类型,它是JDK的API,可以用来存储数据等,相当于数据结构。the Collections Framework is a set of interfaces that models different way of st...

2023-07-01 22:44:00 453

原创 Java官方笔记12异常

ExceptionDefinition: Anexceptionis an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.thechecked exception比如,java.io.FileNotFo...

2023-06-19 20:15:00 537 1

原创 Java官方笔记11包

PackagesDefinition: A package is a grouping of related types providing access protection and name space management. Note that types refers to classes, interfaces, enumerations, and annotation types....

2023-06-17 16:12:00 287

原创 Java官方笔记10注解

注解注解的作用:Information for the compiler — Annotations can be used by the compiler to detect errors or suppress warnings.Compile-time and deployment-time processing — Software tools can process annot...

2023-06-17 15:07:00 297

原创 Java官方笔记9Lambda表达式

Lambda Expression有了Lambda Expression,就不用再写anonymous classes。写Lambda,首先要找到它的类型。There is a restriction on the type of a lambda expression: it has to be a functional interface.函数接口,只有1个抽象方法的接口:@Fun...

2023-06-17 14:06:00 470

原创 Java官方笔记8泛型

泛型为什么需要泛型?generics enable types (classes and interfaces) to be parameters when defining classes, interfaces and methods.说白了就像Python动态语言的变量,是动态的,可以指向任意类型。泛型有个好处是不需要类型转换:List list = new ArrayList...

2023-06-16 11:08:00 631

原创 Java官方笔记7接口

接口接口只能包含:constants, method signatures(abstract), default methods, static methods, and nested types方法体只存在于:default methods and static methods接口不能实例化,只能被类实现,或者被其他接口继承(接口可以多继承)。定义接口:public interfac...

2023-06-05 23:25:00 202

原创 Java官方笔记6继承

继承Java只有单继承,最顶级的父类是Object。子类会继承父类的fields和methods,而不会继承constructors,因为constructors不属于methods,但是子类可以通过super调用父类的constructor。子类继承父类的范围是:public、protected、package-private隐式转换,子类转父类(只有1个爸爸):Object obj...

2023-06-02 23:31:00 205

原创 Java官方笔记5数字和字符串

NumbersNumber的子类:另外还有BigDecimal和BigInteger,用于高精度计算,AtomicInteger和AtomicLong用于多线程应用。我们有时候需要用包装类而非基本数据类型,理由如下:方法入参类型为Object,只能传入对象使用包装类提供的常量,比如MIN_VALUE和MAX_VALUE使用包装类的方法来做类型转换formatim...

2023-06-02 14:09:00 230

原创 Java官方笔记4类和对象

创建类定义类Bicycle:public class Bicycle { // the Bicycle class has // three fields public int cadence; public int gear; public int speed; // the Bicycle class has // one co...

2023-06-02 11:17:00 553

原创 一次全量数据对比工具发现问题的过程与思考

如果没有这次全量数据对比工具,那么也许这个历史问题会继续隐藏着,直到发生线上事故才暴露出来,毕竟人工抽样验证发现的概率只有5.8%。背景是发票系统有18500个电子发票订单被财务系统驳回了,驳回原因是财务系统上线了全电发票需求,上线后电子发票枚举被误删,无法处理电子发票。需要我们发票系统对这18500电子发票订单,重新触发提票,让发票能正常开出来。也就是,我们需要刷数。刷数是个高危操作,极易引...

2023-05-23 15:23:00 214

原创 Java官方笔记3Java语言基础

变量Instance Variables (Non-Static Fields) 实例变量(非静态变量)一个类可以创造多个实例,实例中的变量叫做实例变量,相互独立。Class Variables (Static Fields) 类变量(静态变量)对比来看,类变量就是类的变量,一个类只能有一份,不能复制,使用static关键字来定义类变量。代码:public class MyVar {...

2023-03-28 16:52:00 288

原创 Java官方笔记2面向对象编程基本概念

对象Object对象有2个特征:状态state和行为behavior。我们可以用真实世界的对象来做类比,这样有助于理解面向对象编程,比如狗的状态(名字、颜色、品种)和行为(叫、抓、摇尾巴),自行车的状态(当前档位、当前踏板节奏、当前速度)和行为(切换档位、切换踏板节奏、踩刹车)。软件对象也是由状态和行为组成:状态,在软件对象中,叫做字段fields,或变量variables。行为,在软...

2023-03-09 08:47:00 82

空空如也

空空如也

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

TA关注的人

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