自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 今天面了个阿里拿27k出来的小哥,让我见识到了什么是天花板

2022年堪称大学生就业最难的一年,应届毕业生人数是1076万。失业率超50%!但是我观察到一个数据,那就是已经就业的毕业生中,计算机通信等行业最受毕业生欢迎!计算机IT行业薪资高,平均薪资是文科其他岗位的3-4倍,工作几年攥个首付没毛病,自然成为了香饽饽!然而不同专业的竞争力不同,有的专业不仅好找工作,待遇也高,软件测试平均月薪能达到1万多,即使刚毕业也能轻松月入过万!随着工作经验积累,技术栈体系完善,软件测试薪资和前景不亚于互联网其他高薪岗位,甚至会更吃香;

2022-10-22 21:34:52 53516 24

原创 31岁才转行程序员,目前34了,我来说说我的经历和一些感受吧...

刚去的第一个月,我经受了很大的压力。部门负责人,看我年龄这么大,就以为我是一个很牛逼的人。就给我安排了些较难的任务,我很费力的完成了一两个后。这里开发人员的技术水平,和上家公司完全不是一个档次的。氛围也和第一家公司不一样了,同事们经常聊各种新出来的技术。哪怕聊点8卦,也是以IT新闻为主。他们聊的东西,很多我都听不懂。让我深感自己知识面的狭窄。这里的学习气氛也浓厚。做过开发的都知道,忙的时候真是喝水都顾不上。但有时没事,又闲得很。上家公司在没事干时,大家就偷偷玩游戏、看视频、小说等。这里没事时,大家就是。..

2022-07-22 20:03:15 6474 11

原创 自动化测试指南:如何精准选择自动化测试用例

选择正确的自动化测试用例是一个需要细致考虑和策略规划的过程。通过遵循本文中的步骤,确保自动化测试既全面又高效,为软件项目提供坚实的质量保障。记住,自动化测试不仅仅是为了发现问题,更是为了提高测试效率和产品质量。🌟通过深入探索自动化测试用例的选择和设计,本文希望能够帮助小伙伴们构建一个更加健壮和可靠的自动化测试框架。让我们一起迈向更高质量的软件测试之旅!🚀🌈

2024-07-22 16:32:32 223

原创 接口测试:使用 curl 发送请求

cURL 可以与 Chrome Devtool 工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重放请求、修改参数调试,编写脚本。也可以单独使用,根据自己的需求构造请求调整参数,构造多种接口测试场景。(2)在企业微信中通过 curl 命令创建标签,这是一个 post 请求,通过 --data 参数传递 tagname 和 tagid。3)对上面命令进行细化,加入 -v 参数可以打印更详细的内容,用2>&1将标准错误重定向到标准输出,发送此命令将得到细化后的内容。

2024-07-22 14:49:05 387

原创 Python自动化测试进阶:性能测试与持续集成实践

Python自动化测试进阶包括性能测试和持续集成实践两个关键方面。以下是对这两个领域的简要介绍,并附带一些示例代码。

2024-07-22 14:37:28 569

原创 终于搞定selenium图片滑块验证码了!

因为背景图片中的残缺块位置和原始残缺图的亮度有所差异,直接对比两张图片相似的地方,往往得不到令人满意的结果,在此要对两张图片进行一定的处理,为了避免这种亮度的干扰,笔者这里将两张图片先进行灰度处理,再对图像进行高斯处理,最后进行边缘检测。在对极验验证码进行学习中,有的网站对移动轨迹进行了验证,如果滑动太快,也会被识别出机器操作,为了模拟人工操作,出色的程序员写出了一个魔幻移动轨迹。关于第二个问题,这里没有找到很好的测量工具测量出来,好在验证码对位置精确度要求不高,就一个个试数吧。

2024-07-22 14:29:42 439

原创 关于web自动化过程中滑块解锁问题以及页面滚动的问题的研究

遗憾的是,有些网站的滑块检测条件极为苛刻又难以捉摸,即使使用了随机暂停,加速度变化等操作来模拟真人滑动,还是无法通过检测。疑似要通过人工智能的方式来解决。】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!然后通过对滑动轨迹:即一定时间内滑动的偏移量的变化,来模拟真人操作,试图通过检测。由于各个网站的防爬技术的提高,常规。调用方法进行拖拽的方式控制页面滚动,需要通过。获取滑块本身的元素以及滑块所在长条的元素。针对单个元素的内嵌滚动条进行滚动。

2024-07-20 15:18:04 486

原创 为什么即便你是程序员,依然得学好单元测试?

