技术分享
文章平均质量分 86
程序员江念
授人以鱼不如授人以渔
展开
-
接口自动化测试(Python+Requests+Unittest)
将大模块切分成小模块。原先是一个jar包里面包含所有模块,改一个模块就有可能影响其他模块,现在是将一个一个的模块都打成一个一个的jar包,模块与模块之间的交互通过接口,哪个模块出了问题,只需要修改那个模块的jar包,避免因为修改一个模块的代码导致其他模块出错。无论用POST请求还是GET请求,都能完成对数据的增删改查,分不同的请求方式更多的是一种约定。POST请求一般用于像登录这种安全性要求高的场合,请求不会被缓存,也不会保留在浏览器的历史记录中。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。原创 2024-06-15 14:39:12 · 678 阅读 · 0 评论 -
软件测试需求分析
1) IEE软件工程标准词汇表( 1997年)中定义需求为:(1)用户解决问题或达到目标所需的条件或权能( Capability )(2) 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。(3)一种反映上面( 1 )或( 2 )所描述的条件或权能的文档说明。2) 需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束软件需求的层次需求树的概念需求树的好处阅读理解各类需求结合界面原型图理解软件各部分功能。原创 2024-06-15 14:36:38 · 890 阅读 · 0 评论 -
干货必读: 测试开发既然都这么厉害了!为啥不直接转业务开发?
质量不是被测试出来的,质量也不等于测试,同时质量并非仅仅依赖于测试阶段,而是需要在整个软件开发过程中进行预防和确保。测试只是其中的一环,而不是质量的唯一保障。同时测试工程师是一个把质量意识输出到整个团队的人,是一个流程推动者,是一个需求挖掘者,是一个质量把关者,一方面需要通过自己的经验和技术手段去挖掘更多的Bug,另外一方面,通过传播质量意识尽可能的去从产品上游去避免Bug。原创 2024-06-14 15:23:10 · 544 阅读 · 0 评论 -
从python角度解析selenium原理
(3)selenium实际已封装好各种操作接口的请求函数,用户只需通过指定的方法传入数据即可,如get、click、find_element实际都是封装了整个http请求过程的方法;(4)可见,完全可以跳过selenium,自己通过requests模块构建请求信息发送给驱动程序,从而驱动浏览器执行相关操作。(2)客户端按照服务端接口要求传入请求方式、请求url和请求数据,然后发送http请求,服务端收到请求后驱动浏览器执行命令;(2)通过selenium实现工作流。(3)selenium源码解析。原创 2024-06-14 15:19:55 · 834 阅读 · 0 评论 -
使用Postman工具做接口测试——生成随机参数
我们平时使用最多的接口调试工具就是postman了,比如开发将一个接口给到你,你想看看接口是否正常。最常用的方法就是用postman去调一下。如果通,就写接口测试用例,反之,将开发打一顿吧o( ̄︶ ̄)o。我们测试接口时,避免不了重复调用一个接口,这样的话,需要随机数来参数化关键的业务字段。其实postman还有其他内置随机数,这里介绍postman三种随机数,打开postman,输入{{,可以看到,如图:随机数如下:{{$guid}}:添加一个V4风格GUID(如:aa002-44ac-45ca-aae3-原创 2024-06-13 15:27:52 · 836 阅读 · 0 评论 -
软件测试方法之等价类测试
因为毕竟没有做穷举测试,所以会有遗漏缺陷的风险,如果时间允许,尽可能的做补充测试(不用纠结,觉得有风险的有问题的补充测试就好)。穷举测试是最全面的测试,但是在实际工作中不能采用,因为测试效率太低(数据量巨大,根本测不过来)。效果是等价的所以每个范围是一个等价类),然后从每个范围中挑选代表数据,这些代表数据能反应这个范围内数据的测试结果。高标准的要求:能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏。测试用例是要评审的:互评互审,测试组开评审会、有用户参加的评审会。原创 2024-06-13 15:24:06 · 542 阅读 · 0 评论 -
集成测试如何做?
三明治测试是一种策略,在这种策略中,顶层模块与较低层模块进行测试,同时较低层模块与顶层模块集成并作为一个系统进行测试。大爆炸测试是一种集成测试方法,在这种方法中,所有组件或模块立即集成在一起,然后作为一个单元进行测试。在增量测试方法中,测试是通过集成两个或多个彼此逻辑相关的模块来完成的,然后测试应用程序的正常功能。因此,它也被称为“I & T”(集成和测试),“字符串测试”,有时也称为“线程测试”。由于所有模块都是一次测试,因此高风险的关键模块不会被隔离,并根据优先级进行测试。这些需要按优先级进行测试。原创 2024-06-13 15:23:18 · 644 阅读 · 0 评论 -
3.3K star!浏览器开源自动化测试工具!
QAWolf是一个基于浏览器的测试自动化工具,它允许用户通过简单的录制和回放功能来创建测试用例。与传统的测试自动化工具相比,QAWolf更加直观易用,无需编写复杂的脚本或代码。用户只需在浏览器中进行正常的操作,QAWolf会自动记录这些步骤并生成相应的测试用例。QAWolf可帮助你以 10 倍的速度创建、运行和维护端到端的浏览器自动化测试1。原创 2024-06-11 15:44:20 · 567 阅读 · 0 评论 -
快速了解接口测试
什么是接口测试?接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口测试的原理?是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。为什么要做接口测试?原创 2024-06-11 15:26:40 · 380 阅读 · 0 评论 -
APP自动化之Poco框架
Poco是一款跨平台的。原创 2024-06-07 15:12:39 · 810 阅读 · 0 评论 -
postman和jmeter的区别何在?小白变高手也许只差这一次深入了解
小伙伴们大家好呀,前段时间笔者做了一个小调查,发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今天我们就来谈谈一大部分人在做的接口测试,小白变高手也许你只差这一次深入了解!原创 2024-06-06 14:52:26 · 681 阅读 · 0 评论 -
Postman中参数填写方式
Postman中参数填写和请求方法有关,一般接口用例请求方法GET与POST常用,所以主要是这两种请求方法请求参数填写。原创 2024-06-06 14:51:31 · 221 阅读 · 0 评论 -
MeterSphere技术分享:UI自动化测试的必要性与解决方案
但是UI测试的业务覆盖很高,通过模拟真实场景下的用户行为,详细测量UI组件的功能性和稳定性,可以有效消除人工测试所面临的大量重复性测试问题。MeterSphere的UI测试模块基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化测试。通过使用UI自动化工具,测试工程师可以将重复的测试任务交由程序来完成,从而节省时间和精力,将更多的时间用在设计全面的测试用例和新功能的测试方面;在传统的手工测试中,测试工程师只能在工作时间内执行测试任务。原创 2024-06-05 21:43:16 · 809 阅读 · 0 评论 -
掌握 JMeter 参数化测试,提升应用性能测试水平
参数化测试是指将测试中的变量(参数)进行替换,以便生成多组测试数据。这些参数可以在测试计划中定义,并用于模拟各种用户场景和并发用户数。通过参数化测试,我们可以更全面地测试应用程序的性能,确保在不同条件下都能稳定运行。通过使用 JMeter 进行参数化测试,我们可以生成多组测试数据,全面评估应用程序的性能。在本文中,我们介绍了如何创建测试计划、添加 HTTP 请求、定义参数变量以及使用 CSV 文件输入实现多组测试数据的替换。希望这些技巧能帮助你更高效地进行性能测试!原创 2024-06-04 16:25:52 · 283 阅读 · 0 评论 -
介绍一个基于Python代码构造的负载测试工具
显然,上述服务是一个虚拟服务,但在现实场景中,它将有助于识别在负载下行为异常的服务。从下面的图表中,我们可以看到,随着负载增加到 100 个用户,这没有什么区别,其中平均响应时间保持在 2 毫秒,而 95% 百分位响应时间约为 3 毫秒。因此我们可以看到,在处理 100 个用户请求时,用户没有出现任何峰值。从下面的图表中,我们可以看到当我们的服务负载以用户增加和请求触发的形式增加时,Locust如何捕获响应时间。每个测试都有不同的选项卡,如下所示,用于显示测试的实时结果,并且大多数选项卡都是不言自明的。原创 2024-06-04 16:24:48 · 354 阅读 · 0 评论 -
JMeter 常见函数讲解
当使用进行或负载测试时,函数是一个非常有用的工具,可以帮助生成动态的测试数据或处理测试结果。下面是一些常用的。原创 2024-06-03 21:13:40 · 450 阅读 · 0 评论 -
Python+Pytest实现压力测试详解
接下来, 定义一个内部函数。这个函数就是在某一线程内完成设定次数的请求。原创 2024-05-31 20:37:21 · 907 阅读 · 0 评论 -
功能安全测试&安全渗透测试,一文讲清楚!
本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试&安全渗透测试上实践过程。希望通过此篇文章,帮助大家更深入、透彻地了解安全测试。安全渗透测试实践安全前置扫描主要是识别白盒漏洞、黑盒漏洞问题,针对JSRC类问题,需要通过渗透测试进行漏洞发现。安全测试类别安全测试根据开展的阶段不同,测试对象不同,可以分为:功能安全测试、安全渗透测试。以下是两者定义、两者的区别:具体内容:功能安全测试在功能测试阶段进行,由各业务线测试工程师进行,主要包括以下几个方面:1、人员权限设置,是否满足需求文档中的说明:1)是否原创 2024-05-31 20:36:03 · 486 阅读 · 0 评论 -
干货分享,大厂内部压测方案设计
测试系统在压力情况下的表现。原创 2024-05-28 21:24:16 · 645 阅读 · 0 评论 -
从青铜到王者,小白也能写出高级自动化代码
所有的项目代码都离不开基础知识,基础知识扎实稳定后,再去进行各种封装,对代码进行逐步优化、提炼,就可以从青铜升级成黄金了。过程中需要我们耐心、细心的去查找代码的共同点,以此建立对应的模板,从而减少代码量。所以大家在学习完基础后,可以尝试下做数据分离、模板封装、报告优化、持续集成,逐步优化代码,你就也是别人眼中的大佬了!原创 2024-05-27 22:19:14 · 909 阅读 · 0 评论 -
Python-实用的文件管理及操作
本章,来说说,个人写代码过程中,对于文件管理常用的几种操作。原创 2024-05-24 17:28:42 · 421 阅读 · 0 评论 -
Selenium Web自动化实践案例,跟着敲代码真香
PageObject+Unittest+ddt数据驱动用例。主要封装一些公共的方法如:截图,查找最新报告。自动将最新测试报告发送到指定邮箱。/login CSDN登录页面。用户名正确,密码错误点击登录。用户名密码正确点击登录。执行日志、分布式执行。原创 2024-05-24 17:27:31 · 374 阅读 · 0 评论 -
单元测试框架 Playwright 使用入门
Playwright 是一个端到端(E2E)测试框架, 它可在所有现代浏览器中运行功能强大的测试和自动化。支持多种编程语言 API, 包括 JavaScript 、 TypeScript, Python, .NET 和 Java。正因为它基于浏览器,相当于模拟用户真实操作,因此不光能够用来跑测试用例,还可以用来写爬虫。原创 2024-05-22 21:54:24 · 794 阅读 · 0 评论 -
Python用selenium实现自动登录和下单的项目实战
本文主要介绍了Python用selenium实现自动登录和下单的项目实战,文中通过介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧学python对selenium应该不陌生吧Selenium是一个用于Web应用程序测试的工具。直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。原创 2024-05-22 21:52:37 · 894 阅读 · 0 评论 -
超过50%的测试员不懂“测试”,凭什么月薪20k?
产品的代码是最好的学习资料了,我们不能总跟在开发屁股后面做测试,不能老是等开发build一个版本后,我们就测试这个版本,开发check in了什么代码,测试人员一点都不知道。每天将完整,清晰,漂亮的测试报告发给各个组, 让公司所有的人都能清晰的看到测试组的工作。手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到test lead的位置, 很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。应该自强不息,要像开发人员一样,不断学习,提高自己的编程水平。原创 2024-05-21 17:17:13 · 535 阅读 · 0 评论 -
可测性,到底是什么?
这里的预期结果是有一个标准定义的,无论是需求描述的功能逻辑要实现什么效果,还是安全或者性能角度的技术指标,最终交付物一定要满足这个标准,才可以视为软件系统达到了线上发布要求。还有一点容易被忽略的是,要假设本次上线可能会出现问题,针对不满足条件的错误情况,要有对应的应对策略和方案,并在测试环境验证该策略和方案有效。这个案例很明显,如果按照该技术方案实现,就会影响订单详情业务场景的性能表现,简单理解就是技术方案的预期实现结果不符合更核心业务的要求,这里的预期结果以订单详情的线上99RT为准。原创 2024-05-21 17:15:32 · 739 阅读 · 0 评论 -
测试经常遇到的问题?
首先,要明确组员的工作职责和目标,制定合理的测试计划和进度,分配好测试任务,让每个组员都知道自己要做什么,为什么要做,怎么做,以及什么时候做。其次,要加强与组员的沟通和交流,及时了解组员的工作情况和遇到的困难,给予必要的指导和支持,鼓励组员提出意见和建议,营造一个良好的团队氛围。第四,要关注组员的成长和发展,根据组员的兴趣和特长,安排适合的培训和学习机会,提升组员的技能和能力,激发组员的工作热情和创新精神。在上线后的跟踪阶段,要收集用户的反馈和数据,分析版本的效果和问题,及时进行优化和调整。原创 2024-05-20 20:49:02 · 515 阅读 · 0 评论 -
H5页面这样测,业务方反馈0Bug!
a.2 H5页面嵌入到客户端内使用,若客户端未登录,如果访问的页面需要登录,是否能跳转到客户端登录页面。a.3 H5页面嵌入到客户端内使用,若客户端内已经登录,进入H5页面,该页面是否展示正常;页面数据是否正常显示;d. 普通浏览器内,页面功能是否能够正常使用,支付、分享、页面展示是否正常。a. 微信内体验,页面功能是否能够正常使用,支付、分享、页面展示是否正常。b. qq内体验,页面功能是否能够正常使用,支付、分享、页面展示是否正常。c. 微博内,页面功能是否能够正常使用,支付、分享、页面展示是否正常。原创 2024-05-20 20:47:30 · 296 阅读 · 0 评论 -
系统重构迫在眉睫,测试方案助力提效
以上通过两个具体的重构场景进行说明,下面总结概括如下:了解需求,确定是哪一种类型的重构需求了解技术实现,明确技术实现方式以及改动范围明确需要整理的case,包括功能测试和接口测试case明确测试方式,批量接口diff、流量回放、手工测试等明确兼容老数据时,过程中数据处理方式兼容老数据时,明确上线后是否需要进行灰度策略兼容老数据时,明确线上流量是否需要新老结果比对,不一致时报警机制。原创 2024-05-18 20:57:29 · 424 阅读 · 0 评论 -
测试新手记住这10道面试题,月薪蹭蹭往上涨!
除了这些问题,很多面试官还会围绕测试员之前的项目经验进行问询,大家在面试心仪的公司之前,一定要做好充足的准备,正所谓知己知彼,百战百胜。答:一般情况下,一个软件版本要测试三到五轮,每一轮的测试时间也不能一概而定,受很多因素的影响,例如会受需求规模、测试人员、测试技术、软件的质量等各方面因素的影响,具体要视实际情况而定。因为在不同的版本,不同的环境下,测试结果都可能不同。答:对于网页兼容性,我们主要需要考虑的是各种浏览器对前台页面的兼容性,因为浏览器的版本和型号,对页面展现的影响非常大。原创 2024-05-18 20:48:19 · 517 阅读 · 0 评论 -
测试新人,如何快速上手一个陌生的系统!
作为测试新人,快速上手一个陌生的系统可能会有挑战,但通过上述步骤的指导,你可以逐步建立起自己的测试流程和方法。记住,测试是一个不断学习和进步的过程,保持好奇心和开放心态,不断提升自己的技能,你将能够成为一名出色的软件测试工程师。同时,保持持续学习、主动承担责任、建立良好的人际关系以及保持积极的心态和态度也是非常关键!也期待行业新手们早日跨过新手期!原创 2024-05-16 21:35:27 · 360 阅读 · 0 评论 -
想要成为一名合格的软件测试工程师,你得会些啥?
另外,多接触性能相关的项目,学习完整的项目经验,对于我们未来的发展,将有非常好的帮助。我们都知道,接口测试本质上也是功能测试的一种,但是接口测试的重要性却极高,因为它会连接软件的各个系统,所以,学好接口测试非常重要。学习自动化测试,对于新手来说,是拿到高薪的一个阶梯。关于数据库,测试新手们需要了解数据库的基本概念,关系型数据库,数据库SQL增删改查,常见的表操作语句,以及数据库工具的使用。有余力的小伙伴,还可以掌握一些公共知识,比如SVN的使用,Git版本操控,持续集成Jenkins的部署和使用,等等。原创 2024-05-16 21:34:16 · 310 阅读 · 0 评论 -
这2个性能压测及可视化监控工具,小众但好用!
包括连接失败请求个数,读失败请求个数,写失败请求个数,超时请求个数。了解了wrk工具的使用,我们就可以不断调整并发数,然后执行wrk测试命令,将测试的结果使用awk提取出我们想要的指标,比如前文提到的并发数,QPS、TTLB等,然后输出到数据文件当中。在api上线之前,我们需要知道API的性能,以便能够了解到API服务器能够承载的最大请求量,性能瓶颈,然后根据业务的要求,对api进行性能调优与扩缩容。这三者之中,最重要的是QPS,但是在说明QPS的时候,需要指定是多少并发数下的QPS,否则意义不大。原创 2024-05-15 15:38:46 · 899 阅读 · 0 评论 -
字节一面 : post为什么会发送两次请求?
自定义标头限制:请求的 HTTP 标头只能是以下几种常见的标头:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type(仅限于 application/x-www-form-urlencoded、multipart/form-data、text/plain)。如果服务器认可该跨域请求,将返回一个包含 Access-Control-Allow-Origin 等头部信息的响应,浏览器才会继续发送实际的跨域请求。原创 2024-05-15 15:36:09 · 405 阅读 · 0 评论 -
好不容易学到Python测开,还有经验值没有刷?!
自动化测试工作稳定之后,一向对技术着迷的我,迫不及待地要进入测开的世界,在java和Python的方向上,我选择了Python。这是学员在学习位运算基础内容过程中的一些笔记分享,大家也可以把自己的学习笔记投稿给我们进行展示哦!在跟着课程学习的同时,还会找点时间去刷刷经验,提升一下代码能力,下面就为大家分享我的一些经验。n&(n-1)消除数字n的二进制表示中的最后一个1。利用与操作 & 和下划线将英文字符转换为大写。利用或操作 | 和空格将英文字符转换为小写。相同数异或得0,0和任何数异或得对方。原创 2024-05-14 15:26:39 · 131 阅读 · 0 评论 -
Jmeter 性能-阶梯式性能指标监听
例如:现要加载100个线程,希望聚合报告中分别展示:1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是一并总体的统计数据。把opms的login请求放到事物控制器下,事物控制器的名称是获取的Thread变量,中间也可以添加一些监听器。脚本实现,实时获取活动的线程总数,根据活动线程总数赋值给变量Thread供后续事务调用。一共5个阶梯,每次加载20个,最终希望加载100个线程。实现方法:Jmeter通过自定义代码去实现。④执行压测脚本,查看聚合报告。③添加事物控制器和请求。原创 2024-05-14 15:25:06 · 389 阅读 · 0 评论 -
Django ORM 框架中的表关系,你真的弄懂了吗?
默认情况下,这个表名是使用多对多字段的名字和包含它的模型名生成(上面的例子,会生成 pizza_toppins),然后包含两个字段,分别是以两个关系模型的名字和 _id 组成(pizza_id,topping_id),并创建外键引用对应的表的 id。注意:创建学生,或者是创建课程的时候,都不需要去编辑彼此,这个时候建立多对多字段,主要是为了查询方便。外键字段的第一个参数是一个位置参数,就是要关联的模型,可以是模型类本身,也可是字符串形式的导入路径(当引用其他应用的模型,和引入后定义的模型时很有用)原创 2024-05-13 19:48:50 · 1012 阅读 · 0 评论 -
分享一个不错的测试工具 RunnerGo
今天给大家介绍一个好用的测试平台:RunnerGo(开源)。RunnerGo是一款轻量级、全栈式的测试平台,支持接口管理、场景管理、性能测试、自动化测试、项目管理等功能。与市面上的性能测试工具不同的是RunnerGo基于go语言研发,更加轻量级。传统的测试过程常常繁琐且耗时,大大限制了测试团队的工作效率和成果。原创 2024-05-13 19:46:24 · 1031 阅读 · 0 评论 -
自动化测试工具比较:Selenium vs. Cypress
选择合适的工具取决于您的项目需求和个人偏好。Cypress是一个相对较新的测试自动化工具,它专注于现代Web应用程序的测试,并提供了易于使用的API和强大的调试能力。如果您需要广泛的浏览器支持和成熟的社区生态系统,以及对多种编程语言的支持,Selenium是一个不错的选择。如果您专注于现代Web应用程序的测试,并且注重易用性和调试能力,Cypress则是一个强大的工具。相比之下,Cypress的安装和配置非常简单,只需要一个命令即可安装Cypress,并且它内置了Chromium浏览器,无需额外的配置。原创 2024-05-11 17:18:46 · 283 阅读 · 0 评论 -
软件测试基础知识必备之浅谈单元测试
单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。单元测试都是以自动化的方式执行,所以在大量回归测试的场景下更能带来高收益。单元测试代码里提供函数的使用示例,因为单元测试的具体表现形式就是对函数以各种不同输入参数组合进行调用。原创 2024-05-11 17:17:50 · 429 阅读 · 0 评论