经验分享
文章平均质量分 85
软件测试凡哥
测试八年,我秃了可我也变强了
展开
-
面试官:性能测试瓶颈调优你是真的会吗?
在故障定位(尤其是 out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题。这些文件记录了 JVM 运行期间的内存占用、线程执行等情况,这就是我们常说的 dump 文件。常用的有 heap dump 和 thread dump(也叫 javacore,或 java dump)。heap dump 记录内存信息的,thread dump 是记录 CPU 信息的。当发现应用内存溢出或长时间使用内存很高的情况下,通过内存 dump 进行分析可找到原因。原创 2023-12-10 21:55:25 · 1079 阅读 · 0 评论 -
软件测试用例设计方法-因果图法
1、原因:指输入条件或输入条件的等价类 结果:指输出条件,给每一个原因和结果赋予一个标识符 2、分析程序规格说明书中的描述,确定原因与原因,原因与结果之间的关系,画出因果图;但是,有时候不能直接通过原因得到结果,需要借助中间状态,随着原因、结果不断增多,唯有依赖因果图才能更好地梳理个中关系。其次关于原因与结果,各个原因可以直达结果,或者分数与老师是否确认进行两两组合,形成中间状态,再到达结果。需要特别说明的是,因果图相当于特殊的场景法,是判定表的搭档。因果图法,第一时间让我联想到的是,高中数学的排列组合。原创 2023-10-18 20:17:31 · 325 阅读 · 0 评论 -
软件测试全套教程,软件测试自学线路图
本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。pithy意为简洁有力的,意在简化自动化接口测试,提高测试效率一键生成测试项目http client封装thrift接口封装简化配置文件使用优化JSON、日期等工具使用编写测试用例推荐使用pytest,pytest提供了很多测试工具以及插件,可以满足大部分测试需求。原创 2023-10-18 20:17:39 · 310 阅读 · 0 评论 -
精准测试(针对人工执行的测试用例和自动化测试脚本)
很难保障无漏测:我们做了大量测试,但不清楚测得怎样,对软件上线后会不会出问题,没有信心;选择待执行的测试用例:面对大量的回归测试用例时,我们没有足够的时间完成测试,如何选择出有效的测试用例呢?虽然我们会有一些策略,如基于风险的测试策略、基于操作剖面的测试策略 或组合测试策略,但主要还是靠测试人员的经验,比较主观。原创 2023-09-21 16:52:08 · 2170 阅读 · 15 评论 -
教你一招,测试人员如何通过AI提高工作效率!
伴随着AI技术的兴起,像OpenAI推出的ChatGPT、Microsoft发布的Microsoft 365 Copilot、阿里的通义千问、百度的文心一言、华为的盘古大模型等。很多测试人员开始担心,岗位是否会被AI取代?其实取代你的不是AI,而是会使用AI的测试人!在工作中,测试人员怎么利用AI提高自己的工作效率呢?一般来说,测试工程师的AI使用场景主要如下,但不局限于此。原创 2023-08-29 17:26:36 · 799 阅读 · 2 评论 -
web测试与app测试的区别
web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。原创 2023-08-14 17:31:41 · 370 阅读 · 1 评论 -
app专项测试(网络测试流程)
dns劫持:又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。无网状态测试则是在切换网络的情况下进行的测试,主要关注页面的显示与交互、本地数据的存储、断网功能的使用等,经常该部分也需要与网络切换部分协同进行。目前的网络并非完全的流畅WiFi,目前使用最多的是2G,3G,4G,且使用场景多变,如近地铁,上公交,进电梯,进山区等是的弱网测试显得尤为重要。原创 2023-08-14 17:27:12 · 1310 阅读 · 0 评论 -
app专项测试:app弱网测试
当前APP网络环境比较复杂,网络制式有2G、3G、4G网络,还有越来越多的公共Wi-Fi。在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传。延时也是最常见的问题。在解决日常支持需求中,经常出现一些用户反馈的Bug无法复现,有很大部分是因为用户的网络不稳定导致,导致出现一些意想不到的BUG。安装平台:通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddler, charles。APP使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易伤害用户体验。原创 2023-08-14 17:23:21 · 2308 阅读 · 1 评论 -
最佳实践:Swagger 自动生成 Api 文档
自动生成 API 文档的好处不言而喻,它可以提供给你的团队或者外部协作者,方便 API 使用者准确地调用到你的 API。为了降低手动编写文档带来的错误,很多 API 开发者会偏向于寻找一些好的方法来自动生成 API 文档。本文将会介绍一些常用的文档生成工具:开源工具 Tapir,商业化产品 Apifox。原创 2023-08-11 16:12:46 · 571 阅读 · 0 评论 -
Jmeter 配置环境变量,简明教程专享
通过给 JMeter 配置环境变量,可以快捷的打开 JMeter:打开终端。执行 jmeter。配置环境变量的方法如下。Mac 和 Linux 系统在 ~/.bashrc 中加如下内容:原创 2023-08-11 16:05:51 · 3559 阅读 · 1 评论 -
一分钟了解自动化测试
目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试……原创 2023-08-10 16:35:17 · 178 阅读 · 0 评论 -
Python自动化测试基础必备知识点总结
性能系统负载能力稳定性过载操作下的系统瓶颈自动化测试,使用程序代替人工,可以提高测试效率性,自动化测试能自动化使用代码模拟大量用户,让用户请求多页和多用户并发请求收集参数,并对系统负载能力进行统计生成报告。原创 2023-08-10 16:31:58 · 432 阅读 · 6 评论 -
集成测试最全详解,看完必须懂了
集成测试(Integration Testing),也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。原创 2023-08-10 15:49:09 · 2233 阅读 · 1 评论 -
源码解析Collections.sort ——从一个逃过单测的 bug 说起
本文从一个小明写的bug 开始,讲bug的发现、排查定位,并由此展开对涉及的算法进行图解分析和源码分析。事情挺曲折的,因为小明的代码是有单测的,让小明更加笃定自己写的没问题。所以在排查的时候,也经历了前世的500年,去排查排序后的list改动(主要是小明和同事互相怀疑对方的代码,不多说了)。原创 2023-08-09 15:31:48 · 623 阅读 · 0 评论 -
研发提测前测试到底能做些什么
作为测试,经常会遇到倒排期的项目,当研发已经占用了很多资源的情况下,此时测试要想提高效率。就不得不在研发提测前多做准备,那么研发提测前测试到底能做些什么,我将根据我的经验,在本次文章中与大家一起分享。原创 2023-08-09 15:26:20 · 184 阅读 · 0 评论 -
如何做好Code Review
既然CR好处这么多,大多团队也在实践,但为什么效果差强人意呢,主要是CR在大型项目实践中面临诸多挑战。CR面临哪些挑战?挑战1:CR的代码改动范围过大原创 2023-08-07 16:44:11 · 378 阅读 · 0 评论 -
全链路仿真压测系统
目前常用的压测工具一般都是针对QPS这一个单一指标进行考量。即使支持编写脚本的工具也只是通过参数化模拟用户。但是实际用户是使用单独设备请求服务器,即一个用户就是一个tcp连接。所以为了更真实的模拟用户行为,我们需要通过一个tcp连接模拟一个用户,并通过代码方式实现用户的真实请求行为。C端及中台产研中心云平台部质量保障团队自研的“仿真压测系统”。独有的QPS动态可控技术,支持固定URL压测、参数化、Websocket协议压测、中间件、数据库等的压测,模拟用户真实轨迹,通过用户侧,服务端,DB进行数据一致性原创 2023-08-07 16:37:14 · 166 阅读 · 0 评论 -
TestDataLake在提升测试效能方面的实践
为解决这些问题,许多公司开始转向自动化测试数据生成。通过程序或脚本来快速生成符合特定业务场景的测试数据。这种方法相比手动创建测试数据更加高效。然而,自动化测试数据生成也存在着一些问题和挑战。原创 2023-08-07 16:28:19 · 153 阅读 · 0 评论 -
测试工程师的工作
当自己具备了一定的测试思维之后,我们面临的一个挑战就是在测试技术上的关卡,在招聘上面我们往往可以看到基本上的测试工程师都是需要测试工具的使用,而且会使用测试工具比不会使用测试工具的人工资要高,显而易见,在具备了测试思维之后,要进一步的提升自己就要在技术上的加强了,不管是测试工具的使用,还是自动化脚本的编写,这些都可以视为辅助我们去测试一个软件产品的工具,为达目的想尽一切办法去发现软件中的缺陷。什么是高质量bug呢?然后确定了项目之后,大家一起分析一下功能,需要满足什么样的需求,这个产品的架构是怎样的等等。原创 2023-08-06 16:51:12 · 172 阅读 · 0 评论 -
接口测试之文件下载
A. 一般项目中,文件存储/下载都是公司基础建设提供的能力,大部分实现都是获取到所下载文件的URL,然后浏览器会去执行下载操作(效果同在浏览器中直接输入该下载URL),因此,需要先找到该文件的下载URL,然后在通过脚本/工具进行模拟下载。以上两种方式对于下载原理都是一样的,本质上都是获取到下载URL然后由浏览器去执行下载,实际项目中根据自己项目类型找到对应URL即可。在工作中对于下载接口,经常会有这样的疑问:这类接口一般功能比较稳定,但是又比较重要,需要占用回归测试时间,有没有可替代的方式?原创 2023-08-04 16:15:53 · 2922 阅读 · 0 评论 -
接口测试原理和基本步骤
这个东西就是我们所谓的接口,在java里,接口里包含属性名和方法,所有的方法都是抽象方法,只有方法名,而没有这个方法的具体实现。一个常见的问题,页面的输入框可能会有长度限制,比如限制只能输入十个字符,但是后台并没有做限制,这样很容易会导致出现一些数据库的异常,这样的问题可能在功能测试里面没办法发现,但是接口测试可以。接口也可以认为是我们要做多少事情,因为在技术层面,如果要实现登录、注册、增、删、改、查等操作,就会先设计好一个模块,说明具体实现哪些功能点,这个功能点应该有哪些输入项,有哪些方法。原创 2023-08-03 16:25:02 · 471 阅读 · 1 评论 -
使用docker部署一个jar项目
通过docker镜像, docker可以在服务器上运行包含项目所需运行环境的docker容器, 在线仓库里有很多各个软件公司官方发布的镜像, 或者第三方的镜像. 如果我们需要使用docker把我们的应用程序打包成镜像, 别的机器上只要安装了docker, 就可以直接运行镜像, 而不需要再安装应用程序所需要的环境(比如 jre)了.原创 2023-08-02 15:54:28 · 1505 阅读 · 2 评论 -
如何在Visual Studio Code中用Mocha对TypeScript进行测试
本文的主要目的在于帮助你了解并熟知以下两点:如何用TypeScript编写并运行测试用例?如何在Visual Studio Code中使用调试器在线调试代码,并发现代码中的bug?原创 2023-08-02 15:43:25 · 1624 阅读 · 0 评论 -
通过Python调用禅道API
百度出来的100%都用不了(本篇除外...)。于是自己修改了网上代码,先get session,再post登录,最后调用产品列表验证,实测通过。之后我会在评论区挨个私信发给你们~禅道API接口,非REST接口。原创 2023-08-02 15:33:51 · 704 阅读 · 2 评论 -
软件测试员的非技术必备技能
一份好的报告和有效的沟通对于建立所有涉众的健康透明机制和信任是至关重要的,因为它准确传达了团队所采取的所有行动、发现的bug、解决的bug和遇到的任何其他问题。测试软件时,必须分析给定的情况,并制定相应的解决方案,良好的思维过程和正确的思维方式将有助于分析和解决测试过程遇到的问题。作为一名测试人员,为了优化测试过程,需要对市场上现有的与项目需求相关的测试工具和技术有足够的了解。此外,这将是一件非常昂贵的事情。在软件行业,技术以极快的速度发展,优秀的软件测试人员应该通过不断变化的技术提升他/她的技术技能。原创 2023-07-31 16:28:06 · 170 阅读 · 0 评论 -
软件测试员,面试常见的18个问题(记得收藏!)
我们是项目组全体来评审的额,毕竟测试是保证软件质量的最后一个环节,测试用例是测试执行的依据,所以测试用例十分重要,项目组非常重视测试用例的评审,希望把漏测的降到最低,所以我们的测试用例是项目组全体成员来评审的。A12:因为自己执行自己设计的用例,会按照设计用例的思路来执行用例,可能会忽略一些偶然或异常的情况,交叉执行可能会发现新的BUG,当然如果用例已经写得很细,颗粒度很小吗,输入输出写得很全面交叉执行的结果都会差不多,无论谁来执行结果都是一样的。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。原创 2023-07-31 16:19:06 · 263 阅读 · 0 评论 -
软件测试员怎么提升自己的职业竞争力?
首先分析下软件测试岗位的发展方向:软件测试岗位可以向两个方向发展,一个管理方向,一个技术方向。现在很多做测试的人感到很迷茫,自己整天做着重复的事情,就是不停地测试测试。原创 2023-07-31 16:16:00 · 253 阅读 · 1 评论 -
软件测试学习路线-基础篇
软件测试自学实践部分比较难,因为需要找到有问题的源代码进行测试,更建议跟团队一起学习。原创 2023-07-31 16:57:14 · 2196 阅读 · 65 评论 -
程序员IT行业,外行眼里高收入人群,内行人里的卷王
一词,在我眼里其实是贬义词。因为我的其他不是这行的亲朋友好友,你和他们说,你是一名程序员·他们 第一刻板影响就是,反正给人一种不干净,不好形象,,,,不知道什么时候开始网络上也去渲染这些,把程序员和这些联想在一起了。回到正题,我们来聊聊,我们光鲜靓丽背后高工资。是的作为一名程序员,在许多人的眼中,IT行业收入可能相对较高。这是不可否认的。但是,在这个职业领域里,我们所面对的困难和挑战也是非常的多。原创 2023-07-30 16:16:54 · 127 阅读 · 0 评论 -
金三银四好像消失了,IT行业何时复苏!
也是我这一次就在投递简历,和面试时候刻意去避免进那种外包,和外派公司。面试什么也还算顺利,不到半个月就拿到了offer。但是工资总体来说比上一家是要少一点,但是我也接受了,是一家做本地生鲜电商公司,,原创 2023-07-30 16:13:08 · 194 阅读 · 0 评论 -
认识自动化测试
适用于不同的场景,有各自的优势与不足。需要注意的是,它们不是互相排斥,而是相互补充的。关于测试覆盖率,最重要的一点应该是迈出第一步,即有意识地去收集这种数据。没有覆盖率数据,测试工作会有点像在“黑灯瞎火”中走路。有了覆盖率数据,并持续监测,利用和改进这个数据,才是一条让测试工作越来越好的光明大道。是不是所有代码都要有测试用例支持呢?测试覆盖率还是要和测试成本结合起来,比如一个不会经常变的公共方法就尽可能的将测试覆盖率做到趋于 100%。原创 2023-07-30 16:03:31 · 334 阅读 · 0 评论 -
【3】-使用@task设置测试用例执行的权重
locust的@task装饰器提供了入参。,locust执行测试任务时,会根据。之后我会在评论区挨个私信发给你们~的比例进行分配用户数。原创 2023-07-28 15:44:18 · 146 阅读 · 0 评论 -
网银转账测试分析与设计
通过选择付款账号、填写转账金额、输入收款账户(含收款账号、收款人姓名、开户行)以及其他附加信息(手机号、备注等),填写好之后,进入安全认证页面选择安全工具、填写安全密码,最后提交转账。1.5 收款账号需要考虑:行内账号,跨行转账,同城、异地转账,借记卡、信用卡账号,同名账户(本人,本行)。1.6 安全认证:U盾(插入U盾输入密码),手机验证码(发短信到手机,输入验证码进行验证)1.付款账号、金额、收款账号、安全认证全部输入正确的,可以转账成功。2.3 转出账户被销户,冻结、挂失等异常状态,不能转出。原创 2023-07-27 14:47:10 · 1189 阅读 · 5 评论 -
到底什么是前后端分离
对于前后端分离的应用,既需要进行功能测试,还需要进行接口测试,并且在进行功能测试是还需要分析 bug 是前端还是后端的问题。后端只要开发接口即可,前端可以通过发起 AJAX 请求,拿到后端的数据,渲染和怎样调用接口的事情,交给前端。在早期,Web 应用开发主要采用前后端不分离的方式,它是以后端直接渲染模板完成响应为主的一种开发模式。随着 AJAX 技术的出现,可以在不刷新页面向服务器发送 http 请求,所以又出现了前后端分离的开发模式。3、后台服务器只提供的数据接口的服务,响应的往往是 JSON 数据。原创 2023-07-27 14:44:08 · 677 阅读 · 0 评论 -
性能如何通过分析后台资源确定瓶颈之磁盘网络
当任务恢复时,保存的上下文就被操作系统内核恢复到先前的执行情况。保存一个被挂起的任务上下文,并在恢复任务时恢复其上下文的这个处理过程就叫上下文切换。可以通过该计数器的值判断网络连接速度是否是瓶颈,具体操作方法是用该计数器的值与目前的网络带宽进行比较。如果系统代码率低下或者结构设计有缺陷而导致大量的上下文切换(context switches/sec显示的上下文切换次数太高),那么就会占用大量的系统资源。阈值:该值*8后再与带宽的一半进行比较,如果小于带宽的一半,则一般 认为网络没有瓶颈。原创 2023-07-27 14:37:18 · 251 阅读 · 2 评论 -
某奇艺缺陷书写规范及缺陷严重程度划分
Bug书写规范:一、最基本的要求: 1、Bug内所有的文字表述要通顺,无错别字 2、对各个模块的描述必须使用专有名词(比如搜索结果页、搜索监听页) 3、Bug中的各项描述符合以下要求:原创 2023-07-25 16:01:26 · 423 阅读 · 0 评论 -
智能手环测试
随着智能设备中配置的各种传感器和硬件元器件与高运算能力成为常态,穿戴式个人装备正在快速成长,手环作为其中不可忽视的佼佼者一路高歌猛进,集成的功能越来越精密,提供的数据也越来越准确,其本身也在不断扩展自己的功能,已经衍生出了压力监测、医疗保健功能等方向的新型产品,需要测试的方面和细节越来越多,作为测试工程师,必须要按照用户习惯来驱动测试(BDD)。Ø 气候环境:高/低温交变,快速温度变化,温度冲击,盐雾/气体/阳光腐蚀,老化,耐湿,隔热防尘防水(IP等级),阻燃,机械冲击,跌落,斜面冲击等等。原创 2023-07-25 15:43:04 · 1526 阅读 · 14 评论 -
怎么才能带好团队
前些天有位学员找到我,问:面试官问我怎么才能带好团队,这个问题我要怎么回答呢?。相信大部分同学在面试过程中也都遇到过类似的情况吧?那么我们今天就聊一下这个问题,在团队管理中,要怎么做才能带好团队呢?在工作中,很多时候团队问题多,问题严重,是因为基本工作没做到位。很多团队工作没有章法。所谓种瓜得瓜,种豆得豆。你为团队付出多少,你就能得到多少。原创 2023-07-24 17:21:49 · 185 阅读 · 0 评论 -
性能测试常见故障和解决思路
从常见的应用服务器来说,比如Tomcat,如果堆内存设置比较小,就会造成新生代的Eden区频繁的进行Young GC,老年代的Full GC也回收较频繁,那么对TPS也是有一定影响的,因为垃圾回收时通常会暂停所有线程的工作。高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。最大连接数太少,造成请求等待。修改JVM参数,将Xss参数改大,增加栈内存。原创 2023-07-24 17:17:41 · 809 阅读 · 1 评论 -
软件项目验收测试报告-软件项目验收流程
项目验收,也称范围核实或移交。它是客户核查项目计划规定范围内各项工作或活动是否已经全部完成,可交付成果是否令人满意,并将核查结果记录在验收文件中的一系列活动。归纳起来,软件项目的可交付成果包含软件成果和软件成果说明文档两部分。其中,软件成果是项目实施的直接结果,它必须符合项目目标,只有软件成果验收合格后,项目才能结束。软件成果说明文档是项目团队向客户提供的用以从各个维度说明软件成果的文档,如软件需求说明书、数据库设计说明、测试用例等,此类文档的类型和数量随项目规模、客户要求的不同而有所不同。原创 2023-07-23 16:25:59 · 889 阅读 · 4 评论