这些类型的测试是单元测试,在这种测试中,我们独立地测试应用程序的一个单元,而不考虑它的外部依赖项(比如文件,数据库,web服务等等)。这些单元都是软件程序里的一部分,比如单个程序中的功能,对象,方法,程序,接口和模块。要记住,每一行没有编写测试代码的情况下,编写的每一行代码在之后添加的测试中,成本会更高。在重构一个代码时,你要在不改变它行为的基础上,改变你代码的构架。当你做单元测试时,重构代码或是更新数据库将变得简单,并且你可以确保你的模块还在运作,并没有让之前还在运作的任何东西有意外的损坏。

2024-07-20 15:16:20 400

原创 这款爆火的神器,自动化测试功能太强悍了!

对于一个互联网公司来说,测试人员是公司里不可缺少的一个角色。但从事软件测试的人员不计其数,每年都有很多毕业生卷入互联网的大军。如果一个测试人员的能力还只停留在点点点上,自然是会被新一代的“卷王”们淘汰的。于是掌握自动化测试,便成了很多测试人员提升职场竞争力的一条必经之路。但通常意义的自动化测试,相对门槛较高,需要具备一定的代码能力,比如我们通常使用的Jmeter,虽然功能强大全面,但也被很多测试人员评价存在上手困难,操作繁琐,测试报告不完整清晰,发现问题不易追溯查找等问题。

2024-07-19 16:06:11 894

原创 测试人员必备:常用自动化测试工具

对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试 (DAST) 和交互式应用程序安全测试 (IAST),支持 Web 2.0、JavaScript 和 AJAX 框架的全面的 JavaScript 执行引擎,涵盖 XML 和 JSON 基础架构的 SOAP 和 REST Web 服务测试支持 WS-Security 标准、XML 加密和 XML 签名,详细的漏洞公告和修复建议。可以测试非常多的应用,比如接口API,Web services,桌面程序,Web系统,手机APP。

2024-07-19 15:06:29 1015

原创 一篇文章带你上手批量功能测试

一般而言,批量交易通过建立作业计划模板,以人工干预或系统自动调起程序的方式执行,模板中包含若干根据业务逻辑处理先后顺序进行排列的节点,节点可以调起对应的批量交易程序,对数据进行加工处理并输出结果。主要关注清理节点清理策略的验证,数据清理边界值处理准确(清理日及该日前的数据均被清理,清理日后的数据未被清理),最大量数据的清理时间不影响第二天的联机。对于节点自身功能:报表名称、格式、内容的正确性(数据处理的记录数、抽样数据各字段数据结果均正确),报表文件发送功能正常(需专属的较完备的环境)。

2024-07-19 15:04:58 893

原创 安卓Android压力测试与性能测试详解!

private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)TotalTime表示新应用启动的耗时,包括新进程的启动和 Activity 的启动,但不包括前一个应用Activity pause 的耗时。Monkey 主要用于Android 的随机压力测试,是一个自动的压力测试小工具,主要目的就是为了测试android app是否会Crash(崩溃).因此启动时长是一项比较靠前的性能指标。

2024-07-19 15:02:51 426

原创 如何在一个高并发的应用中进行调试和测试

在一个高并发的应用中进行调试和测试是一项挑战性的工作,因为它涉及到了系统性能、资源竞争、同步机制以及潜在的并发编程错误等多个方面。下面我会详细解释如何在高并发环境中进行调试和测试,并提供相应的策略和技术。在多线程环境下,单元测试可以帮助你确保每个组件在并发状态下是安全的。JUnit 5 提供了一些支持并发测试的工具。例如,你可以使用@RepeatedTest或者@ParametrizedTest来重复执行测试,模拟并发环境。集成测试检查多个组件或者整个系统在一起时的行为。

2024-07-18 15:43:33 884

原创 API自动化测试与持续集成

To provide a high-level abstraction for testing HTTP,提供一个高级别的HTTP测试Github地址:SuperTest。

2024-07-18 15:37:45 936

原创 深入了解HTTP缓存!测试要注意这5大应用场景

例如,当与 Accept-Encoding 标头一起使用时,该设置允许区分压缩和未压缩的内容,或者当与User-Agent 标头一起使用时,它会区分移动或桌面网站的版本。测试人员需要验证用户登录和注销时缓存的正确更新,以及对用户权限变更的处理,虽然这在登录模块中是比较次要的测试,但是对于安全性要求较高的系统还是比较重要的;这是最常见的一类需要注意缓存的情况,就是如果遇到一些小bug,需要开发立即改好后验证,那就可以等开发改完,测试这边需要把验证用到的浏览器缓存清除一次,因为很可能页面还用的之前的缓存数据;

