博客园 - cfYu
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=35539
2021-07-21T10:11:14Z
cfYu
https://www.cnblogs.com/cfYu/
feed.cnblogs.com
https://www.cnblogs.com/cfYu/p/15040793.html
关于HttpRunner3获取IPV4和IPV6地址的bug解析 - cfYu
起因 在使用HttpRunner3进行接口测试,原本请求测试环境的接口,脚本是通过了的。后来因为要获取代码覆盖率,于是在本地部署了服务,使用HttpRunner直接请求本地服务进行接口测试。但是,一模一样的脚本,请求本地服务总是提示失败 失败现象 发现过程 找到失败提示代码的具体位置 在失败之前将r
2021-07-21T10:06:00Z
2021-07-21T10:06:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】起因 在使用HttpRunner3进行接口测试,原本请求测试环境的接口,脚本是通过了的。后来因为要获取代码覆盖率,于是在本地部署了服务,使用HttpRunner直接请求本地服务进行接口测试。但是,一模一样的脚本,请求本地服务总是提示失败 失败现象 发现过程 找到失败提示代码的具体位置 在失败之前将r <a href="https://www.cnblogs.com/cfYu/p/15040793.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/13094416.html
《软件测试52讲》测试新技术(持续更新) - cfYu
2020-06-11T09:05:00Z
2020-06-11T09:05:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】 <a href="https://www.cnblogs.com/cfYu/p/13094416.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/13061832.html
《软件测试52讲》测试基础篇(持续更新) - cfYu
2020-06-07T11:32:00Z
2020-06-07T11:32:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】 <a href="https://www.cnblogs.com/cfYu/p/13061832.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/13043663.html
《软件测试52讲》登录用例整理(持续更新) - cfYu
2020-06-04T07:07:00Z
2020-06-04T07:07:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】 <a href="https://www.cnblogs.com/cfYu/p/13043663.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/13036671.html
《Google软件测试之道》读书笔记 - cfYu
质量不是被测试出来的、但未经测试也不可能开发出有质量的软件 一个产品在发布给用户使用之前,一般都要经历“爬、走、跑”的模式 金丝雀版本:每日构建一个,用来排除过滤一些明显不适宜的版本 开发版本:每周发布一个,日常工作使用,可以持续对这个版本进行测试 测试版本:工程师日常使用最稳定、通过持续测试的版本
2020-06-03T04:00:00Z
2020-06-03T04:00:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】质量不是被测试出来的、但未经测试也不可能开发出有质量的软件 一个产品在发布给用户使用之前,一般都要经历“爬、走、跑”的模式 金丝雀版本:每日构建一个,用来排除过滤一些明显不适宜的版本 开发版本:每周发布一个,日常工作使用,可以持续对这个版本进行测试 测试版本:工程师日常使用最稳定、通过持续测试的版本 <a href="https://www.cnblogs.com/cfYu/p/13036671.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/12450135.html
windows环境下的PHP+selenium环境搭建 - cfYu
最近想要入门自动化测试,之前也写过使用codeception进行单元测试和接口测试,UI测试部分我选择了selenium框架,接下来我们来进行相关环境的搭建。 PHP环境的搭建 1、进入PHP下载地址 http://windows.php.net/download 下载最新线程安全版PHP zip压
2020-03-09T10:41:00Z
2020-03-09T10:41:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】最近想要入门自动化测试,之前也写过使用codeception进行单元测试和接口测试,UI测试部分我选择了selenium框架,接下来我们来进行相关环境的搭建。 PHP环境的搭建 1、进入PHP下载地址 http://windows.php.net/download 下载最新线程安全版PHP zip压 <a href="https://www.cnblogs.com/cfYu/p/12450135.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/12376182.html
算法:在数组中找出所有这样的数,它比它前面的数都大,比它后面的数都小 - cfYu
Ques:在数组中找出这样的数,它比它前面的数都大,比它后面的数都小 构造一个“查找表” Min[n];对应位置上Min[i],存放了原数组A[i]位置往后这一部分的最小值。 一个变量Max,保存了在遍历A[n]时,遇到的最大值。 遍历A[n],如果 A[i]>=Max (比前面的数都大),并且 A
2020-02-28T02:49:00Z
2020-02-28T02:49:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】Ques:在数组中找出这样的数,它比它前面的数都大,比它后面的数都小 构造一个“查找表” Min[n];对应位置上Min[i],存放了原数组A[i]位置往后这一部分的最小值。 一个变量Max,保存了在遍历A[n]时,遇到的最大值。 遍历A[n],如果 A[i]>=Max (比前面的数都大),并且 A <a href="https://www.cnblogs.com/cfYu/p/12376182.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/12372659.html
PHP笔试题面试题 - cfYu
1.你的技术栈有哪些php、mysql、redis、Rabbitmq、Java、python.....2.说说lnmp怎么配合服务的3.nginx和Apache有什么区别相比于nginx,apache有些臃肿,内存和CPU开销较大,性能上有损耗,nginx对于静态文件的响应能力远高apache。ng
2020-02-27T08:08:00Z
2020-02-27T08:08:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1.你的技术栈有哪些php、mysql、redis、Rabbitmq、Java、python.....2.说说lnmp怎么配合服务的3.nginx和Apache有什么区别相比于nginx,apache有些臃肿,内存和CPU开销较大,性能上有损耗,nginx对于静态文件的响应能力远高apache。ng <a href="https://www.cnblogs.com/cfYu/p/12372659.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/12341447.html
redis常见面试题 - cfYu
为了支持大量用户登录,都做了什么工作: 1、引入Redis,提前缓存竞赛对象,使得用户登录和答题都尽量避免走mysql 2、静态资源存储cdn 3、图片服务器分离 4、横向扩展服务器、负载均衡 5、使用redis计数进行限流 6、合并请求,减少前端对后台的请求次数 7、降级,部分功能的请求直接返回
2020-02-21T07:10:00Z
2020-02-21T07:10:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】为了支持大量用户登录,都做了什么工作: 1、引入Redis,提前缓存竞赛对象,使得用户登录和答题都尽量避免走mysql 2、静态资源存储cdn 3、图片服务器分离 4、横向扩展服务器、负载均衡 5、使用redis计数进行限流 6、合并请求,减少前端对后台的请求次数 7、降级,部分功能的请求直接返回 <a href="https://www.cnblogs.com/cfYu/p/12341447.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/12304350.html
几大排序算法PHP实现 - cfYu
1 function swap(&$arr, $a, $b){ 2 $temp = $arr[$a]; 3 $arr[$a] = $arr[$b]; 4 $arr[$b] = $temp; 5 } 6 冒泡排序 7 //沉底法 8 function bubbleSort($arr){ 9 $flag
2020-02-13T09:27:00Z
2020-02-13T09:27:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1 function swap(&$arr, $a, $b){ 2 $temp = $arr[$a]; 3 $arr[$a] = $arr[$b]; 4 $arr[$b] = $temp; 5 } 6 冒泡排序 7 //沉底法 8 function bubbleSort($arr){ 9 $flag <a href="https://www.cnblogs.com/cfYu/p/12304350.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/11383388.html
CentOs 7安装docker - cfYu
1、前提条件linux内核3.10以上,执行命令 uname 2、安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。 Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。 本
2019-08-20T07:52:00Z
2019-08-20T07:52:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1、前提条件linux内核3.10以上,执行命令 uname 2、安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。 Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。 本 <a href="https://www.cnblogs.com/cfYu/p/11383388.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/11193131.html
PHP笔试面试 - cfYu
1、笔试: 1 )用三种方法获取数组的最后的一个元素。 a)$value = array_pop($arr); b)$len = count($arr); $value = $arr[$len-1]; c)$arr = array_reverse($arr); $value = array_shif
2019-07-19T06:08:00Z
2019-07-19T06:08:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1、笔试: 1 )用三种方法获取数组的最后的一个元素。 a)$value = array_pop($arr); b)$len = count($arr); $value = $arr[$len-1]; c)$arr = array_reverse($arr); $value = array_shif <a href="https://www.cnblogs.com/cfYu/p/11193131.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10940808.html
设计模式之观察者模式PHP实现 - cfYu
1、观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且有所作为。即出版者+订阅者=观察者模式。 2、例子类图概览: 3、假设我们需要实现一个气象台,当气象信息更新时候,通知到每一个布告板上。 (1)我们根据上图将所需接口列出如下: (2)然后我们实
2019-05-28T15:20:00Z
2019-05-28T15:20:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1、观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且有所作为。即出版者+订阅者=观察者模式。 2、例子类图概览: 3、假设我们需要实现一个气象台,当气象信息更新时候,通知到每一个布告板上。 (1)我们根据上图将所需接口列出如下: (2)然后我们实 <a href="https://www.cnblogs.com/cfYu/p/10940808.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10853086.html
设计模式之策略模式PHP实现 - cfYu
1、策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 2、例子类图概览: 3、假设我们需要实现一款鸭子游戏,鸭子们在河里一遍游泳戏水,一遍呱呱叫。鸭子的种类很多,实际生活中的鸭子、模型鸭、火箭鸭等等,有些鸭子会飞会叫,有些鸭子既不会飞也不会叫。这
2019-05-12T10:01:00Z
2019-05-12T10:01:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1、策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 2、例子类图概览: 3、假设我们需要实现一款鸭子游戏,鸭子们在河里一遍游泳戏水,一遍呱呱叫。鸭子的种类很多,实际生活中的鸭子、模型鸭、火箭鸭等等,有些鸭子会飞会叫,有些鸭子既不会飞也不会叫。这 <a href="https://www.cnblogs.com/cfYu/p/10853086.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10553193.html
codeception apiTest一些method使用 - cfYu
前面我们已经学习了codeception的安装以及初步使用apiTest套件进行测试,接下来我们来看看一些我觉得比较常用的function。 首先我们需要先登录,因此先设置cookie,如下所示: 登录成功之后,我们请求接口进行测试,被测试接口正常返回的json数据格式如下: 然后我们进行测试。 (
2019-03-18T08:55:00Z
2019-03-18T08:55:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】前面我们已经学习了codeception的安装以及初步使用apiTest套件进行测试,接下来我们来看看一些我觉得比较常用的function。 首先我们需要先登录,因此先设置cookie,如下所示: 登录成功之后,我们请求接口进行测试,被测试接口正常返回的json数据格式如下: 然后我们进行测试。 ( <a href="https://www.cnblogs.com/cfYu/p/10553193.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10531552.html
codeception apiTest入门 - cfYu
codeception的安装可以参考上一篇文章《Linux下codeception安装及使用》,地址为:https://www.cnblogs.com/cfYu/p/10388584.html 安装codeception后,可以看到主要有三种现成的测试suite(套件):functional, ac
2019-03-14T09:13:00Z
2019-03-14T09:13:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】codeception的安装可以参考上一篇文章《Linux下codeception安装及使用》,地址为:https://www.cnblogs.com/cfYu/p/10388584.html 安装codeception后,可以看到主要有三种现成的测试suite(套件):functional, ac <a href="https://www.cnblogs.com/cfYu/p/10531552.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10388584.html
Linux下codeception安装及使用 - cfYu
1、Download 本文通过composer进行安装,故在下载codeception前需先下载composer包。在web应用根目录下执行命令: 然后在web应用程序根目录下,执行以下命令进行下载: 通过composer进行安装: 在当前目录下,执行: 此时可以看到codeception.yml
2019-02-16T09:57:00Z
2019-02-16T09:57:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】1、Download 本文通过composer进行安装,故在下载codeception前需先下载composer包。在web应用根目录下执行命令: 然后在web应用程序根目录下,执行以下命令进行下载: 通过composer进行安装: 在当前目录下,执行: 此时可以看到codeception.yml <a href="https://www.cnblogs.com/cfYu/p/10388584.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10153132.html
mysql学习笔记三--关于索引 - cfYu
当一个表的数据量达到一定程度时,查询速度会急速下降,这时候就需要适当地添加索引来加快查询速度。虽然在日常工作中会经常接触到索引,上周翼赛用户登录部分,当通过oauth_id查询race_user_oauth_token表的数据记录时,平均一次查询需要3s以上,在用户数量集中增长时,导致数据库压力急剧
2018-12-30T14:24:00Z
2018-12-30T14:24:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】当一个表的数据量达到一定程度时,查询速度会急速下降,这时候就需要适当地添加索引来加快查询速度。虽然在日常工作中会经常接触到索引,上周翼赛用户登录部分,当通过oauth_id查询race_user_oauth_token表的数据记录时,平均一次查询需要3s以上,在用户数量集中增长时,导致数据库压力急剧 <a href="https://www.cnblogs.com/cfYu/p/10153132.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/10129135.html
mysql学习笔记(二)--查询语句的执行过程 - cfYu
最近在学习mysql实战45讲,觉得里面的内容很受用,做一些笔记记录下: 首先是mysql的一个基础架构的解释,如下图: 从上图我们可以清晰的看到,mysql的基础架构主要分为两个部分,一个是server层(负责大多数核心服务功能的实现),一个是存储引擎层(负责数据的存储与提取)。 server层是
2018-12-16T15:24:00Z
2018-12-16T15:24:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】最近在学习mysql实战45讲,觉得里面的内容很受用,做一些笔记记录下: 首先是mysql的一个基础架构的解释,如下图: 从上图我们可以清晰的看到,mysql的基础架构主要分为两个部分,一个是server层(负责大多数核心服务功能的实现),一个是存储引擎层(负责数据的存储与提取)。 server层是 <a href="https://www.cnblogs.com/cfYu/p/10129135.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/cfYu/p/9792289.html
php empty 函数判断结果为空但实际值却为非空的原因解析 - cfYu
最近我在一个项目中使用 empty 时获取到了一些意料之外的结果。下面是我处理后的调试记录,在这里与你分享了。 它的结果是: 结果出人意料。为什么变量的值为字符串,但同时会是空值呢?让我们在 $user->uid 变量上尝试使用其它一些函数来进行判断吧: 以上结果为: is_null 函数执行结果符
2018-10-15T09:33:00Z
2018-10-15T09:33:00Z
cfYu
https://www.cnblogs.com/cfYu/
【摘要】最近我在一个项目中使用 empty 时获取到了一些意料之外的结果。下面是我处理后的调试记录,在这里与你分享了。 它的结果是: 结果出人意料。为什么变量的值为字符串,但同时会是空值呢?让我们在 $user->uid 变量上尝试使用其它一些函数来进行判断吧: 以上结果为: is_null 函数执行结果符 <a href="https://www.cnblogs.com/cfYu/p/9792289.html" target="_blank">阅读全文</a>