软件测试
文章平均质量分 87
美团测试工程师
这个作者很懒,什么都没留下…
展开
-
【面经】2024年软件测试面试题,精选100 道(附答案)
80 、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷( Bug )的管理?79 、您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。12、使用 QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?70 、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。原创 2024-11-13 20:56:14 · 532 阅读 · 0 评论 -
selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法
然而有时即使已经显式等待了,却仍然会报错: ElementClickInterceptedException,这多少有点奇怪,为什么 webdriver 有时就是无法点击,我不知道,也许这和他首先执行的一些验证检查有关,反正就在这一刻,它不给你点。之前便遇到过很多次该问题的报错,就没有管它,但是随着越来越多的元素报该错,每次使用强制等待会大大延长脚本的执行时间,于是便网上找各种方法解决该问题,最终发现是自己使用显示等待的方法错了。element_to_be_clickable--元素是否可点击。原创 2024-11-12 16:24:07 · 322 阅读 · 0 评论 -
JMeter—逻辑控制器
简单的说就是相当于家了一个执行单元,一个封装了的业务操作单元,类似我们程序开发中的函数一样。可以通过模块控制器在当前测试计划中引入新的测试片段(也叫脚本片段,由控制器、取样器及辅助元件构成,鞥能够完成负载的模拟)。模拟控制器也可以引入当前测试计划中的控制器。输入变量前缀:可以在“用户自定义的变量”中定义一组变量,控制器可以从中获取到变量对应的值,然后作为循环控制器的循环条件,还可以输出变量作为取样器的参数。如果事务控制器下的取样器有多个,只有当所有的取样器都运行成功,整个事务控制器定义的事物才算成功。原创 2024-11-12 16:20:50 · 357 阅读 · 0 评论 -
互联网金融P2P主业务场景自动化测试
我们通过多种方式发布这25个项目,如果是在ui上,建议使用selenium,将这25个项目信息录入到csv。我们可以使用ACTS工具,该工具很牛叉是NIST研究的产物,使用的是IPOG算法(当然也有其他替代的工具,如allpairs,PICT)。“互联网+”企业,几乎每天都会碰到一些奇奇怪怪的bug,作为在互联网企业工作的测试人员,风险和压力都巨大。还是得实现,不可能某个项目的期限是30天,要等到30天后才还款,所以还款的参数需要可控到还款日期(业务发生日期)和操作时间。那么,剩下的就是还款和提现了。原创 2024-11-12 16:18:37 · 956 阅读 · 0 评论 -
Python接口自动化浅析如何处理接口依赖
JsonPath为Json文档提供了解析能力,通过使用JsonPath,你可以方便的查找节点、获取想要的数据,JsonPath是Json版的XPath。原创 2024-11-11 21:04:30 · 466 阅读 · 0 评论 -
测试干货!数据库性能调优之慢SQL优化
在连接的过程中,执行器会考虑employee表的其他筛选条件,如age > 18,通常连接后才过滤筛选,这也是执行器的工作,执行器在连接过程中或之后,根据优化器制定的计划进一步筛选结果集。前面说过,根据存储引擎根据索引条件加载到内存的数据页有多数据,可能有不满足索引条件的数据,如果执行器不再次进行索引条件判断, 则无法判断哪些记录满足索引条件的,虽然在存储引擎判断过了,但是在执行器还是会有索引条件age > 18、subject_id = 3、score > 80的判断。:解析并检查SQL语法正确性。原创 2024-11-11 21:03:24 · 636 阅读 · 0 评论 -
Web 自动化实战经验硬核总结
如果一个元素在另一个元素的内部(子元素或者孙元素),则它在 XPATH 中使用“//”定义,而在 CSS 中仅使用空格定义。“//ul//li[text()=‘2003年度’]” ‘//a[contains(text(),“出”)]’XPATH 中的元素 id 使用以下内容定义:“[@id=‘kw’]”,而在CSS中使用:“#kw”。XPATH 中的直接子元素是使用“/”定义的,而在 CSS 上,它是使用“>”定义的。“//input[start-with(@id,‘开头’)]”原创 2024-11-09 19:32:52 · 287 阅读 · 0 评论 -
基于Fastbot的移动端自动化测试方案
自动测试生成 ATG(Automated Testing Generation)技术,也叫 AIG(Automated Input Generation)技术。传统的自动化方式,比如录制与回放(Record & Replay),依赖于测试人员编写测试脚本。同时,跟随着测试需求的改变,测试人员需要耗费一定的时间维护和调整相应的测试脚本。与录制回放的方式相比,将测试活动依赖的通用服务进行抽象,依靠自动的方式生成测试活动需要的操作,能较大程度减少测试脚本的编写与维护工作量。程序分析;原创 2024-11-09 19:32:09 · 566 阅读 · 0 评论 -
新项目之初性能测试工作如何前移?
最近刚接手一个新项目,在最开始的时候要求对这个项目做,产品经理也给不出性能需求,只因为这个项目是电商项目,可能会有高并发,秒杀的场景,所以产品经理要求我们对这个项目必须做性能测试,又因为这个项目是一个新项目,所以大家都没有重视起来。过了一段时间,当领导问到这个项目的性能测试方案如何落地的时候,大家都懵了,都不知道该怎么办。然后测试组长就把目光投向了我——整个测试团队唯一的测试架构师。在这个时候,我就想起了还有研发架构师,于是我就找到了研发架构师,一起沟通这个项目的。原创 2024-11-07 20:15:21 · 862 阅读 · 0 评论 -
今日互动话题:干测试能干到退休吗?
最近看到一则新闻,一位在某软件公司工作了5年的40岁程序员,因为公司经营状况不好而失去了工作了!让我比较佩服他的是,他虽然失去了工作,短时间内情绪上有所波动,但是很快就调整过来了。而且心态表现得很好,并且也没有责怪老东家的意思。并且他也对国内程序员的职业环境表达了祝福,他说国外的程序员可以干到退休,也相信国内程序员的环境会越来越好。原创 2024-11-07 20:14:32 · 951 阅读 · 0 评论 -
Selenium实战技巧-多页面和Windows控件处理
在使用句柄以前,我们先了解它的基本概念,我们可以把通过Selenium WebDriver打开的每一个页面都看做一个小球,每个小球有唯一的标识(这个标识就是句柄)。我们的手就相当于WebDriver,它通过获取所有的小球,依次遍历查看小球的详情(比如Title)来判断小球是不是我们要的页面。如果是,则通过小球的唯一标识(句柄),把WebDriver指向到我们需要的网页页面,然后再进行元素处理。以处理Windows弹窗选择文件为例,当我们点击网页元素,出现Windows弹窗后,遇到这种情况我们需要。原创 2024-11-06 15:55:11 · 935 阅读 · 0 评论 -
【测试大挑战】据说25K+的面试遇见这三道测试面试题几率很高
下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取。原创 2024-11-06 15:54:01 · 125 阅读 · 0 评论 -
数据迁移测试经验分享
①数据量0丢失,包含数据是否有多迁移或少迁移,测试根据根据迁移规则筛选数据量,迁移前后进行迁移前后SQL检查。②数据库测试点:数据库表、字段处理规则;字段映射,迁移规则验证。③迁移日志检查,检查迁移分步处理是否合理,数据记录是否正确。④迁移初始值,如特殊流水号、业务ID、账务ID等流水号的配置和处理。⑤考虑异常情况,异常数据,异常交易,异常处理时情况。原创 2024-11-05 21:05:02 · 828 阅读 · 0 评论 -
如何编写测试团队通用的JMeter脚本
我们先来看第一种方式,直接使用beanshell函数,将变量放到用户定义的变量中,如下所示,脚本运行后,可以在日志中查看到获取到的脚本路径。,)}1添加的这行代码,后续直接用shellPath字段来替换掉固定文件path就ok了。原创 2024-11-05 21:04:09 · 691 阅读 · 0 评论 -
简单介绍十款可以免费使用的API测试工具
工具太多,能用就行,关键还是整体架构与API的设计。大家都习惯用哪款呢?原创 2024-11-04 21:02:08 · 263 阅读 · 0 评论 -
Pytest的测试用例相关问题总结
assert断言可以写多个断言,但一个失败,后面的断言将不再执行,可以使用 pytest-assume 来进行断言,即使断言失败,后面的断言还是会继续执行,比 assert 更高效。(2)pytest.ini 文件:addopts = --reruns 3 --reruns-delay 5。,如:@pytest.mark.flaky(reruns=n, reruns_delay=m)。(1)命令行:pytest --reruns 3 --reruns-delay 5;原创 2024-11-04 21:01:36 · 390 阅读 · 0 评论 -
Golang单元测试 | 测试经理质疑我不会自测?
测试 Handler 的难点在于“执行测试用例”中的构造请求和响应。依赖注入和面向接口编程可以方便执行单元测试。测试用例先写正常分支(执行路径最长的分支),然后再写异常分支,要尽量涵盖所有可能的分支。原创 2024-11-02 20:04:27 · 817 阅读 · 0 评论 -
交叉测试的优点和缺点
交叉测试在软件测试中具有重要的地位和作用。通过交叉测试,可以提高、提升用户体验、增加测试覆盖率、提高测试效率以及满足市场需求和竞争优势。因此,在软件开发和测试过程中,应充分重视交叉测试的实施和应用。原创 2024-11-02 20:03:40 · 335 阅读 · 0 评论 -
Python性能测试框架:Locust实战教程
它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户,Locust 在英文中是 蝗虫 的意思:作者的想法是在测试期间,放一大群 蝗虫 攻击您的网站。3、统计结果基于Web界面 Locust 有一个简单的用户界面,可实时显示相关的测试详细信息,并且统计结果界面是基于网页的,而网页是天生跨平台的,所以 Locust 是跨平台且易于扩展的。在cmd窗口中,输入python,进入python开发环境,然后输入import locust,如果没有报错,则说明locust安装成功。原创 2024-11-02 20:03:09 · 966 阅读 · 0 评论 -
确认:代码覆盖率是无用的管理指标
因此,现在我们知道,我们可以构建一个简单的库,无论你的业务是什么,它都可以执行大部分代码,并人为地提高代码覆盖率。然而,就在这时,我们有可能陷入谬误:虽然我们可以肯定地说,未经测试的代码隐藏着潜在的错误和对未来开发的阻碍,但我们也可以相信,事实恰恰相反。现在,你可能会想,这是一种极端的情况,他们的行为至少是有问题的,而且,这肯定不是软件行业的普遍做法。因此,如果开发人员被迫交付带有测试的代码,具有一定的最小代码覆盖率,并满足任意的截止日期要求(即使他们已经估计了截止日期),那么之前的经验也同样适用。原创 2024-10-31 21:28:03 · 828 阅读 · 0 评论 -
“生死用例自动化:提升质量与效率的策略与优势”
在软件迭代发布过程中,"生死用例"(Showstopper Bug)是用来避免出现那些严重到影响用户使用产品的核心功能,阻止软件发布的的缺陷或问题。/持续部署(CI/CD)流程中,生死用例可以作为预发回归测试的一部分,确保迭代改动的代码提交不会引入破坏性的问题。:与一些可以通过临时解决方案或工作绕过的缺陷不同,生死用例通常没有简单的解决办法。通过成功执行生死用例,可以为团队建立信心,表明软件的基本功能是可靠的。:生死用例通常涉及到严重的问题,功能不可用、功能缺失等。生死用例包括:登录成功、注册成功。原创 2024-10-31 21:27:03 · 230 阅读 · 0 评论 -
2024 互联网公司工作时长排行榜出炉!
如果按照法定工作时间是 40 小时,也就是通常指的是 955 工作制(即每天早上 9 点上班,下午 5 点下班,每周工作 5天 ),你只能在榜单的后面找到合格的公司。2024 年互联网公司工作时长排行榜显示,得物和拼多多的平均工作时长最长,分别为 63.8 小时 与 62.4 小时。说到时薪,大家心理应该都有点谱,你知道哪家公司的工作时长比较长,哪家比较少?哪家时薪更有性价比?今天分享一份数,“互联网时长”,这份榜单是 2024 年最新的数据,可以当作参考。按以上的时间来看,大部分还是 996 工作制。原创 2024-10-31 21:26:19 · 244 阅读 · 0 评论 -
python 接口自动化之list操作
需要筛选出满足某个条件的对象,例如 age > 18。API 返回两个列表,需要将它们合并成一个列表。API 返回两个列表,需要找出它们的共同元素。API 返回两个列表,需要找出它们之间的差异。需要按照对象的 id 字段对列表进行排序。API 返回一个列表,需要将其转换为字典。API 返回一个包含多个对象的列表。API 返回一个包含多个对象的列表。API 返回一个包含多个对象的列表。API 返回一个包含多个对象的列表。API 返回一个包含多个对象的列表。API 返回一个包含重复元素的列表。原创 2024-10-30 21:58:41 · 532 阅读 · 0 评论 -
惊!五分钟竟能轻松掌握 Python 自动化测试 Selenium !
是一个老牌的自动化测试工具,它的用途非常多,掌握这么技能绝对是值得,并且如果有需要切换其他的技术,大致应该是相似的,也就是说从它迁移到别的工具是轻松的。我们可以通过浏览器驱动器来操作浏览器获取到页面的内容。能够直接访问实际页面,动态加载数据爬虫也有的重要作用。但要注意的是,它的性能相对较低,不适合大规模数据抓取。的基础使用和认识,我们就需要较为全面的了解。方法获取页面内容,然后打印驱动对象上页面的。有较为全面的了解,我们很快就能入手了。,所有的操作都是在驱动器上使用的。处理动态内容是常见的需求,等待。原创 2024-10-30 21:57:50 · 548 阅读 · 0 评论 -
单元测试中如何Mock HttpContext
so,为了使其更加模块化和可重用,我们可以将这些模拟的创建过程封装到一个方法中,或者创建一个专门的服务类来提供HttpContextBase的模拟实例。在C#中,尤其是在单元测试场景下,模拟(Mocking)HttpContext 是一种常见的做法。更进一步,我们可以把这个HttpContext的mock封装成一个服务,团队其他的小伙伴也可以一起使用。为了模拟HttpContext,我们通常会使用像Moq这样的库,它是.NET中一个流行的模拟框架。的情况下测试与HTTP上下文相关的代码。原创 2024-10-30 21:56:37 · 681 阅读 · 0 评论 -
postman批量执行接口测试的图文步骤
我们有时候为了测试会虚拟创建一些用户,这时候我们可能会通过写的形式,但如果没有理清增加用户的注意事项等,往往造出来的数据不能用,比较方便的操作就是直接用postman写一个批量调用的脚本。原创 2024-10-29 17:23:37 · 350 阅读 · 0 评论 -
postman接口做关联测试的方法步骤
假设下一个接口登录需要上一个接口的返回值,例如请求需要先登录获取到token,下一个请求要携带对应的token才能进行请求。3.选择同一个环境变量名称,填写刚刚设置的参数名{{hh}},发送请求即可。2.在对应的第一步请求成功之后的tests下通过js来设置全局变量。1.先请求登录接口,请求成功之后,返回对应的token。3.发送成功之后可以看到token值已经设置成功。2.选择环境变量名称,发送获取token的请求。请求设置成功之后,可在这里查看全局变量的值。3.发送第二个接口请求,可通过{{原创 2024-10-29 17:23:06 · 251 阅读 · 0 评论 -
软件测试工程师在大厂晋升注意哪些点?
2.需要根据报告时的时间长度调整内容,尽可能展示最有亮点的部分,自己看着时间讲几遍,必须控制在时长内但是切记,不可以太短,例如:规定的报告时间15分钟那最好讲完的时间就是14~15分钟,不要讲五六分钟就结束了,如果时间不够可以通过增加事项的描述来增长时间;第三部分,我觉得这里可以把一个难处理的问题放在这里写,就是干得不好的那些事,或者能力上的短板,但是怎么写很关键,肯定不可以写完全不行,也不可以完全不写。自我评价的重点就是扣标准:结合岗位职级要求的能力标准,或者这个岗位的要求,证明自己达到了这个标准。原创 2024-10-28 20:00:17 · 221 阅读 · 0 评论 -
Pyhton自动化测试持续集成和Jenkins
官方术语:持续集成(Continuous Integration),也就是我们经常说的 CI持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。原创 2024-10-28 19:59:43 · 1102 阅读 · 0 评论 -
公司就你一个测试?别慌!3招教你轻松应对
如果公司只有你一个测试工程师时,也请不要慌,兵来将挡水来土掩总会有办法的。凡事都是利弊共存的,抓住一个人的“自由”,充分利用现有资源、管理好时间,保持和团队其他成员的密切沟通与合作。你只要告诉自己,很多公司的测试岗都是从无到有的,现在有你一个人以后可能招更多的测试进来,同时你作为元老级,对于以后的晋升都是优势,你要做的就是坚持一下,并耐心等待这漫漫长征过去,你就能见到胜利的曙光。原创 2024-10-26 20:04:47 · 548 阅读 · 0 评论 -
5 步轻松上手,教你从 0 到 1 落地 Jmeter 接口自动化脚本!
通过以上5步,就可以0代码实现Jmeter自动化脚本的基础开发。当然实际工作中的项目会存在很多需处理的业务场景,比如文件上传处理、关联到数据库的接口处理、接口加密传参处理、数据库断言处理等等,那么就需要大家具备更高阶技术、甚至是自己写代码去解决。原创 2024-10-26 20:04:05 · 730 阅读 · 0 评论 -
使用pytest单元测试框架执行单元测试
支持夹具(fixtures):夹具是一种在测试之前或之后执行的代码片段,用于准备测试环境或清理测试后的状态。只需将测试文件命名为以 test_ 开头的文件,Pytest 就能够识别并执行其中的测试用例。参数化测试:Pytest 支持使用 @pytest.mark.parametrize 装饰器来实现参数化测试,使得可以在一个测试函数中运行多个测试案例。丰富的报告输出:Pytest 生成详细的测试报告,包括测试用例的结果、失败原因、执行时间等信息。,适用于各种规模的项目,并且具有广泛的社区支持和文档资源。原创 2024-10-26 20:02:54 · 705 阅读 · 0 评论 -
unittest中使用装饰器来实现环境的动态切换
同时,在 setUpClass 方法中,我们可以根据全局环境变量来设定测试类级别的环境初始化操作,确保每个测试方法在一个已准备好的环境中执行。通过装饰器或其他方式实现环境切换,可以在流水线的不同阶段自动应用相应的环境配置,简化持续集成过程,降低人工错误。在切换环境的过程中,可能出现各种预期之外的问题,如连接失败、权限不足等,装饰器中应当包含适当的异常处理机制,以便在遇到问题时能优雅地回滚或报告错误。装饰器的执行顺序是在定义时就已经确定的,与被装饰函数的行为无关。装饰器的设计应当清晰明了,易于理解。原创 2024-10-26 20:01:56 · 698 阅读 · 0 评论 -
性能测试面试题,5分钟速刷一下!
集合点是测试脚本中的一个标记,当每个虚拟用户执行到标记处时,会停留在标记处等待其他的虚拟用户,当达到预期设置的并发数时,标记处的所有用户同时启动执行后续的请求 集合点会产生瞬间高并发,但是也会降低平均压力。所以在压测过程中,如果有要求瞬间高并发的业务,就需要使用集合点,比如抢购,秒杀之类的业务。没有类似业务则不需要加集合点。原创 2024-10-24 20:05:38 · 663 阅读 · 0 评论 -
字节/小米/美团测开面经
面试官都很和善,愿意给非科班的机会,米粉哭了,能许愿oc,oc了我就把我的k30s换成米14u!静态多态和动态多态知道吗?算法:与上题相同,不能用额外空间,奇数前偶数后,但是要求不能改变原有奇数/偶数的内部顺序。3.我看你说你学过c++,Python,vue还开发过微信小程序,你觉得收获最大的是什么?跟着经典的那本蟒蛇书学过,但用的很少,不过觉得和Matlab很像,重新上手很快。原创 2024-10-24 20:04:58 · 856 阅读 · 0 评论 -
字节面试 | 如何测试RocketMQ、RocketMQ?
与定时消息同原理,生产者生产消息时指定特定的 MessageQueue ,消费者消费消息时,消费特定的 MessageQueue,当然如果只有单个MessageQueue,则不会有消费顺序的问题。同一个 MessageQueue 保证里面的消息是顺序消费的前提是:消费者是串行的消费该 MessageQueue,因为就算 MessageQueue 是顺序的,但是当并行消费时,还是会有顺序问题。首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性;6、消费的先后顺序以及消费阻塞问题。原创 2024-10-24 20:04:18 · 582 阅读 · 0 评论 -
强!1.8k star,推荐一款将Requests和Selenium无缝衔接的爆款工具!
Requestium是一个基于Requests库的Python库,概况来说,它是将 Requests、Selenium 和 Parsel 的功能合并为一个用于自动化Web操作的集成工具,特别是针对网络数据采集、Web自动化测试等任务提供了极大的便利。它可以让你在一个统一的接口中使用 Requests 的简便性和 Selenium 的强大功能。原创 2024-10-09 16:41:24 · 501 阅读 · 0 评论 -
unittest中使用装饰器来实现环境的动态切换
同时,在 setUpClass 方法中,我们可以根据全局环境变量来设定测试类级别的环境初始化操作,确保每个测试方法在一个已准备好的环境中执行。在这个例子中,environment_switch 是一个装饰器,它接收一个环境参数,并在被装饰的方法执行前切换环境。在切换环境的过程中,可能出现各种预期之外的问题,如连接失败、权限不足等,装饰器中应当包含适当的异常处理机制,以便在遇到问题时能优雅地回滚或报告错误。装饰器的执行顺序是在定义时就已经确定的,与被装饰函数的行为无关。装饰器的设计应当清晰明了,易于理解。原创 2024-10-09 16:40:46 · 753 阅读 · 0 评论 -
Selenium自动化测试:提升效果的关键技巧
Selenium。原创 2024-10-09 16:39:41 · 988 阅读 · 0 评论 -
python+pytest接口自动化 —— 参数关联
参数关联,也叫接口关联,即接口之间存在参数的联系或依赖。在完成某一功能业务时,有时需要按顺序请求多个接口,此时在某些接口之间可能会存在关联关系。比如:B接口的某个或某些请求参数是通过调用A接口获取的,即需要先请求A接口,从A接口的返回数据中拿到需要的字段值,在请求B接口时作为请求参数传入。参数关联在接口自动化测试中是必然会遇到的场景,设计关联参数的用例会直接影响到用例的维护,当然这也是在接口自动化项目的架构设计时就需要考虑的问题。原创 2024-09-24 21:20:39 · 956 阅读 · 0 评论