2024-07-18 15:36:40 759

原创 UI测试还在Selenium,难怪你会被淘汰

当然,并不是说Selenium就没有用武之地了,selenium经过这么多年的发展已成为最稳健的自动化测试框架之一,至于选择Selenium还是Playwright很大程度是由具体需求、对测试效率的要求以及团队对新工具的接受程度而决定的。在UI自动化测试的领域中,Selenium无疑是一颗璀璨的明星,它以其强大的浏览器自动化能力,长期以来一直是众多测试工程师的首选工具。

2024-07-17 17:05:56 387

原创 使用Jmeter轻松实现AES加密测试

但是我们很多读者遇到的是使用其他的通用加密算法,一说到通用加密方法,不得不说AES加密,AES加密算法是英文单词Advanced Encryption Standard的首字母缩写,AES加密采用的是效率较高的对称加密算法,也就是说,其加密、解密使用相同的密钥。,当然JMeter自带的urldecode函数也能实现url解码处理,第1行实现的是引入java.net包下的URLDecoder类,提供给第5行url解码方法调用,其他脚本行的注释内容详见步骤三,这里就不再赘述了。那么遇到加密情况,大家。

2024-07-17 15:00:31 585

原创 测试开发面试题:单例的设计模式和应用场景

单例模式是一种常用的设计模式,它可以确保只有一个实例,并提供一个全局访问点。单例模式可以应用于各种场景,例如资源管理、配置管理和全局状态管理。

2024-07-17 14:54:51 543

原创 APP 安全测试项总结

数据库是否存储敏感信息,某些应用会把cookie类数据保存在数据库中,一旦此数据被他人获取,可能造成用户账户被盗用等严重问题,测试中在跑完一个包含数据库操作的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。5.4、是否校验数据合法性。为了避免这些问题,除了代码审核外,通常开发的做法是对代码进行混淆,混淆后源代码通过反软件生成的源代码是很难读懂的,测试中,我们可以直接使用反编译工具(dex2jar和jd-gui工具)查看源代码,判断是否进行了代码混淆,包括显而易见的敏感信息。

2024-07-17 14:47:51 748

原创 性能测试怎么做?看完这篇文章你就懂了

05流程五 —测试计划1.简介项目的背景,进行此次性能测试的原因,以及性能测试覆盖的范围等,几乎所有项目文档都在开端对项目进行简单的阐述。2、性能测试需求寻找被测试的对象和压力点,被测的系统应该是最重要的最基本的功能,也是用户使用最频繁的功能3、测试环境软件环境硬件环境网络环境4、数据准备5、测试工具6、测试策略7、人力与时间的安排06 流程六 — 测试环境搭建1、性能测试环境与功能测试环境的区别。

2024-07-16 14:36:59 273

原创 接口测试必备技能 - 加密和签名

在网络上传输的原始数据(明文)经过加密后形成(密文)传输,防止被窃取。

2024-07-16 14:27:23 846

原创 selenium自动化测试框架

handles:句柄,浏览器的每一个标签页,都是一个句柄默认打开的浏览器,都是聚焦在第一个标签页,Selenium不会自动切换标签页。如果在运行Selenium时需要切换到新的标签页来进行操作,则需要进行句柄的切换实际操作过程中,尽可能保持最多不超过两个标签页存在,一般都是关一个,再换一个。同时你还需要跟你chrome浏览器版本匹配的chromedriver版本。

2024-07-15 15:17:21 792

原创 细说渗透测试:阶段、流程、工具和自动化开源方案

扫描阶段的主要目的是以最小的被发现代价,深入挖掘目标,收集有价值的信息,如同从一堆乱七八糟的物品中筛选出隐藏的宝石。可以说,渗透测试流程的自动化使得安全团队能够从重复性任务中解脱出来,简化了资源的使用率,缩短了漏洞扫描与评估的时间,进而让组织能够动态地应对不断变化的威胁形势,保护自身的敏感数据和数字资产。参照Dirb的发现,使用Nikto进行更全面、更深入的漏洞分析,总结出Web服务器上的已知漏洞、错误配置、以及过时的软件版本,并形成有关安全风险的综合报告。显然,渗透测试离不开工具的使用。

2024-07-15 14:37:21 765

原创 如何评估自动化测试脚本的编写时间和维护工作量?

