
软件测试工作干货
文章平均质量分 85
把苹果咬哭的测试笔记
喜欢分享软件测试、开发相关的各种知识。
展开
-
浅谈测试用例设计
最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例?可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例?但是以我个人经历,以及一些接触来说,这个测试基本功确实不是那么容易做好的。可能很多人都觉得这个太基础了,往往就越容易忽略,而喜欢趋之若鹜的追求各种开发语言、自动化测试、测试平台这种上层建筑。在我看来,业务测试是基础,其他的各种技术栈都是用来提效的手段,主次是分明的。原创 2023-02-22 21:49:35 · 602 阅读 · 0 评论 -
【测试经验向】提测质量差 + 测试工期压缩,我要怎么办?
写下这行标题,其实我的内心是崩溃的,因为还在等待bug修复开个玩笑,其实还好啦,作为一个快5年的测试中鸟,这点自我调节能力还是有的。新工作入职小半年,最近其实才陆续铺开工作。那这头一个开干的项目其实就是一个很简单的营销内容小程序,大概样子就是一个极简版大众点评or马蜂窝babala…核心无非就是前端页面展示后端接口吐出来的各种数据,但是即便如此,居然还是跟小伙伴提了100多个bug。那么这种简单项目却问题很多,都是因为啥呢?姑且来分析分析,当做一个简单的复盘好了。...原创 2022-08-30 19:22:40 · 838 阅读 · 0 评论 -
RPC、HTTP、DSF、Dubbo,每个都眼熟,就是不知道有什么联系?
之前的面试经历中,除了经常被问到 HTTP 相关的知识外,还有被问过 http 与 rpc 的区别的。再加上工作中经常与公司的一些DSF应用打交道,于是我又会联想到 dubbo,那么今天要梳理的内容关键词就有了这些: http、rpc、dsf、dubbo 。一、HTTP 和 RPC首先,http 与 rpc 有什么区别这个问题不太严谨,因为这俩就不是一个层级的东西。HTTP这个大家太熟悉......原创 2022-02-27 11:42:00 · 1702 阅读 · 0 评论 -
【面试高频】cookie、session、token?看完再也不担心被问了
在以往的面试记录里,我又看到了一个多次被问到的知识点,那就是 cookie、session、token 的区别有哪些?如果现在来问你,不知道你能否说清楚呢?今天不仅仅是整理出这三者的区别,更重要的是能够真正去理解这三者之间的作用和联系。cookie、session、token三者联系在互联网里,一样事物的诞生往往是为了解决某种问题,这句话同样适用于此。其实说到底,cookie、sess......原创 2022-02-24 20:52:00 · 210 阅读 · 0 评论 -
【软件测试】如何梳理你测试的业务
在日常的测试工作中,不知道大家是否会有梳理自己测试业务的习惯。我个人觉得这个事情是值得做的,最好还可以培养成一个习惯。一、为什么要梳理业务?因为在业务测试中,作为测试人员,熟悉负责的业务是非常重要的,而通过阶段性的梳理总结,可以让你的业务知识系统化的沉淀下来。当被问起这个业务系统的测试重点在哪里?难点如何克服?为什么要这样设计等等问题,可以有条不紊的进行输出。又或者,当你任务需要交接,或......原创 2022-02-19 22:18:00 · 231 阅读 · 0 评论 -
【软件测试】盘一盘工作中遇到的 MQ 异常测试
上一篇小结了一下关于redis的异常测试,今天再来盘一盘 MQ 相关的。MQ 跟 redis 一样,也是现在系统服务中不可或缺的重要中间件,通常用来流量削峰、应用解耦、异步处理等。之前有过一篇整理【MQ 快速入门】介绍、分类、组成、优缺点、测试点,有兴趣也可以跳过去看看。日常经手的系统主要用的是 RocketMQ,是阿里系下开源的一款分布式、队列模型的消息中间件,是阿里参照kafka设计思......原创 2022-02-19 12:20:00 · 627 阅读 · 0 评论 -
【软件测试】盘一盘工作中遇到的 Redis 异常测试
在测试工作中,涉及到与 redis 交互的场景变的越来越多了。关于redis本身就不作赘述了,网上随便搜,本人也做过一些整理。今天只来复盘一下,在测试过程中与 redis 的二三事儿。其中提到的案例是经过抽象化的,用作辅助说明作用,仅供参考。一、更新 Key 异常注意点:先删除原 key 再存,还是直接覆盖原 key?比如:之前 A 服务每8小时去查询一次数据库,更新到缓存里去。后来需求......原创 2022-02-16 22:08:00 · 284 阅读 · 0 评论 -
【软件测试】老说左移右移?实际我们做了什么
最近公司晋升季,听参加的小伙伴提到一些概念性的东西,其中就包括测试左移和右移。这里就借着测试左移和右移的概念,复盘一下测试工作中的内容。一、左移右移是什么首先简述一下左移右移的概念。左移说白了就是尽早的进行测试。比如在正式提测之前,可以对需求、代码等进行评估或测试。右移这里是针对发布上线之后,再进行一系列的手段能够及时发现问题,降低影响范围。比如线上回归、监控等。相比之下,右移可......原创 2022-02-02 22:38:00 · 160 阅读 · 0 评论 -
【面试高频】给你一句话需求,让你设计测试用例,该怎么做?
这个需求很简单,怎么实现我不管,明天上线...一句话、或者简单描述的需求,需要你设计测试用例,我相信大家或多或少都见到过吧?我想起上一次面试某厂,面试官也出了个这种题。我觉得这种需求作为面试题出现还是可以接受的,如果作为真正的生产需求,我不知道提需求的人会不会被打?今天就不聊生产场景下的,就以面试题的角度,梳理总结一下应对这种题目的套路。参考题目借用一个网上看到的题目,支付场景下的......原创 2022-01-09 12:31:00 · 364 阅读 · 0 评论 -
测试是否有必要看开发代码?如何能看懂?
说出来你可能不信,上一秒我还在赛道刷圈速,下一秒就想到了这个话题...其实这个话题在我待整理列表里躺了挺久的,今天恰好周六,那就静下来谈谈我个人的一些感受。就以题目里的 2 个问题进行展开吧。一、是否有必要看开发代码?对于这个问题,我觉得回答“必要”或者“不必要”都会不太恰当,具体因人而异。觉得“不必要”对于测试工程师的日常工作,我只要弄得清业务逻辑,通过各种方法论以及测试工具的...原创 2021-12-04 19:04:00 · 500 阅读 · 0 评论 -
【性能测试】四、性能分析思路有哪些?
我们知道,性能测试的目的是分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。那么,如何能做好分析,显然是非常重要的。通常来说,对于性能分析有这样一幅阶梯图:工具操作:包括压力工具、监控工具、剖析工具、调试工具。数值理解:包括上面工具中所有输出的数据。趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的逻辑关系想明白。这才是性能测试分...原创 2021-07-18 10:02:00 · 561 阅读 · 0 评论 -
【性能测试】三、TPS 和并发数是什么关系?
一、什么是并发或许你在网上会得到"绝对并发"和"相对并发"这两个概念。绝对并发指的是同一时刻的并发数;相对并发指的是一个时间段内发生的事情。但实际上,我们讲并发的时候不需要去区分上面这2个概念。为什么?想象中的并发假设上图中的这些小人是严格按照这个逻辑到达系统的,那显然,系统的绝对并发用户数是 4。如果描述 1 秒内的并发用户数,那就是 16。实际中的并发这些用户会分布在系统中不同的...原创 2021-07-17 09:17:00 · 6898 阅读 · 2 评论 -
【性能测试】二、TPS、QPS、RT和吞吐量这些都是什么?
题目所示的其实都是性能需求指标。通常,性能指标可以从两个层面去定义:业务指标、技术指标。而且,这两个之间是存在映射关系的。举例,如果一个系统要支持 1000 万人在线,可能你能测试出来的结果是系统能支持 1 万 TPS。但是,如果问你,1000 万人在线会不会有问题?这估计就很难回答了。所以,业务指标和技术指标的关系是:所有的技术指标都是在有业务场景的前提下制定的。技术指标和业务指...原创 2021-07-16 08:59:00 · 537 阅读 · 0 评论 -
【性能测试】一、哪那么多概念,不就是这一条吗?
网上一搜性能测试,就会出现很多诸如性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。但实际上我们不需要区分这么多。那什么是性能测试?高楼老师在[性能测试实战30讲]中给出了一个定义,我觉得参考价值很大。性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定...原创 2021-07-15 15:37:00 · 312 阅读 · 0 评论 -
【测试基础】九、如何做 API 测试?异步的呢?
API 测试就是接口测试。对于现在大多的互联网公司来说,API 测试可以实现良好的投入产出比,因此应该成为互联网产品的测试重点,也就是形成了菱形的测试策略。原则是:重量级 API 测试。轻量级 GUI 测试。轻量级单元测试。一、API 测试的基本步骤API 测试说简单也很简单,基本上就是三步走:准备测试数据(也可能有现成的)。使用工具,对待测试 API 发起请求。验证...原创 2021-07-14 10:42:00 · 214 阅读 · 0 评论 -
【测试基础】八、创建测试数据的时机
关于测试数据,除了创建的方法之外,另一个重点就是应该在什么时机创建这些测试数据。比如,是在测试用例中实时创建测试数据,还是在准备测试环境时一下子准备好所有的测试数据呢?哦对了,处理测试数据问题还高频出现在面试当中。一、准备测试数据的痛点某些场景下,创建所需的数据往往会耗时较长,从而使得测试用例执行的时间变长。对于事先批量生成的数据,就有可能出现在测试用例执行时,这些数据因为被修改而无...原创 2021-07-13 07:12:00 · 148 阅读 · 0 评论 -
【测试基础】七、你如何准备测试数据?
准备测试数据是我们测试过程中非常重要的一环,不管你是哪种类型的测试,都避不开。通常,我们有 4 种方法。一、基于 GUI 操作生成GUI 就是图形用户界面。基于 GUI 操作生成测试数据,是最原始的创建测试数据的方法。比如,想要测试用户登录功能,那么首先就要准备一个已经注册的用户。那么就可以直接通过 GUI 界面来注册一个新用户,然后用这个新用户完成用户登录功能的测试。优点简单直...原创 2021-07-13 07:10:00 · 268 阅读 · 0 评论 -
【测试基础】六、做好测试计划需要注意这些
提到测试计划,是否会首先想到一份庞大、正式的测试计划文档?在早期传统瀑布模式下,测试计划一般是一份很重的文档。但是现在敏捷模式盛行,很少再去制定传统意义上的测试计划了。但是,并不是说测试计划没意义了,而是形式上变得更轻盈,可以随着项目情况实时调整。所以说,测试计划依旧存在,只是从原来的一次性集中制定测试计划,变成了以迭代的方式持续制定测试计划。通常,一份好的测试计划应该具备以下内容:测试范...原创 2021-07-12 07:04:00 · 300 阅读 · 0 评论 -
【测试基础】五、这样提bug单,开发小哥还会怼你么?
提bug单,应该是我们测试人员与开发人员交流沟通的重要渠道了。既然涉及交流沟通,自然就有沟通成本。我们都是希望可以与开发小哥们愉快高效沟通的。要做到高效沟通,除了要注意语言上的技巧之外,bug单的内容描述也是需要额外注意的。一、bug单其实,之所以要提bug单(缺陷报告),最主要还是希望可以通过这份文档,把发现的缺陷准确无歧义地表达清楚。开发小哥可以根据缺陷报告快速理解缺陷,并精确定位问...原创 2021-07-12 07:00:00 · 177 阅读 · 0 评论 -
【测试基础】四、你的测试覆盖率是多少?
在面试过程中,遇到过面试官询问测试覆盖率的问题。我说没统计过(完结撒花)。开个玩笑。通常测试覆盖率是用来衡量测试的充分性和完整性。从广义的角度来讲,测试覆盖率主要分为两大类,一类是面向项目的需求覆盖率,另一类是更偏向技术的代码覆盖率。一、需求覆盖率需求覆盖率,是指测试对需求的覆盖程度。通常的做法是将每一条分解后的软件需求和对应的测试建立一对多的映射关系,最终目标是保证测试可以覆盖...原创 2021-07-11 08:01:00 · 460 阅读 · 0 评论 -
【测试基础】三、为什么要做自动化测试?哪种项目合适?
又要聊到自动化了,感觉现在不管是主动或者被动,“自动化”已经是我们测试人员避不开的话题了。主动,你觉得需要做一些测试提效,于是你去学习了解,并在工作中应用。被动,或许你想换份工作了。当你打开各公司的招聘JD,又会看到“自动化”,还是得去学习了解。一、什么是自动化测试我的理解是:能代替我们手工测试的行为。比如常见的Web自动化和接口自动化,就是代替我们人工去执行页面操作和接口的操作,并且...原创 2021-07-11 07:54:00 · 274 阅读 · 0 评论 -
【测试基础】二、我好像真的不会设计“好的”测试用例
需求分析完了,测试范围界定好了,现在该设计测试用例了。问题来了:怎么设计出“好的”测试用例呢?一、什么样算“好”茹炳晟老师用鱼塘来距离我觉得很形象:如果把被测试软件看作一个池塘,软件缺陷是池塘中的鱼,建立测试用例集的过程就像是在编织一张捕渔网。“好的”测试用例集就是一张能够覆盖整个池塘的大渔网,只要池塘里有鱼,这个大渔网就一定能把鱼给捞上来。如果渔网本身是完整的且合格的,那么捞不...原创 2021-07-10 11:11:00 · 123 阅读 · 0 评论 -
【测试基础】一、你真的会测试“用户登录”吗?
相信不少人参加面试的时候,会遇到设计测试的题目。比如面试官问:给你一个“用户登录”功能,你会如何测试它?what?瞧不起谁呢?用户登录这也忒老生常谈了,看我用【等价类】和【边界值】快速搞定它。于是,拿起笔就开始写测试用例:1. 输入已注册的用户名和正确的密码,验证是否登录成功2. 输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确3. 输入未注册的用户名和任意密码,...原创 2021-07-10 11:04:00 · 113 阅读 · 0 评论 -
【杂谈】关于常见架构的整理,单应用、微服务、SOA、分布式和集群
架构相关的知识,不知道大家平时的关注度会有多少?基于我自己来讲的话,之前对此的注意力还是比较少的。不过这些东西在我看来还是挺重要的,我们做测试的时候不能一头就扎进业务里面,如果能对整个系统架构有一个宏观上的理解,我相信,对于你后面的业务测试、性能测试,或者面试(别问我怎么知道,吃过亏o(╥﹏╥)o),都是会有帮助的。今天先来梳理下架构的演进。一、单体应用单体应用,其实就是不管啥功能都写在...原创 2021-07-02 16:45:00 · 196 阅读 · 0 评论 -
【MQ 快速入门】介绍、分类、组成、优缺点、测试点
一、什么是 MQMQ全称是 Message Queue,本质上是个队列,原则还是先进先出,只不过队列里存放的元素是一条条 Message 。工作中常见被用于上下游传递消息,实现一种跨进程的通信。这样一来,要发送消息的上游服务只依赖 MQ 即可,与下游服务解耦,我觉得可以理解成中介。二、MQ 的作用1. 流量削峰举个栗子,这里有一个订单系统处理用户下单的业务逻辑。这个系统的服务能力假设为...原创 2021-07-01 07:32:00 · 332 阅读 · 0 评论 -
【Nginx 快速入门】反向代理、负载均衡、动静分离
一样东西的诞生通常都是为了解决某些问题,对于 Nginx 而言,也是如此。比如,你出于无聊写了一个小网站,部署到 tomcat 之后可以正常访问了,好开心。这时候你的网站用户非常少,不会存在高并发的情况,这时候一个 jar 包启动应用就足够了,然后内部的 tomcat 返回内容给用户。但是后来,你的这个小网站因为内容很诱人逐步的火了,用户越来越多,并发量也慢慢增大,此时一台服务器已经满足......原创 2021-06-23 07:02:00 · 190 阅读 · 0 评论 -
如何在github上找到需要的项目
感谢B站韩顺平老师的学习资源,有兴趣的童鞋可以去搜索:韩顺平。大家都知道github上有许多优秀的开源项目,那么学习优秀的项目,自然也可以提升我们自己。比如我学了java和springboot,那么我平常在工作中没机会接触相关的开发,我又很想知道真正的好的项目都是怎么写的,里面都还用到了些啥?现在就告诉你,如何在github上搜索自己想要的项目。一、找到github搜索框我这里是登录...原创 2021-06-06 10:33:00 · 1299 阅读 · 0 评论 -
【杂谈】做一个不被开发鄙视的测试工程师
忙忙碌碌,不知不觉在新公司已经3个月了。尤其是最近一段时间,异常的忙,但是我仍然会抽出一定量的时间来做些开发。以后成熟的话,打算输出一个手把手开发的系列,分享给更多的测试童鞋。前几天跟群里一位小伙伴聊天,听到了一个关键词。相信这也是很多测试童鞋都有过的体会,感觉测试容易被开发鄙视,得不到尊重。既然今天也没什么技术向的内容分享,那就随便聊聊吧,以一个入行3年多的测试小兵的角度,谈谈我的感受。......原创 2020-12-16 19:59:00 · 210 阅读 · 0 评论