- 博客(46)
- 收藏
- 关注
原创 使用JavaScript+Selenium玩转Web应用自动化测试
本文介绍了自动化测试以及Web应用自动化测试的一种方案: JavaScript+Selenium, 并用实例来展示了Selenium的部分功能. Selenium可以做的还有很多, 以后慢慢再探索.需要注意的是,在实际项目中采用该方案时, 应配合mocha来编写.
2024-09-03 20:37:56
411
原创 UI自动化测试、接口测试等自动化测试策略
今天跟大家介绍UI测试、接口测试、单元测试主要内容,以及每种测试花费时间讨论。UI测试是最接近软件真实用户使用行为的测试类型。通常是模拟真实用户使用软件的行为,即模拟用户在软件界面上的各种操作,并验证这些操作对应的结果是否正确。API测试,主要针对的是各模块暴露的接口,通常采用灰盒测试方法。首先以黑盒方式设计如何调用API的测试用例,同时在测试执行过程中统计代码覆盖率,然后根据代码覆盖率情况来补充更多、更有针对性的测试用例。单元测试,属于白盒测试的范畴,通常由开发工程师自己完成,越早发现缺陷其修复成本越低。
2024-09-03 19:53:15
786
原创 你的Jmeter是不是经常乱码?教你用4种方法解决它
一般情况下jemeter默认设置的编码格式为:ISO-8859-1,而我们程序中经常使用的是UTF-8编码,由于响应页面和jmeter编码格式不统一导致响应结果中经常会乱码,所以需要将jmeter的编码格式设置为UTF-8来解决乱码问题。在jmeter中添加HTTP请求时,设置编码格式为UTF-8在jmeter中添加HTTP请求默认值配置原件,并将编码格式设置为UTF-8。
2024-09-03 15:52:15
187
原创 阿里巴巴在开源压测工具 JMeter 上的实践和优化
压测结束后,PTS 将汇总监控数据形成压测报告。用户根据压测报告分析评估系统性能是否符合要求,如 RPS,成功率和 RT(响应时间)是否符合期望。并可辅助用户排查分析业务系统性能瓶颈。PTS 压测报告页面可查询历史压测报告列表。点击查看报告打开查看报告详情。压测报告在 PTS 上默认保存 30 天,可点击报告导出按钮,导出保存 PDF 版压测报告到本地。压测报告概要信息包括压测执行时间,RPS,RT,成功率等概要数据。场景详情包含全场景维度和业务 API 维度的监控统计信息。
2024-09-03 14:34:24
436
原创 为什么要写测试用例,测试用例写给谁看?
为什么要编写写给谁看”,这个问题看似简单,但却涵盖了一系列复杂的考虑因素,并不太好回答。为了向各位学测试的同学们解释清楚“为什么编写测试用例是至关重要的”,我将通过以下5个方面进行展开:1、为什么要写测试用例?2、测试用例写给谁看?3、测试用例使用案例分享4、测试用例在中的地位分享好,现在我们开始。
2024-09-02 20:23:00
536
原创 这Bug只能通过压测发现
最近在做大项目的工作,又发现了几个比较有意思的Bug,本期分享其中的一个,涉及Redis在并发场景下的应用有意思的是,这个Bug因为没有代码,并发量少的情况下,下游的监控也不会出现报警,所以光靠功能测试是没有办法发现,只能通过压测(性能测试)或者下游的监控报警才能发现我们先来看一段Go语言实现的代码,没有代码基础也没关系,先解释一下这段代码的意思,就是先获取(Get)
2024-09-02 19:30:03
986
原创 性能测试最佳实践的思考
性能测试是和应用过程中至关重要的环节。它是评估系统性能、稳定性和可扩展性的有效手段,可以确保软件在真实环境中高效运行。在现代技术快速发展的时代,性能测试的重要性愈发显著。性能测试在软件开发和应用过程中的重要性不可低估。它是保障用户体验、发现潜在问题、提高系统可靠性的关键手段。同时,遵循性能测试的最佳实践,能够确保测试的准确性和可靠性,提高测试效率,为软件开发和应用提供有力的保障。只有重视性能测试,并遵循最佳实践,我们才能构建稳定、高效的应用,满足用户对技术的不断追求和挑战。
2024-09-02 15:38:15
481
原创 软件测试人员的基本功包括哪些?
业务理解,有效沟通,思维逻辑…这些对于测试人员来说,重要吗?当然重要。但这些是能力,而不是基本功。对于软件测试这种技术岗位而言,基本功指的是技术。但拥有扎实的基本功,在当前经济环境下,还是很难就业的,还要掌握自动化技术。因为各行各业都不好过,这个时候企业用人,就会找性价比更高的。所以大家想从事测试工作,在搞定基本功的基础上,希望你能够再学习一些自动化的东西。
2024-09-02 14:05:35
602
原创 想做渗透测试?总得先了解一下!
1、脚本(asp、php、jsp)3、HTTP协议4、CMS内容管理系统(B/S)5、MD5/加盐(salt)6、肉鸡、抓鸡、DDOS、cc(耗费自己的CPU资源分配代理服务器)7、一句话、小马、大马webshell、提权、后门、跳板、rookit8、源码打包、脱裤、暴库9、嗅探、rookit、社工11、src平台、0day12、事件型漏洞,通用型漏洞13、web服务器、web容器、中间件。
2024-09-01 20:15:00
806
原创 软件测试的基本流程是什么?软件测试流程详细介绍
软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的。
2024-08-31 20:34:35
814
原创 测试基本功:浅谈测试用例设计
以上是我在门店业务中测试用例设计的一些见解,最后对于门店的日常常见的需求特点及常见的功能点如何设计用例做了以下总结梳理,希望我们都可以在用例设计上设计出更完美、有效的用例~
2024-08-31 19:39:17
1172
原创 断言那些事儿:单测只需要一个断言?
有一种观点认为,每个单元测试只能写一个断言。这可能是出于对错误测试代码的真正担忧,但多年来,”断言轮盘”(Assertion Roulette)这一微妙的测试气味已经变成了一种更简单、但不太有用的 “规则”。这个“规则”经常会阻碍测试代码的可维护性。遵循“规则”的程序员诉诸于无端的复制和粘贴,而不是在现有测试中添加另一个断言。如果在现有测试中添加相关断言是最好的方法,就不要让一个被误解的规则阻止你。
2024-08-31 15:16:04
618
原创 掌握web控件定位技巧,提升页面操作效率!
在做自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这些元素,本章会介绍各种定位元素的方法。
2024-08-31 14:28:09
1052
原创 pytest-rerunfailures:优化测试稳定性的失败重试工具
pytest-rerunfailures 是一个基于 pytest 框架的插件,它允许我们对测试用例进行失败重试。当一个测试用例失败时,插件会自动重新运行失败的测试用例,直到达到预定的重试次数或测试用例通过为止。这样可以增加用例的稳定性,并减少因为偶发性问题导致的测试失败。
2024-08-30 20:26:54
641
原创 Jest和Mocha对比:两者之间有哪些区别?
所谓单元测试,是对软件中单个功能组件进行测试的一种软件测试方式,其目的是确保代码中的每一个基本单元都能正常运行。因此,开发人员在应用程序开发的整个过程(即代码编写过程)中都需要进行单元测试。在进入到软件开发的下一阶段之前,对程序进行单元测试是一个不错的主意。单元测试非常有用,它使用简单并且运行迅速。单元测试是测试驱动开发(TDD)的重要组成部分,在我们进行实际功能开发之前,它是用来描述功能的预期行为以及我们想要它实现(或不实现)哪些功能的一种实践方式。
2024-08-30 15:40:23
1064
原创 postman接口测试教程
之前还没实际做过接口测试的时候呢,对接口测试这个概念比较渺茫,只能靠百度,查看各种接口实例,然后在工作中也没用上,现在呢是各种各样的接口都丢过来,总算是有了个实际的认识。因为只是接口的功能测试,所以目前是用postman做测试,比较简便,当然这只是接口测试的入门而已,了解的只是冰山一角,后续会努力往接口压力、接口性能、接口自动化方向靠拢。以上就是一些Postman接口测试的一些教程想法,欢迎大家留言交流。
2024-08-30 14:43:59
870
原创 17种JMeter 逻辑控制器
JMeter提供了17种逻辑控制器,它们各个功能都不尽相同,其作用域只对其子节点的sampler有效,作用是控制采样器的执行顺序。控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller、If Controller等;对测试计划中的脚本进行分组、方便JMeter统计执行结果以及进行脚本的运行时控制等,如:Throughput Controller、Transaction Controller。作用:根据给定表达式的值决定是否执行该节点下的子节点。
2024-08-29 20:32:48
719
原创 性能测试流程详细+负载/并发/压力测试区别...
性能测试流程1、性能测试接口文档准入1)系统架构设计文档(系统基础架构图、业务架构图、数据流图)。2)非功能性需求文档(性能测试指标如:PV、用户数、TPS、并发、响应时间、系统峰值CPU、内存消耗…等等)。3)资源动作分解表(申请压测环境,包含硬件配置及数量信息)。4)测试场景(核心业务)。2、准备系统环境1)生产环境生产环境衡量的精准度更高,但是需要删除测试生成的日志等测试数据,同时要保证数据删除的完整性,基础数据的构造参考后续数据量部分。
2024-08-29 15:41:15
967
1
原创 pytest测试框架fixture应用实战总结,彻底打通封装框架
fixtrue修饰器标记的方法通常用于在其他函数、模块、类或者整个工程调用时会优先执行,通常会被用于完成预置处理和重复操作。例如:登录,执行SQL等操作。参数说明:1.scope参数:标记方法的作用域。有4个可选值:function(默认,函数)、class(类)、module(模块)、package/session(包)(1)作用域为函数实例print('登录系统')print('测试用例一')print('测试用例三')print('测试用例四')
2024-08-29 14:45:49
590
原创 单元测试,集成测试,系统测试的区别是什么?
很多人经常把“黑盒测试、白盒测试、灰盒测试”和“单元测试,集成测试,系统测试,验收测试”搞在一起。其实这几个测试分类要区分清楚也很清楚。按照开发阶段划分,就是:单元测试,集成测试,系统测试,验收测试。按照代码的可见度划分,就是:白盒测试(没有界面,只看见代码)、黑盒测试(只有界面,看不见代码)、灰盒测试(既看不到界面,又不深入代码)。为什么这两类测试经常混在一起呢?原因是白盒测试是代码级的测试,也就是单元测试。黑盒测试,没有代码,只有界面测试,可认为是点点点的功能测试,这就是系统测试。
2024-08-28 19:44:50
569
原创 【Jmeter】在进行综合场景压测时,由于不同的请求,要求所占比例不同,那如何实现呢?
在进行综合场景压测时,由于不同的请求,要求所占比例不同,那如何实现呢?有人说将这些请求分别放到单独的线程组下,然后将线程组的线程数按照比例进行配置,这种方法不是很好,想想,不同的请求,服务器对其处理能力不同,有的处理快,有的处理慢。若采取上述方案的话,并不会按照我们预期的比例进行并发。之前在使用LR进行过类似场景的测试,思路是:每次向服务器发出请求时,先生成一个随机数,我们对随机数的取值划分若干个范围(对应若干个业务请求),然后对随机数进行判断,当随机数落在某个范围内,就可以执行对应的请求。
2024-08-28 15:44:53
377
原创 Python自动化测试框架:unittest介绍
unittest是Python的单元测试框架,它提供了一套丰富的测试工具和方法,包括测试用例、测试套件、断言、测试装置等。unittest还支持测试执行、测试报告和测试覆盖度等功能。使用unittest可以帮助开发者在开发过程中快速发现和修复代码中的问题,提高代码的质量和稳定性。
2024-08-28 14:42:02
585
原创 Web自动化测试进阶:网页中难点之等待机制 —— 强制等待,隐式等待
类型使用方式原理适用场景直接等待time.sleep(等待时间))强制线程等待调试代码,临时性添加隐式等待driver.implicitly_wait(等待时间)在时间范围内,轮询查找元素解决找不到元素问题,无法解决交互问题显式等待WebDriverWait(driver实例, 最长等待时间, 轮询时间).until(结束条件)设定特定的等待条件,轮询操作解决特定条件下的等待问题,比如点击等交互性行为。
2024-08-27 20:25:08
741
原创 接口自动化测试很难吗?
测试工程师应用自动化测试框架的目的: 增强测试脚本的可维护性、易用性(降低公司自动化培训成本,让公司的测试工程师都可以开展自动化测试)。这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!继续新建test_update_user_tag_api.py文件和test_delete_user_tag_api.py文件;接口用例excel;
2024-08-27 19:25:01
312
原创 http接口测试—自动化测试框架设计
对服务后台一系列的http接口功能测试。输入:根据接口描述构造不同的参数输入值(Json格式)输出:字符串(传入的方式+传入的字符串)1、读取Excel配置的测试用例数据发送参数Json格式给Server,接收Server的返回数据进行数据比对校验,返回测试结果,将数据插入到Excel中接受Client的参数,进行解析发送返回数据给client1、选用Java脚本来驱动测试2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,这个需要封装一个Excel的类。
2024-08-27 15:25:02
377
原创 回归测试?
回归测试是一个系统的质量控制过程,用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响(比如你在家中安装了新的空调系统,发现虽然新的空调系统可以按预期工作,但是本来亮的等却不亮了)。其主要目标是确保旨在改进的修改不会破坏软件的既定性能和可靠性。回归测试是软件开发过程质量控制措施的一个重要方面。每次进行更改时,都会将其付诸实践,以确保它不会无意中导致任何功能或性能问题。那我们为什么需要回归测试呢?
2024-08-27 14:22:04
731
原创 Newman基本使用
Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成。
2024-08-26 20:33:05
494
原创 测试计划(详细版)
制定测试计划,要达到的目标如下:(1)为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果。(2)为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容。(3)开发有效的测试模型,能正确地验证正在开发的软件系统。(4)确定测试所需要的时间和资源,以保证其可获得性、有效性。(5)确立每个测试阶段测试完成以及测试成功的标准、要实现的目标。(6)识别出测试活动中各种风险,并消除可能存在的风险,降低由不可能消除的风险所带来的损失。1.计划评审。
2024-08-26 19:50:24
577
原创 Jmeter接口自动化生成测试报告html格式
jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。笔者刚做了这方面的尝试,总结出来分享给大家。这里需要用到ant来执行测试用例并生成HTML格式测试报告。
2024-08-26 16:02:39
583
原创 盘一盘接口测试的那些痛点,你现在会解决了吗
说到接口测试,想必大家一定不会陌生。接口测试就是测试系统组件间,接口对接是否顺畅的一种测试。包括测试数据能否交换、能否传递、能否正常控制管理过程,以及系统间的相互逻辑依赖关系,等等。由于接口测试主要是检测系统与系统间(外部),以及系统内部各个子系统之间的交互点。所以,它会 要求测试人员对业务逻辑有一定的了解,知道企业各个系统运作流程间的联系,以及对数据流向定位有一个清晰的认知。由此,我们也就不难理解,为什么很多测试新手在做接口测试时,会陷入苦恼之中了。下面,我们一起来盘一盘接口测试那点事儿。
2024-08-26 14:19:08
419
原创 Jmeter分布式性能测试,80%资深测试都会遇到这个坑!
在做后端服务器性能测试中,我们会经常听到'分布式'。哪你,是否了解分布式呢?今天,我们就来给大家讲讲,在企业实战中,如何使用分布式进行性能测试,实战过程中,又有哪些地方要特别注意?做性能测试时,如果被测系统性能比较好,或者系统项目比较大,那么一般都会要求能支持比较高的并发用户数。而我们做性能测试时,发起请求的机器,硬件资源是一定的,不可能配置无限大。所以,它能发起的并发用户数是有限的,而当我们发起方一台电脑能发起的并发用户数小于我们性能测试期望的并发用户数时,我们就会自然而然想到增加发起方的电脑。
2024-08-25 20:15:00
734
原创 接口自动化测试之-requests模块详解
Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。1.在使用requests去请求一个接口时,出现报错的情况,但是这个接口本身却没有问题。如果想添加 headers,可以传入headers参数来增加请求头中的headers信息。这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!1.基本的POST的请求。
2024-08-25 19:30:00
669
原创 如何用DeepDiff测接口数据源变更?
从接到需求到完成第一次测试结果输出,我花了大概一天半的时间。整个过程比较顺利,但在真正实践过程中,也遇到了一些需要思考的点。比如:1、造业务数据时,很难遍历到所有查询条件集合,那么这时候,至少需要保证主业务完全覆盖。2、如何高效输出差异对比结果,比如只有存在差异时才输出请求参数、响应和差异点,让结果更好地被分析。3、分析结果时需要首先将问题归类总结,同样类型的问题可能是一个原因导致的,将问题归类分析后能够更好地缩短和开发扯皮的时间。
2024-08-24 20:40:26
362
原创 如何用postman进行http接口测试?
POSTMAN是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行搜索并安装,安装完成会在桌面上显示一个postman的图标,每次点击这个图标就可以启动POSTNA的界面。启动过后就是上面的界面了,左边是用来管理用例的目录结构,右边是具体某个用例的请求内容的参数及响应内容;默认的postman会自带一个demo的项目叫“POSTMAN Echo”,里面有各种场景的用例demo,对于新上手的同学可以通过查看这些demo用例来学习如何使用POSTMAN。
2024-08-24 15:26:31
522
原创 基于Python的接口自动化-JSON模块的操作
在使用Python进行接口自动化测试脚本时,一般都是脚本只写接口测试逻辑实现,而执行脚本时需要的测试用例数据都是写入excel、数据库或者指定的配置文件中,脚本通过读取这些测试数据来进行不同测试用例的执行,这样就做到了测试脚本和测试数据的分离,易于后续写实脚本的维护,这部分后续接口自动化框架来介绍怎么实现脚本和数据的分离。如果json比较复杂,可以上json在线解析网站:JSON在线 | JSON解析格式化—SO JSON在线工具,核验json是否标准正确。
2024-08-24 14:17:01
542
原创 自动化测试中验证码问题如何解决?
最简单安全,行之有效的方式就是设置万能码,稍微和开发沟通一下就OK了。如果乐于“闷头苦干自力更生”的话也可研究验证码识别技术。
2024-08-23 20:44:49
573
原创 什么是鉴权?一篇文章带你了解postman的多种方式
鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据。发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并返回所需数据。通俗的讲就是一个门禁,您想要进入室内,必须通过门禁验证身份,这就是鉴权,如打开一个网站必须要输入用户名和密码才可以登录进入,这种就是鉴权,还有一些业务需要登录以后才可以进行,因为需要token值,则就可以把token添加到鉴权中,这种也是鉴权。二、postman鉴权方式postman支持多种鉴权方式,如图。
2024-08-23 19:36:20
760
原创 Jmeter 二次开发详解
在 JMeter 中,可以使用 BeanShell 脚本来进行自定义脚本编写和执行。BeanShell 是一种基于 Java 的脚本语言,它允许在 JMeter 中编写脚本以扩展功能或实现特定的行为。相当于一个小巧的 Java 源码解释器,简单来说就是你可以在里面写代码,然后通过 Beanshell 翻译成插件可以识别的指令去执行相关操作。1. 配置元件中的 BeanShell 功能:在 JMeter 的配置元件中,可以使用 BeanShell 功能来设置变量、生成动态数据或执行其他自定义逻辑。
2024-08-23 16:08:40
602
原创 MySQL和Redis如何保证数据一致性?
由于缓存的高并发和高性能已经在各种项目中被广泛使用,在读取缓存这方面基本都是一致的,大概都是按照下图的流程进行操作:但是在更新缓存方面,是更新完数据库再更新缓存还是直接删除缓存呢?又或者是先删除缓存再更新数据库?在这一点上就值得探讨了。还有问题呀,就是最终解决方案三可能 出现的极低概率的数据不一致的方案是采用方案二的延时双删策略,可是在方案二中也说了,如果出现缓存删除失败的情况咋办?那不是还会出现数据不一致的问题吗?这个问题到底如何解决呢?
2024-08-23 14:54:40
616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人