通过综合考虑以上因素,可以对自动化测试脚本的编写时间和维护工作量进行评估,并制定合理的计划和资源分配。同时,实际的编写和维护过程中也需要不断进行监控和调整,以确保工作量的准确性和合理性。:评估脚本的复杂性,包括测试需求的复杂程度、涉及的功能和模块的复杂程度,以及脚本中使用的技术和算法的复杂性。:圈复杂度是一种用于衡量程序复杂性的指标,它基于程序中的控制流结构(如条件语句和循环语句)的数量和复杂程度。:评估脚本设计和架构的质量和可维护性。良好的脚本设计和架构可以减少维护工作量,提高脚本的可重用性和可扩展性。

2024-07-15 14:29:29 811

原创 国内好用的测试用例管理工具有哪些?

以上工具大部分都适用中小测试团队,较大团队使用的工具我没有去研究,这些工具也都较重,比方说惠普的 ALM、IBMRationalQualityManager 等(其实就是贵,土豪请随意)。针对自己团队情况可根据功能、软件开放性、价格、协作效率、交互设计等维度选择需要的工具。

2024-07-15 14:28:04 694

原创 什么是关键字驱动测试?

关键字驱动测试 (KDT) 是测试自动化中的一种脚本技术,其中测试用例指令与实际测试脚本逻辑分开。它利用一组预定义的关键字来表示要在被测应用程序 (AUT) 上执行的操作。这些关键字是用户交互或系统状态的抽象表示,使测试更易于阅读和维护。在 KDT 中,测试数据和关键字通常存储在外部数据文件或表中,允许非技术利益相关者参与测试的创建和修改,而无需了解底层代码。该方法促进了代码和测试用例的可重用性,因为相同的关键字可以在不同的测试脚本中使用。测试自动化工程师通过首先定义关键字及其相关操作来实现 KDT。

2024-07-13 15:24:42 688

原创 小程序测试点

微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。

2024-07-13 15:19:52 262

原创 Appium + mitmProxy 实现APP接口稳定性测试

为了保障 App 的稳定性,我们现在有 XMoney 智能遍历测试(崩溃、界面错乱、加载异常等)、UI 自动化(崩溃和业务逻辑验证)、Top1000 小程序遍历(崩溃和业务逻辑报错)、接口稳定性建设(崩溃和业务逻辑验证)。今天要给大家介绍的是接口稳定性建设,就是在后端返回数据如果不可靠的情况下,App 是否依然可以稳定运行。为了方便理解整个业务设计,顺便把我们的机房设计也给大家简单介绍一下。

2024-07-13 15:11:54 867

原创 基于Docker的JMeter分布式压测

在这篇文章中,我们的目的是使用Docker来创建JMeter分布式测试基础设施。如果你按照上面的步骤,你就会明白,使用docker创建测试基础设施是非常容易和快速的。我们把整个基础设施写在一个文件中,可以进行版本控制。然后我们从该文件中创建一个实例(容器)。Docker确保该容器具有所有的软件和依赖性等。你可能会问,在一台机器上运行多个jmeter服务器实例以产生更多的负载是否可以?不,这是不可以的。这根本没有帮助。事实上,一个JMeter实例比在同一主机上运行多个JMeter实例能够产生更多的负载。

2024-07-11 16:04:10 873

原创 Jmeter 命令启动-动态参数化

再次运行脚本时,无需编辑脚本,只需要在执行命令中更改threadNum、loopNum和rampupTime的值,即可修改线程属性。3、以设置本地Jmeter属性为例,先在windows下编辑脚本,将线程数、循环次数、ramp up-time等参数化。定义三个变量和变量对应的默认值,例如${__P(threadNum,1)},表示变量threadNum的默认值为1。两个样本请求的线程数都为1,说明设置成功(自定义变量中,变量的默认值都为1)因此,可以参数化一些常用的变量,直接在Jmeter命令行进行设置。

2024-07-11 16:01:53 371

原创 软件测试和QA的KPI是什么?

软件测试中的关键绩效指标(KPIs)是有助于衡量测试绩效和效果的计算数据。通过它,您可以了解到软件测试是否朝着正确的方向发展,是否能按时完成。

2024-07-11 15:55:33 348

原创 软件测试之冒烟测试

冒烟测试一词,来源于电路板测试:电路板拼接或组装完成后,进行通电测试,如果冒烟,则说明存在缺陷。而软件应用中,对其的定义为:在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件基本功能进行确认验证的手段,并非深入测试。如果不做冒烟,版本转测试后,所有测试人员拿该版本去部署环境,去执行自己负责模块的用例,如果某个关键功能有bug,会阻塞一批用例的执行,测试工作无法顺利开展。冒烟测试是在版本转测试之前,先选择一部分基础的测试用例进行验证,确保全流程没有严重、阻塞性的问题。

2024-07-10 14:52:19 255

