- 博客(94)
- 资源 (1)
- 收藏
- 关注
原创 工具的价值很低
巴菲特说不投科技公司,他真聪明,只有科技是不值钱的。当科技能带来独特的体验,快乐的情绪,地位的上升,独特的个性,时尚。高附加值的东西,值钱的东西往往不是工具和科技,而是这样的东西带来的情绪价值,地位价值。让人觉得快乐,让人觉得与众不同,让人觉得高人一等。工具的粘性很低,今天能用这个工具,明天就会用更强大的工具,所以工具的淘汰率很高,往往红火不了多久。苹果是科技公司,但他值钱的并不是它的科技。特斯拉事科技公司,他值钱的也并不是它的科技。提供工具这样的实用价值往往非常卷,非常容易毁灭。
2024-07-31 23:55:34 280
原创 前后端分离真的好吗?
随着一些像 next.js 这样的后起之秀解决一些问题,可能会有越来越多的公司尝试不同的方式,去解决前后端完全分离面临的软件开发问题。项目组长调度技术的使用逻辑,哪些前端处理,哪些后端处理。其次,如果没有合适的人充当项目组长,那就要充分制定规则,前端能自己处理的的就前端处理,后端返回必要数据。我们经常看到一些页面很卡,是由于前后断分离技术导致的,大量数据都由后端提供,甚至包括字体大小,边距。在赶项目的时候,也没那么多时间讨论技术实现细节,也可以先做完,然后发现慢的问题,再讨论怎么优化。
2024-07-28 21:43:03 477
原创 软件测试的核心技能,其实只有一个
需求分析能力并不是单纯对产品经理提供的需求文档的解读,而是要在根本上洞察出需求对用户到底有什么用,如果用户真的用起来,会不会遇到什么问题。当然要做好一份工作,肯定有许多细节都需要深入了解,每个细微之处都有机会用到一些小技能,需要掌握一些小工具。只要能在产品发布之前,提前预判出用户使用产品功能可能出现的问题,就是一个优秀的测试工程师。其实每个工作需要的核心技能就那么一两个,再加上几个辅助工具提高效率,基本能胜任工作。软件测试的核心技能是需求分析能力,掌握这个技能基本能胜任绝大多数的软件测试工作。
2024-07-24 23:25:23 262
原创 软件测试有光明的未来
测试和质检是一个平稳的岗位,我们不需要太关注前沿科技的变化,不需要被技术浪潮敢着跑,我们会活得相对从容,更不容易秃头。包括网页制作,安卓手机开发,苹果手机开发,平板系统,鸿蒙系统研究。但不要忽略它的好处,它适合毕业生入行,容易上手,还能迅速培养做产品的能力。软件测试现在就业环境确实不太好,但其他行业也好不到哪儿去,而且这可以把那些不怎么喜欢这个行业,不认真做事的人洗出去,测试行业需要认真负责的人把好质量关。很多人推荐计算机专业毕业的同学做开发,有一些所谓的大佬甚至贬低软件测试,运维和产品经理这些岗位。
2024-07-18 22:41:10 208
原创 希望大家厌倦了 appium 和 airtest 以后,能试一试 uiautomator2
在决定重新拥抱这个工具以后,我顺手用了用 weditor,它的元素定位辅助工具,好像已经放弃治疗了,没有太多测试,和版本已经不兼容很久了。如果没空,技术有所长进,优化一下现在的也行。另一个 u2 欠缺的地方在于 webview 的测试,这个其实早就有现成的方案了,只是还需要整合,设计好接口。但 u2 始终没有太多人用,尽管它有超快的速度和反应,尽管它有简洁的接口设计,尽管它有方便强大的辅助工具。这么好的工具,不应该被埋没,希望大家厌倦了 appium 和 airtest 以后,能试一试 u2。
2024-07-16 20:00:44 249
原创 朋友圈怎么设计测试用例,面试官听完都惊呆了
(资深面试官,每天更新常问面试题,内含100个用例设计) 姐妹们,大家在面试前都花了很多时间精力收集题目。但我想温柔的提醒:粗制滥造的答案不仅对面试毫无帮助,反而会浪费宝贵的面试机会。很多姐妹就找着这些答题,回答都比较浅显,听两句就知道是网上借鉴来的答案,没有体现自己的专业能力。 我会用我5年的面试官经历提供一些参考,每天一题,精细讲解,持续更新。 希望不要嫌少,精力有限,家里还有娃要照顾。 如果能把每一题吃透,面试绝对加分。 题目:朋友圈怎么测试 出现频率:⭐︎⭐︎⭐︎⭐︎⭐︎ 考察能力:测试
2023-03-29 14:57:08 901 1
原创 Python自学笔记11-函数怎么用
函数是代码封装的一种手段,函数中包含一段可以重复执行的代码,在需要用到这些代码时,只需要调用函数,就会运行函数中的代码。def 函数名称(参数1, 参数2):函数体(要运行的代码)现在我们举个例子说明函数的作用。print('打开高级车门')print('开发动机')print('安全带')print('踩油门')print('掌握方向')如果要开很多次车,那么每次都需要敲相同的 5 行代码,这样会造成几个问题:很容易编写不同的代码,或者代码出现错误代码冗余,可读性不强。...
2022-08-29 21:27:43 455
原创 Python自学笔记9-while循环和for循环
image.png循环是另一种控制流程的方式,一个循环体中的代码在程序中只需要编写一次,但可能会连续运行多次。
2022-08-29 20:53:54 454
原创 Python自学教程7-字典有哪些常见操作
字典使用一对大括号进行定义,键值对之间使用逗号隔开,键和值使用冒号分隔。键必须是不可变类型,一般使用字符串,数字,和元组也可以但用的不多。值可以是任意数据类型。>>> a = {} # 空字典>>> b = {'name': '九柄','hobby': ['运动', 'meizi'],{'name': '刘德华'},{'name': '张学友'}]}...
2022-08-29 17:09:40 523
原创 Python自学教程9-python中的if语句,你知道多少?
在同一个 if 语句中,只有第一个率先满足条件的分支会执行,其他的分支不会执行。比如在一个 app 的登录页面中,输入用户名和密码后,程序会判断用户名和密码是否正确,如果正确,则运行用户进入登录状态。python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句。如果你像要程序按照你自己定制的流程执行,就需要用到流程控制的语句,最主要用到的是条件语句和循环语句。条件语句用 if 表示,它表示当满足某个条件时,执行下面的分支代码。在这个例子中,有 2 个 if 表达式,第一个不会影响第二个的执行。.
2022-08-29 16:59:51 663
原创 Python自学教程8-数据类型有哪些注意事项
总的来说数据类型是难度比较低的内容,只有很多方法比较难记。在开始学Python的时候,可以从数据类型入手,这样比较容易增加信心,只要稍微努力一点,多记一些相关的方法,可以迅速上手写代码。...
2022-08-27 16:44:13 242
原创 Python自学笔记6-列表有哪些常用操作
首先我们来看一下列表的定义。列表通常用来存储多个数据,每一个数据之间用逗号隔开,他们被称为元素,列表的左右两边带有中括号。你可以把列表想象成是某种容器,你可以往这个容器里面塞入任何的东西。并且列表当中的元素可以是任意的数据类型,你可以在一个列表当中同时存储数字、字符串,甚至嵌套列表。当然,虽然列表可以存储不同的数据类型,但是大多数情况下,里面元素的数据类型是一样的,你可以简单理解他和其他的编程语言当中的数组差不多。列表经常出现在初级Python程序员的面试题当中。
2022-08-25 16:51:09 565
原创 Python自学教程5-字符串有哪些常用操作
任何编程语言,不管是Python、Java 还是 Golang, 字符串都是最重要的一种数据类型。但是字符串的操作又很多,初学者经常毫无头绪,不知道从哪儿学起,也不知道哪些操作用得多,今天九柄就和你来扒一扒Python当中,怎么使用字符串比较合适。
2022-08-24 17:09:58 279
原创 Python自学教程3-英语不好,变量怎么命名
变量其实很简单,不过在使用过程中会遇到一些棘手的问题。比如一个变量我之前已经用过了,现在我要定义一个类似的变量,该怎么办?还有,很多小伙伴其实知道变量应该遵守什么规范,应该代表什么数据,但是大学英语没学好,不知道怎么给变量取名字。这些问题,其实都有比较好的解决方案。我们还是从最基本的操作开始吧,这样能加深理解,没准自己就找到了更好的方式。
2022-08-24 14:55:58 301
原创 Python自学教程2:高级程序员怎么写注释
注释是学一门编程语言最简单的语法,实际上,这一片只讲了#号和""""""三引号这两个特别简单的语法。但是真要用起来,光会语法是不够的,编程总是要带入到具体的工作中, 如果没有具体的使用场景,学再多的语法是没什么用的。我还准备了很多学习技巧和面试套路,基本都可以在文本名片九柄获取,顺便三连哦。很多自学 Python 的人,看了很多教程,但最终还是不会用,不敢用,其中的原因就是没有根据实用性学习,总以为知识学得越多越好。
2022-08-23 16:50:32 2074
原创 Python自学教程1-安装pycharm和执行环境
这里主要是安装好环境,下一篇就是正式python语法了, 环境安装完全没有基础的也可以在一个小时内搞定,后面就很方便了。这里稍微说一下,很多刚入门的朋友花了太多时间来选择哪个编辑器,使用什么主题,没有必要,无脑用 pycharm 就行了,基础阶段没有必要用专业版,下载免费的社区版就可以了。正在上传…重新上传取消。
2022-08-20 19:42:49 319
原创 软件测试100天上岸2-测试必须有策略
测试是为发现错误而执行程序的过程。软件测试一个破坏性的过程,甚至是一个施虐的过程,也就是第一天说的“找茬”游戏。当一个输入框让我输入手机号码时,我偏不,我要输入非手机号码,甚至不填。当界面提示让我点击第一个按钮时,我偏不,我要点第二个,第三个。这和开发是一个截然相反的工作,开发的思路是创造,把功能做出来,正常运行;而测试的工作是找茬,故意让程序不正常运行,生活中经常挑别人的毛病的人,也许更适合做测试。...
2022-08-18 16:48:02 200
原创 软件测试100天上岸1-测试就是找茬游戏
以前有一个很火的游戏叫《大家来找茬》,我玩这个游戏很厉害,在这个游戏中,两幅图中有几个不一样的地方,有些地方很明显,一眼就能看到,有的地方隐藏得比较深,要仔细看才能看清楚。我不知道有多少人听到测试门槛低,工资高就一头扎入了这个行业, 但是测试是一个逻辑游戏,逻辑思维不行的,考虑问题不健全的,对用户没有同理心的干这个可能会很吃亏。...
2022-08-17 15:21:46 660
原创 Postman如何做接口测试6:如何使用外部 json 文件数据
在软件测试过程中,你可能已经提前配置了一些环境数据放在通用的配置文件中,你想直接导入这些文件,在 postman 中使用,这样的话,你就不需要重复在 postman 软件中设置了。比如你可以直接从开发那里得到一个配置文件,里面有 host 地址,数据库地址,每页的列表限制信息,我们能不能把这些数据直接导入到 postman 中使用呢? 按以下步骤操作。首先,准备好外部的数据文件,postman 目前支持 csv 格式和 json 格式数据,如果是其他类型的文件,可以先转化成这两种格式。我们以 json
2022-08-16 19:53:27 5253
原创 Postman做接口测试:如何自动校验接口响应
postman 是一款纯正的自动化测试工具,但是实用它的人却被称为手工测试, 原因是因为大量测试人员还是以手工方式在使用它。比如说当使用 postman 发送一个测试的用例以后,我们还是以人工方式来检验测试结果,这在大量测试用例需要运行时非常耗费精力。 其实我们只需要多加一步,就可以实现自动校验。首先,编写测试用例的请求数据,然后点击 tests 标签。我们需要校验响应结果中的 args 字段中是不是有 name 字段现在编写以下代码断言,实现自动校验pm.test("name存在", fun
2022-08-16 19:52:56 2110 2
原创 开发一款图片压缩工具:使用 pngquant 实现图片压缩
开发一款图片压缩工具(二):使用 pngquant 实现图片压缩上一篇我尝试使用了 pillow 库对 png 图片进行了压缩,效果不好。这次我换用 pngquant 来压缩。pngquant 是用于 PNG 图像有损压缩的命令行实用程序和库。压缩程序会显著减小文件大小(通常高达70%),并保持完全的alpha透明度。通过使用alpha通道将图像转换为更高效的8位PNG格式(通常比24/32位.........
2022-08-16 16:18:25 434
原创 App自动化框架如何支持H5 webview测试
移动端 app 自动化框架很多,但是有一些框架因为不支持混合应用测试,一直没有完全流行。比较典型的是经典的 Python 框架 uiautomator2, 这个框架简单好用,没有 appium 那样复杂的 api 调用,受到不少 python 自动化工程师的青睐。但是不管是官方文档,还是民间教程,基本都没有涉及到用它做混合应用测试,本文提供一种非常简单的方法,只需要多加 4 行代码,就能让 uiautomator2 支持混合应用测试。移动端应用有两种典型的开发方式,一种是原生的 native app,一种是
2022-08-16 16:15:17 454
原创 chrome浏览器也能做自动化测试
使用录制功能时,先点击 Start Record 按钮开始录制,之后在浏览器中所有的操作就会被记录下来,录制结束后,点击结束。在 Recorder 标签下会展示所有已经被录制的脚本,点击 Replay 可以回放之前的操作,这个过程是自动的,不再需要手工参与。从它诞生至今,创造了一个又一个的传奇,现在可以看到基于它的操作系统 chrome os ,还能买到用它做系统的笔记本电脑。首先,把浏览器升级到最新的版本,目前我的浏览器版本98,接着我们在开发者工具当中打开录制功能。...
2022-08-15 19:35:26 1864
原创 自动化测试-怎么存储测试用例
yaml 的优点在于丰富的数据类型支持。无论是元组、字典、数字、布尔类型都能支持,并且被 python 语言轻松解析成对应的 python 数据类型。{}在少量数据的解析上,yaml 会非常的方便。但是一旦数据增加到上万组,yaml的解析速度会非常非常慢。当数据达到10万行的时候,读取速度竟然接近 1 分钟。1000行5万行10万行插入时间0.27s14.79s31.78s读取时间0.47s26.8s53.63s。......
2022-08-12 16:20:55 574
原创 Token和Session有什么区别,面试官满意的答案
在接口的响应结果中,经常会出现类似这样的返回值。{}往往需要在访问下一个接口时传递 token 数据。所以 token 本质上就是用户信息通过编码转化成另一种形态得到 token, 再通过 token 解码得到用户数据。......
2022-08-11 15:19:38 671 1
原创 几个自动化测试的练手项目
这是一个网页 ui 元素展示网站,列举了几乎所有流行的网页控件,如果你正在学 selenium 这样的框架,那可以赶紧用这个项目练习一下 selenium 的操作方法。总的来说,在没有正式的项目经验前,找到一个合适的练手项目,把自己的专业知识转变成可以应用的技能,还是非常好的。常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。业务简单,流程清晰,操作类型丰富,几乎是完美的练习平台,非常适合练习 web 自动化测试。...
2022-08-10 19:27:46 239
原创 Flask开发类似jenkins构建自动化测试任务工具
在页面上点击构建,程序会跳转到 flask 设置好的 /build 这个 url 中,这个路由负责运行自动化测试的代码,他会接收用户传过来的 project 参数,找到在 workspace 目录下的项目,再执行自动化测试指令(这里统一用 pytest 指令)。编写脚本的日子很累,你需要每天加班,而且没有加班工资。为了动态获取文件数据,你使用了生成器惰性获取数据,在 /build-history 的页面加载过程中,只要运行自动化任务的子进程还在运行,就不停的读取文件内容,将它们动态的返回给前端页面。...
2022-08-09 17:42:49 387
原创 嵌入式系统测试思路
但是需要注意的是,嵌入式系统比纯粹的软件系统链路会长很多,尤其是他终端最终总是会控制机械,而我们都知道机械并不总是会受操作系统的控制,会有失灵的时候,机械受外部环境的影响也要复杂得多。在这个过程当中一定会有网络接口测试,当然这种接口不一定是软件当中的HTTP接口,有可能是其他协议的,但是大体上来说他们和软件当中的接口自动化测试是类似的。像现在比较火的真蓝牙无线耳机以及智能音箱,在开始的时候通常会要求蓝牙配对,在通信的过程当中也需要看语音数据传播的质量。因为不管是任何的系统,链路越长,引发缺陷的风险会越高。.
2022-08-09 17:41:06 544
原创 接口测试中的接口到底是什么
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。同样的,当我们去银行取钱的时候,我们只需要提交申请单给银行柜员,然后银行柜员会给我们很多钱,至于工作人员在柜台后面执行了什么操作,我们是不知道到的。通过定义可以知道,API 还是继承了接口定义的特性,提供的还是和其他系统进行沟通的能力,而不需要其他系统如何实现的。..........
2022-08-09 17:38:49 858
原创 【Web自动化测试】Playwright安装失败怎么办
像 1230 这样的后置是由playwright 生成的,如果没有,你可以任意命名,将浏览器运行目录放入,然后运行 playwright codegen,在错误信息中就会提示后缀的名称,返回目录修改名称。playwright 下载好的浏览器会存放在本地一个特定的目录,当需要运行浏览器,会在这个目录下去查找有没有浏览器的可执行文件,如果没有找到,就会报上述错误。通过 playwright install 安装浏览器很慢,它是从微软的 cdn 中下载的,经过实测,下载 firefox 浏览器用了 20 分钟。.
2022-08-04 17:10:29 1962 1
原创 【Playwright测试教程】5分钟上手
我喜欢Playwright!这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位。使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈。......
2022-08-03 16:47:17 820
原创 TOML配置文件格式,YAML最有力的竞争者
今天我们一起来学习toml这种简洁的配置文件格式吧。TOML是在 2013 年发布的配置文件格式。距今虽然有8年历史了,但是之前一直没有在大项目中见过的。我是前段时间在看python的pep规范,无意中看到了这种配置文件格式,稍微了解了一下,才发现现在有很多新的明星项目都喜欢用它来做配置文件。1、有rust语言的包管理工具cargo;2、类似于docker的容器工具containerd;3、go语言很多项目都喜欢用。比如静态网站生成工具Hugo、数据库InfluxDB、GitLab CI。...
2022-08-02 17:20:25 2552 2
原创 为什么用Selenium做自动化测试
SeleniumCypressPlaywrightPuppeter这些框架或者工具我都接触过,机会合适,我都会去编写具体的操作笔记。虽然有很多的挑战者,但是Selenium还是用得最多的,他的技术架构也在不停的演化。有的人说selenium过时了,他们说的都是对的,它确实有点老,不过如果让我选型,我还是会优先选择selenium。Selenium能解决web自动化测试问题吗?Selenium容易学吗?Selenium资料丰富吗?Selenium方便迁移和扩展吗?......
2022-08-01 19:15:53 8378 2
原创 【微服务测试教程】使用Python测试gRPC接口案例
比如在进行用户验证时往往需要传入登录的用户信息,服务端返回token值,对应的proto文件描述,如果请求或者响应数据太大,不能一次获取完,可以通过stream流信息持续传输,此时在类前面加stream关键字。grpc默认使用protocolbuffers作为序列化传输格式,通常会把传输的数据类型用一个带有.proto扩展名的普通文本文件来存储,不管是请求还是响应的数据都需要符合这里面定义的数据要求。grpc是基于RPC的框架,性能高,使用非常广泛。...
2022-07-28 19:51:15 626
原创 App自动化测试是怎么实现H5测试的
移动端应用有两种典型的开发方式,一种是原生的nativeapp,一种是基于网页开发技术的webapp。原生应用的体验感更好,但是如果想同时开发安卓应用和ios应用,需要不同的原生开发技术。web应用可以非常轻松的做到安卓和ios的跨平台开发,它的体验感要稍微差一些,不像原生应用那么流畅。HybridApp(混合模式移动应用)是介于webapp和nativeapp之间的开发方式,可以在原生界面中嵌套网页,因而可以同时具备体验感和跨平台能力。...
2022-07-22 15:13:27 556
原创 Python动态属性有什么用
先看一个简单的例子。创建一个 Student 类,我希望通过实例来获取每个学生的一些情况,包括名字,成绩等。成绩只有等到考试结束以后才会有,所以实例化的时候不会给它赋值。考试完以后,准备给 mike 打分:在这里,老师一不小心多打了个 9 ,通常来说打分都是 100 分值,999 是一个非法数据,不应该赋值成功。学生一多,老师打分出现手误的情况肯定会越来越多,所以我们必须想办法修改程序,限制 score 的值必须在 0-100 分。我们定义一个方法,如果输入的不是 0-100 的整数,就让程序报错,数据
2022-07-21 19:11:18 153
原创 Python函数默认参数避坑指南
列表是一种经常使用的数据类型。在函数的定义中,常常会使用列表作为参数。要测试的内容是返回的data数据是否跟需求符合。
2022-07-20 17:17:54 172
sscom串口测试工具
2018-02-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人