- 博客(410)
- 收藏
- 关注
原创 自动化测试不用学?不重要?
在我看来,即使你已经决定走管理路线,也不要过早的抛弃技术,应该要有足够的技术积累,毕竟测试是一个技术岗位,而且在互联网行业,大家极力推崇技术,可以说是技术为王的行业,一个不懂技术的管理者恐怕很难服众。对于初级测试来说,虽然更多的是关注测试基础技能的掌握,但是会编程和自动化会是一个很好的加分项,特别是今年找工作比往年更难了。从职业发展的角度看,测试无非就是两条路线,技术路线和管理路线,技术路线一般就是功能测试、自动化测试、测试开发、测试架构师,管理路线一般就是测试工程师、测试组长、测试经理、测试总监。
2024-07-22 13:45:22
601
原创 搞懂单元测试,集成测试,系统测试三者的区别
很多人经常把“黑盒测试、白盒测试、灰盒测试”和“单元测试,集成测试,系统测试,验收测试”搞在一起。其实这几个测试分类要区分清楚也很清楚。按照开发阶段划分,就是:单元测试,集成测试,系统测试,验收测试。按照代码的可见度划分,就是:白盒测试(没有界面,只看见代码)、黑盒测试(只有界面,看不见代码)、灰盒测试(既看不到界面,又不深入代码)。为什么这两类测试经常混在一起呢?原因是白盒测试是代码级的测试,也就是单元测试。黑盒测试,没有代码,只有界面测试,可认为是点点点的功能测试,这就是系统测试。
2024-07-22 13:44:06
1033
原创 2024年全网最全最细最流行的自动化测试工具有哪些?
随着测试工程师技能和工资待遇的提升,甚至有一部分的开发人员开始转入测试岗位,跨入自动化领域的测试攻城狮越来越多。在自动化测试领域,自动化工具肯定占据了核心的位置。本文总结了常用的测试自动化工具和框架,这些工具和框架有助于更好地定位自己,以跟上软件测试的发展趋势。
2024-07-21 14:32:20
1081
原创 Jmeter分布式测试的注意事项和常见问题
Jmeter是一款开源的性能测试工具,使用Jmeter进行分布式测试时,也需要注意一些细节和问题,否则可能会影响测试结果的准确性和可靠性。
2024-07-21 14:31:16
820
原创 测试用例写给谁看?
为什么要编写测试用例,测试用例写给谁看”,这个问题看似简单,但却涵盖了一系列复杂的考虑因素,并不太好回答。为了向各位学测试的同学们解释清楚“为什么编写测试用例是至关重要的”,我将通过以下5个方面进行展开:1、为什么要写测试用例?2、测试用例写给谁看?3、测试用例使用案例分享4、测试用例在测试工作中的地位分享5、测试用例学习资源分享好,现在我们开始。
2024-07-19 15:16:31
497
原创 【Jmeter】【postman】【python】 三大主流技术如何操作数据库?
功能测试中,涉及数据展示功能,需查库校验数据正确及完整性;例如商品搜索功能自动化测试或性能测试中,某些接口要跑通,需要关联到数据库操作;例如注册接口中短信验证码获取自动化测试中断言处理,除了响应结果的断言,还包括到数据库断言自动化测试或性能测试中,某些场景需批量造数据,可能需要用到数据库造数据测试中,发现bug,需定位bug,可能需要查询到数据库进行定位。
2024-07-19 15:14:30
1164
原创 2024最新接口自动化测试面试题
3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)本题主要考情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎测测,随时做好背锅的准备,当然,你肯定不能回答面试官不测(心理mmp,脸上笑嘻嘻),接下来就是扯犊子时间。
2024-07-18 13:34:34
890
原创 【自动化测试】Airtest-Selenium和Excel的无缝协作
之前在问卷以及Q群上有同学有提出过能否将网页上的一些数据通过Airtest去导出生成一份Excel,那么我们今天一起讨论一下,我们应该如何去实现,以及当我们获取的数据类型不同的时候,获取的方式该怎么随之调整?之前我们有篇文章有介绍过,在这里我们是使用了创建Excel,写入并保存Excel的操作。# 创建一个新的Excel工作簿和工作表#将内容写入Excel内# 保存Excel文件wb.close()
2024-07-18 13:33:17
259
原创 【整洁单元测试】测试气味Test Smells
硬编码测试数据、剪切和粘贴、使用 "test "+方法名称(或 "test1"、"test2"、"test3")作为测试名称,这些做法在短期内稍显简单,但却使测试库更难维护。这里还有一件事值得思考:自动化测试很好,因为你可以用很少的成本重复测试,但这也意味着随着时间的推移,它们的有效性会下降,因为你只是在重复测试完全相同的东西。你可以推断出一些,但想象一下,这只是测试运行中失败的几十个测试中的一个(在几千个测试的测试套件中完全有可能)。也就是说,当您阅读测试时,数据之间的关系应该是显而易见的。
2024-07-16 14:12:41
541
原创 Jmeter如何引入自己写的jar包代码
所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。在使用jar包的static方法时无需创建new 对象,可直接类名点方法进行使用,也可以使用java编写习惯进行new对象。不使用new创建对象时,对象的内存空间是在栈中的,其作用范围只是在函数内部,函数执行完成后就会调用析构函数,删除该对象。而使用new创建对象是创建在堆中的,必须要程序员手动的去管理该对象的内存空间。
2024-07-16 14:09:49
465
原创 Python自动化测试框架unittest与pytest的区别
以上就是unittest与pytest测试框架的区别,七大主要区别,这里已讲了两个区别的实例,其他五个有时间再补充,如对python自动化测试感兴趣的朋友,可以加入左下方学习交流群,讨论交流一下心得。
2024-07-05 17:23:05
1063
原创 一份适合新手的软件测试练习项目
最近,不少读者托我找一个能实际练手的测试项目。开始,我觉得这是很简单的一件事,但当我付诸行动时,却发现,要找到一个对新手友好的练手项目,着实困难。我翻了不下一百个web网页,包括之前推荐练手的政府网站(普遍会有bug),但依旧没能找到合适的。最后,在我苦苦的搜寻过程中,发现了一个适合练手的web网页,因此推荐给还是测试新手的你。
2024-07-05 17:20:14
371
原创 JMETER与它的组件们
说到并发绕不开的就是并行:并发其实就是任务切换,而并行就是多个进程同时进行,Jmeter也提供了并发插件这里不做赘述,有兴趣的可以去插件管理内自己下载:Parallel Controller。我们在for循环下面增加if控制器去判断是否满足我们需要的条件,if下面增加一个动作控制器,如果满足if条件就Break,跳出循环。可以理解做了一个挡板,把我们自己当做服务器,把我们自己收到的请求原封不动的显示出来,方便调试请求。第二种:有条件的筛选name=A的age,使用表达式:[?
2024-02-29 21:59:13
1198
原创 大厂性能测试监控指标及分析调优指南
其次是空间换取时间,用存储空间提升访问速度,典型的就是MySQL的分库分表策略,MySQL表单数据存储千万以上的时候,读写性能就会下降,这个时候我们可以将数据进行拆分,以达到查询的时候,每个表的数据是少量的,以达到提升性能的目的。其次是横向扩容,当访问量超过某一个阈值时,系统可以自动横向增加服务。其次,JVM调优,设置合理的JVM内存空间,以及垃圾回收算法来提高性能,例如,如果业务逻辑会创建大对象,我们就可以设置,将大的对象直接放到老年代中,这样可以减少年轻代频发发生YongGC,减少CPU的占用时间。
2024-02-26 15:19:15
1139
原创 Airtest-Selenium实操小课③:下载可爱猫猫图片
那么这周我们看看如何实现使用Airtest-Selenium实现自动搜索下载可爱的猫猫图片吧~
2024-02-23 19:08:22
1199
原创 什么是接口测试?为什么要做接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
2024-02-21 20:59:06
1570
原创 接口测试常用测试点
默认值测试: 很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。多或少参数:多或者少参数的验证,现在还不确定如果一个接口多了参数如果没有报错是否是合理的,或者是否需要优化,因为就目前开发给予的答案是,一般不对接口多了参数的处理。错误码测试: 通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况。
2024-02-20 19:49:28
600
原创 五分钟快速了解软件测试是干什么的
1、 软件测试的定义软件测试是使用人工操作(即手动测试)或者软件自动运行的方式(即自动化测试)来检验它是否满足规定的用户需求或弄清预期结果与实际结果之间的差别的过程。通俗来讲,是为了发现错误而执行程序的过程。2、软件测试的目的证明程序的正确性,检察系统是否满足用户需求,发现bug,证明程序有错。3、软件测试在软件生命周期中的哪个阶段在软件生命周期中大致分为六大阶段:项目规划、需求分析、软件设计、程序编码、软件测试、运行维护。角色:测试员。
2024-02-19 16:48:49
1071
原创 JMeter 配置元件之按条件读取CSV Data Set Config
配置项无法起到精确控制(有作用,但读取到文件末尾时不会立即停止,还是有线程会继续从头读取,至于啥时候才会全部停止,我也不清楚,最后线程会因为这个配置停止就是)4、将仓库订单数据文件添加到不同的IF逻辑控制器下,增加IF判断条件--判断登录用户所属仓库和是否和订单数据文件所属仓库一致,如果一致则可读取对应数据文件。解决方案:在对应的IF逻辑控制下,添加线程共享计数器,并在数据文件之后,添加脚本采样器,脚本里判断计数器当前值是否大于文件最大内容行数,如果大于则停止线程。和登录用户所属仓库保持一致,
2024-02-18 19:53:56
755
原创 JMeter 源码解读HashTree
如果兼容,将该节点添加到结果列表中,并创建一个新的 ListedHashTree 对象,将该节点作为根节点,并将其对应的子树添加到新创建的 ListedHashTree 中。这样的设计提供了更好的扩展性,允许在不修改 HashTree 的情况下定义新的操作,并且可以根据需要将这些操作应用于 HashTree 中的元素。在 JMeter 中,HashTreeTraverser 类是用于遍历 HashTree 的工具类,它提供了一种简单的方式来访问和处理 HashTree 中的节点和子节点。
2024-01-16 15:11:31
805
原创 python接口自动化测试 - mock模块基本使用介绍
38 print("{0}支付{1}成功!43 print("{0}支付{1}失败!前端开发的页面需要根据后端返回的不同状态码展示不同的页面,当后端接口未开发完成时,也可通过mock来模拟后端接口返回自己想要的数据。另外,side_effect接受的是一个可迭代序列,当传递多个值时,每次调用mock时会返回不同的值;37 # 返回第三方支付成功,则进行系统里面的扣款并记录支付记录等操作。
2024-01-14 15:07:37
983
原创 Airtest-Selenium实操小课
上一课我们讲到用Airtest-Selenium爬取网站上我们需要的信息数据,还没看的同学可以戳这里看看~
2024-01-11 15:54:27
1379
原创 Python接口自动化测试项目实战
把请求头信息进行处理,去掉一些没用的,保留一些有用头信息。# 发送get请求# 查看响应内容,response.text 返回的是Unicode格式的数据# 查看响应码。
2024-01-10 15:59:23
1614
原创 【性能测试】JMeter分布式测试及其详细步骤
如果你想要开源易用的,那JMeter是一个不错的选择。Controller我放在Mac上跑,Workers我是通过两台Ubuntu服务器来跑,要注意它们的IP是在同一内网上的。性能测试是软件测试中的一种,它可以衡量系统的稳定性、扩展性、可靠性、速度和资源使用。Worker的默认端口是1099,但它是可以改变的,有些时候也必须改变,如设置的防火墙,或者需要在同一台Server启动多个Worker。Worker可以在不同的服务器上,所以叫分布式,也因此可以利用多台电脑的资源来模拟足够的请求。
2024-01-08 13:20:25
1723
原创 Python+Requests+PyTest+Excel+Allure 接口自动化测试实战
需要用到@pytest.mark.parametrize()装饰器进行封装用例,调用getExceldatas()将读取出来的用例存放进装饰器,"data"为别名。如下图,分别请求头和参数做了为空判断,并将token插入到headers里面,这样每一个接口都能使用到登录返回的token,不用每次都去调用获取token。
2024-01-05 16:46:24
1447
原创 为何Selenium这么火?
Jason Huggins 于 2004 年创建了一个 JavaScript 框架,旨在将其从重复的手动测试中解放出来。最初命名为 JavaScriptTestRunner 的产品可以直接在浏览器中执行测试,驱动页面上的交互,并在无需手动输入的情况下重新运行。这个 JavaScript 工具在 Huggins 意识到它的潜力后开始流行,将其开源并重新命名为 Selenium Remote Control。Selenium 的创新之处在于:之前没有其他任何工具允许测试人员使用他们选择的编程语言与浏览器对话。
2024-01-04 16:05:18
534
原创 【性能测试入门必看】性能测试流程简介
前台发来的请求报文通过中间件传递给应用程序,应用程序在处理的过程中调用数据层的数据服务器,数据服务器将查询的数据返回给应用程序,应用软件处理完成后通过中间件系统返回给客户端。性能测试是要对整个系统运行的软件硬件环境进行测试的,如果某环境下运行多个系统,就很难判断其中的某个环境对资源的占用情况。项目的背景,进行此次性能测试的原因,以及性能测试覆盖的范围等,几乎所有项目文档都在开端对项目进行简单的阐述。寻找被测试的对象和压力点,被测的系统应该是最重要的最基本的功能,也是用户使用最频繁的功能。
2024-01-03 19:44:47
552
原创 【软件测试】为bug而生
当然,不要以为需求文档就全部正确,它也可能会有错误,我们也应该去发现需求文档的bug,然后再去协调PM,敦促FE或者RD进行修改。方法是从出现bug征兆处开始,人工地沿控制流程往回追踪,直至发现出错的根源,不幸的是程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯到望而不可及。,比如tomcat日志。后台涉及到servlet,jms,ejb,还有很多框架struts,hibernate,spring,ibatis等。等有关,涉及到jstl,jsp,js,css,html方面比较多。
2023-12-29 14:45:47
1192
原创 接口自动化测试问题汇总
如几天前的时间按照自然日判断还是按照时间间隔判断,换算小数保留方式封装,数据库&redis的增删改查封装等(根据实际需要),这种对于不是特别熟悉python自带哪些库的同学来说很实用。检索类型,有些需要加引号,因为sql语句包含XXXX类型,对于如上面例子中的日期类型是datetime.date,直接用qiandao = t_date 不可行。在构造时我们必须首先构造其中的测试环境的条件,或者知道判断条件后,对测试环境及结果进行判断断言。对于结果已知的注册时间天数判断在断言中进行判断。
2023-12-27 13:34:06
525
原创 做好自动化测试必备的5大技能,懂一个就超过了99%的人
或许还有一些人认为软件测试的门槛很低,低到任何人都可以做,随便点点就可以了。这里需要澄清一下,不管哪一类测试岗位,如果做深做精都需要下功夫,只是精通的方向不同。试问一下如果让一个什么都不懂、一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储备,你的业务知识储备能让你成为不可替代的行业专家。同样地,想掌握或做好自动化测试也不是那么容易的,下面笔者根据自身经验,针对如何做好自动化测试需要哪些关键能力给出几点建议,算是对仍处在迷茫阶段不知如何提升自动化测试能力同学的一些参考指引。
2023-12-26 13:38:18
1026
原创 测试用例设计方法:正交试验冲锋
正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验思想:用部分试验来代替全面试验,通过对部分试验结果的分析,了解全面试验的情况。全面试验:可以分析各因素的效应,交互作用,也可选出最优水平组合。但全面试验包含的水平组合数较多,工作量大,在有些情况下无法完成。但正交试验法并不适用于强流程性需求的测试用例设计,这些场景我们就需要借助功能图法或场景法来进行测试用例的设计,这些方法又该怎样使用呢?
2023-12-18 16:22:24
912
原创 面试了18家软件测试公司终于悟了, 面试题基本问这些
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台兼容,网络兼容,数据库兼容,以及数据共享的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
2023-12-14 15:07:10
616
原创 测试用例设计方法:功能图
功能图/状态图方法适用场景1、由于某种条件成立导致发生状态改变的情况。2、主要关注状态转移的正确性。优点1、通过状态图可以清晰掌握系统的整个交互过程;2、可保证每一个状态的所有可达状态都覆盖到;3、通过验证给定条件内是否能够产生需要的状态变化,可检验出是否存在不可达的状态、不必要的状态或其他非法状态,以及非法的状态迁移。缺点针对有效输入输出进行设计,所以无法覆盖无效路径和非法输入。注意事项1、每种状态至少需要访问一次;2、重点测试最常见、最普遍的状态转换;3、其次测试最不常用的状态转换路径;
2023-12-14 15:02:30
1474
原创 Postman接口测试工具使用
一、前言在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。做为后端开发人员,要求独立开发完成某个接口后,开发人员自己需要先测试通过后再提交给测试人员进行测试,否则会出现到测试人员哪里业务流程根本就走不通,或者BUG会过多的情况等。
2023-12-13 21:50:30
571
原创 关于面试总结--接口测试面试题
接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢?主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点完了点那个项目,这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。面试的时候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就是接口测试了。
2023-12-13 21:39:45
357
原创 【零成本实现接口自动化测试】Java+TestNG 测试Restful service
思想是数据驱动测试,用Excel来管理数据,‘Input’ Sheet中存放输入数据,读取数据后拼成request 调用service, 拿到response后写入 ‘Output’ Sheet 即实际结果, ‘Baseline’为基线(期望结果)用来和实际结果对比的,‘Comparison’ Sheet里存放的是对比结果不一致的记录,‘Result’ Sheet 是一个简单的结果报告。运行是通过TestNG的xml文件来执行的, 里面配置了Parameter “workBook” 的路径。
2023-12-12 19:35:09
305
原创 Python 自动化测试面试题目
答: 守护精灵,和 Python 并发编程中的 daemon 原理一样,父进程/父线程的代码执行完毕,它就终止,要写在 start 方法前面。4、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5]。(2)使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,我用线程,因为全局变量是所有线程共享的。(1)流程:获取接口文档,依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过。使用简单,具体用法,这里不展开。
2023-12-12 19:26:58
280
原创 Jmeter测试实践:文件下载接口
1.最好自己搭建测试环境,如果条件不够,只能使用开发搭建的测试环境的话,一定要问清楚测试环境的软硬件配置。强调一下,由于jmeter本身是不支持将文件保存到本地的,这里需要写一点java代码。6.由于jmeter返回的是字节流,当数据量太大时,会发现jmeter完全卡住,为了防止这种情况发生,可以在查看结果树勾选仅日志错误,让其不显示,提高性能。这里的参数id是文件的id,我进行了参数化,方便下载多个不同的文件。2.win+R运行,输入dxdiag,可查看计算机名,操作系统,系统型号,处理器,内存大小。
2023-12-10 22:01:00
1171
原创 零基础一看就会?Python实现性能自动化测试竟然如此简单
性能系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试使用程序代替手工提升测试效率性能自动化使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数,统计系统负载能力生成报告locust做压测功能极其强大支持分布式部署提供的接口简单压测代码非常容易编写提供UI界面来配置美观、详细的图表统计【性能测试】终于有一套全面的性能测试教程啦!真实企业性能测试全流程项目实战!
2023-12-10 21:22:02
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人