原创 质量保障之精准测试!

为了解决这些难点,精准测试在2012年被提出,所谓精准测试是一种可追溯的软件测试技术,就是借助一定的技术手段,通过算法辅助对传统的软件测试过程进行可视化、分析和优化的流程,其核心思想就是对测试过程的活动进行监测,将采集到的监控数据进行分析,得到精准的量化数据进行质量评价。配置接入代码染色的应用,可直观获取到对应月度版本的变更程序方法级别覆盖率,将此作为精准测试的实践数据,在后续可展开更深度的分析,并不断扩大推广规模以及深度,增强精准测试的应用效果。精准测试的目标如下图所示。下图是目前的测试工作现状。

2024-07-10 14:48:22 634

原创 埋点自动化测试框架设计

大数据时代,多数的web或app产品都会使用第三方或自己开发相应的数据系统,进行用户行为数据或其它信息数据的收集,在这个过程中,埋点是比较重要的一环。埋点收集的数据一般有以下作用:驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等驱动安全:风险识别。

2024-07-10 14:46:29 599

原创 Jmeter 性能-阶梯式性能指标监听

例如:现要加载100个线程,希望聚合报告中分别展示:1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是一并总体的统计数据。把opms的login请求放到事物控制器下,事物控制器的名称是获取的Thread变量,中间也可以添加一些监听器。】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!脚本实现,实时获取活动的线程总数,根据活动线程总数赋值给变量Thread供后续事务调用。④执行压测脚本,查看聚合报告。

2024-07-09 16:32:32 293

原创 性能测试中,我遇到的8个疑难杂症集锦

scp -r -P 端口号 root@123.123.123.123:/root/,如内网带宽为100M时,可传输的最大网速为 12M/s 左右,如传输速率只是2M/s以下 可能不在同一网段,一般也满足不了压测传输对网速的要求。举个例子,Jmeter(单台)不能在服务器只能处理100个请求每秒的情况下,提供200QPS的压力,一般情况下建议不超过500,默认从100线程开始施压,根据实际处理能力来调整线程数大小。主要从吞吐量,错误率,资源监控数据,比如一个接口的处理能力为100个/s,高于需求的期望值。

2024-07-09 15:00:43 807

原创 开眼了,自动化测试还能这样用?

为了解决这个问题,Apipost推出了持续集成功能,方便同学们将Apipost中配置的自动化测试脚本有效地融入到DevOps体系中。安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。Apipost 自动化测试支持「持续集成」功能,在安装了Apipost的服务器中输入命令,即可运行测试脚本。保存好设置后,开始构建项目,点击立即构建,开始执行项目,执行完成后可以在控制台输出中查看结果。在创建好的测试用例中选择「持续集成」。

2024-07-09 14:49:21 310

原创 Django ORM 框架中的表关系,你真的弄懂了吗?

默认情况下,这个表名是使用多对多字段的名字和包含它的模型名生成(上面的例子,会生成 pizza_toppins),然后包含两个字段,分别是以两个关系模型的名字和 _id 组成(pizza_id,topping_id),并创建外键引用对应的表的 id。注意:创建学生,或者是创建课程的时候,都不需要去编辑彼此,这个时候建立多对多字段,主要是为了查询方便。外键字段的第一个参数是一个位置参数,就是要关联的模型,可以是模型类本身,也可是字符串形式的导入路径(当引用其他应用的模型,和引入后定义的模型时很有用)

2024-07-09 14:35:03 533

原创 关于 Appium 各种版本的安装,都在这里

目前该项目已经很久没有维护了,针对 Windows 平台最新的版本是 AppiumForWindows_1_4_16_1,里面封装的 Appium server 为 1.4.16,针对 Mac 平台最新的版本是 appium-1.5.3,里面封装的 Appium server 为 1.5.3。时会看到网上各种帖子讲解如何安装 Appium,各种 Appium 版本的安装教程满天飞,而很多帖子中提供的安装教程是已经过时了的,容易误导初学者。(2) 在系统变量“Path”中追加“%NODE_PATH%”

2024-07-08 17:07:41 651

原创 用Locust做性能测试是一种什么样的体验

相反,你必须使用 --slave 标记启动一台到多台 Locustslave 机器节点,与标记 --master-host 一起使用(指出master机器的IP/hostname)。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。使用也比较复杂,目前大多介绍性能测试的书籍都以该工具为基础,甚至有些书整本都在介绍 LoadRunner 的使用。,使用Python代码来定义用户行为,用它可以模拟百万计的并发用户访问你的系统。

2024-07-08 15:10:25 968

空空如也

空空如也

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

TA关注的人

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