软件测试
文章平均质量分 87
测试界的彭于晏
这个作者很懒,什么都没留下…
展开
-
Python 接口自动化测试:如何生成随机请求头部 User-Agent
在进行接口自动化测试时,发送请求到服务器往往需要设置请求头(headers),其中 User-Agent 字段用来标识客户端软件的身份。使用固定的 User-Agent 可能会导致服务器识别到模式化请求,有时这会触发一些安全机制或者导致数据收集的偏差。因此,在自动化测试中,使用随机的 User-Agent 是一个很好的实践。原创 2024-07-30 15:35:38 · 423 阅读 · 0 评论 -
性能监控工具之Grafana+Prometheus+Exporters!
在本模块中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化,我只能找最常用的几个,做些逻辑思路的说明,同时也把具体的实现描述出来。如果你遇到了其他的组件,也需要一一实现这些监控。原创 2024-07-30 15:04:26 · 991 阅读 · 0 评论 -
Selenium基础:自动化你的网页交互!
Selenium是一个用于Web应用程序测试的工具,它直接运行在浏览器中,就像真正的用户在操作一样。它支持多种浏览器,包括Chrome、Firefox、Edge等。要使用Selenium,你需要安装两样东西:Selenium Python库对应于你使用的浏览器的WebDriver本篇博客介绍了如何使用Selenium库进行Web自动化测试,包括基础设置、元素交互、等待条件和一个实际的搜索案例。通过Selenium,你可以模拟几乎所有的用户交互,这对于复杂的网页操作和动态内容抓取至关重要。原创 2024-02-22 17:07:22 · 1003 阅读 · 0 评论 -
2024pytest自动化测试框架学习(三)
在自动化测试中我们经常会针对某些测试方法编写前置测试数据,当测试方法执行完毕后再清理这些测试数据。之前我们接触的unittest框架中,使用setUp、tearDown方法来解决前置数据、后置数据销毁的问题。pytest为我们提供了更加强大灵活的fixtrue来完成该实现,本质上还是函数和装饰器的使用。原创 2024-02-21 15:32:23 · 928 阅读 · 0 评论 -
2024pytest自动化测试框架学习(二)
在自动化测试中,参数化非常常见。当你在测试某一个接口时,通常会给测试函数传递很多参数,达到遍历的目的。比如测试登录接口,我们需要模拟各种场景的账号密码。又如我们上一篇文章中介绍的获取天气接口,你需要验证很多城市的天气信息是否返回正确。我们通常的做法是把需要验证的城市数据参数写在测试方法内部进行遍历。但仍然是在一个测试方法中执行,如果某个请求导致断言失败,就此测试也会被终止。当然传统做法我们可以捕获异常继续进行后续测试,但是这样做太麻烦了。那pytest有没有提供更好的方式来解决这个问题呢?原创 2024-02-21 15:28:26 · 921 阅读 · 0 评论 -
2024pytest自动化测试框架学习(一)
pytest是一个使构建简单和可扩展测试变得容易的框架。测试具有表现力和可读性-不需要样板代码。数分钟内即可开始为您的应用程序或库进行小型单元测试或复杂的功能测试。原创 2024-02-21 15:17:30 · 803 阅读 · 0 评论 -
2024如何搭建测试平台?理清思路很重要!
一个健康的测试平台体系,对测试人员的职责分工、协作模式会有不同的要求。测试平台核心的职责是完成高质量的交付已满足业务需求。测试活动包括单元测试、集成测试、接口测试、性能测试等,都是通过这些测试手段,协同整个测试平台来完成高质量交付的管理工作。原创 2024-02-20 16:51:08 · 881 阅读 · 0 评论 -
接口自动化测试工程实践分享!
接口自动化测试是一种软件测试技术,它通过模拟用户系统操作来对系统的接口进行自动化测试。接口自动化测试的目的是为了提高测试效率和准确性,同时降低测试成本和周期。以下是为什么需要进行接口自动化测试的一些原因:原创 2024-02-20 16:42:44 · 869 阅读 · 0 评论 -
突破瓶颈:提高Airtest截图脚本兼容性的7种新方法!
最近在使用Airtest截图脚本时,经常出现图像识别失败等情况,时而识别成功,时而识别失败。于是彭于晏在官方文档中查阅到了提高截图脚本的兼容性方法,故分享给大家~原创 2024-02-19 17:01:39 · 513 阅读 · 0 评论 -
Pytest中实现自动生成测试用例脚本代码!
Python中通过自己设计脚本,从而能够自动生成测试用例脚本,提高我们测试用例维护的效率,当然不同的系统可能有自己特别的方式,在此是为大家作个参考。下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!最后: 可以在公众号:程序员小濠!免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!原创 2024-02-19 16:56:52 · 560 阅读 · 0 评论 -
Pytest测试技巧之Fixture:模块化管理测试数据!
在 Pytest 测试中,有效管理测试数据是提高测试质量和可维护性的关键。本文将深入探讨 Pytest 中的 Fixture,特别是如何利用 Fixture 实现测试数据的模块化管理,以提高测试用例的清晰度和可复用性。原创 2024-02-18 16:11:53 · 942 阅读 · 0 评论 -
3种SQL语句优化方法,测试人必知必会!
关于SQL语句的优化,本质上就是尽量降低SQL语句的执行时间,对于如何降低SQL语句的执行时间,可以从以下几个方面入手。原创 2024-02-18 16:05:15 · 1108 阅读 · 0 评论 -
Python + Selenium —— 使用cookie绕过验证码!
使用 cookie 绕过验证码这种方式前提是必须要有长时间保存 cookie 的功能,比如登录时会有勾选项"保存本次登录信息",“下次自动登录”,"记住我"等。原创 2024-01-29 21:36:23 · 404 阅读 · 0 评论 -
9个最受欢迎的开源自动化测试框架盘点!
Serenity(以前称为Thucydides)是一个基于Java的开源测试自动化框架,可以让你使用基于webdriver单位或BDD测试编写更加灵活、更加可重用webdriver基础测试,并生成验收测试文档,它包括叙述性描述的测试,以及相应的屏幕截图,还有高级总结和聚合的测试结果。的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。框架,但是当他们可以使用现有的开源工具,库和测试框架获得相同甚至更好的结果时,通常是不会再去花费大量的时间和金钱去自己创建一个的。原创 2024-01-29 21:26:22 · 635 阅读 · 0 评论 -
为什么TestNg会成为Java测试框架的首选?还犹豫什么,看它!
相信细心的你已经发现了,这里需要涉及testNg的一个运行机制,在testNg中会运行一个Suite测试套件,每个套件中可以存在多个test测试模块,并且每个test下可以存在多种策略,比如class或者方法等,但是我们刚才运行的仅仅是tDemo这一个方法而已,所以testNg在启动的时候,会按照默认值的方式,将当前方法挂载在名叫demo01的测试类上,并且将当前测试类挂载在名为test的测试模块上,在所有测试的模块中都会默认挂载在对应的Suite上,这里默认的即Default Suite。原创 2024-01-26 17:23:15 · 773 阅读 · 0 评论 -
自动化测试的10大误区!
自动化测试因提高效率,减少重复工作的特性而被广泛采用。然而,随着自动化测试的普及,自动化测试也面临一系列挑战和误解。这些误区不仅影响了测试的有效性,还会导致一定的项目风险,为了确保自动化测试能够真正提升测试质量,需要正视并避免这些常见的误区。原创 2024-01-26 17:15:59 · 410 阅读 · 0 评论 -
自动化测试系列 —— UI自动化测试!
UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要,通过执行 UI 测试,测试人员将尝试模仿用户的行为,以查看用户将如何与程序进行交互,并查看网站的运行情况是否如预期的那样,是否有缺陷。原创 2024-01-25 16:22:05 · 1064 阅读 · 0 评论 -
2024Cypress自动化测试开发指南!
在实际使用cypress过程中,cypress是支持直接对js文件直接运行的,但如果所写的自动化测试代码在不同的文件,当启动测试时需要在不同的文件间切换,每次切换需要重启浏览器,这使得测试过程显得十分臃肿,cucumber建议:可以通过创建.features文件来利用这一点。在这个示例中,我们使用cypress编写了一个测试套件,包括访问登录页面、输入用户名和密码、点击登录按钮以及验证登录成功这四个测试步骤。通过这个示例,可以看到cypress的简洁语法和强大功能,使得编写自动化测试变得非常容易和高效。原创 2024-01-25 16:02:19 · 987 阅读 · 0 评论 -
stress-ng ——linux下多功能压测工具,让你的服务器汗流浃背!
关于压力测试,主要就是模拟在 linux 上的高负载情况,包括 cpu、内存、磁盘、网络等,在这种情况下来观察高负载情况下的系统表现, 简单的压测,可以写一些计算的脚本,来让 cpu 和内存维持高使用率,也可以循环使用 dd 等让磁盘等 io 变高。不同的场景就需要我们写不同的脚本,稍微有点麻烦。今天要来推荐的工具是 linux 下的压力测试工具,stress 的升级版本 stress-ng,与 stress 兼容,但是又比 stress 强大。官方地址如下:原创 2024-01-24 15:26:28 · 1102 阅读 · 0 评论 -
循环测试之旅 —— 深度解析Pytest插件 pytest-repeat!
在软件开发中,测试的重要性不言而喻。而为了提高测试的鲁棒性和可靠性,Pytest插件 pytest-repeat 应运而生。这个插件可以帮助你轻松实现测试用例的循环运行,以更全面地评估代码的稳定性。本文将深入介绍 pytest-repeat 插件的基本用法和实际案例,助你更好地利用循环测试,发现和解决潜在问题。原创 2024-01-23 15:25:52 · 412 阅读 · 0 评论 -
Python + Selenium —— 元素定位函数 find_element!
WebDriver中的 find_element() 方法用来查找元素,并返回 WebElement 对象。是 WebDriver 中最常用的方法。前面提到的八种定位方式都有对应的方法,如find_element_by_id()。在 WebDriver 中还有一种用法,就是单纯的find_element()。需要通过参数传入定位方式和定位语句。原创 2024-01-22 16:39:56 · 517 阅读 · 0 评论 -
Python + Selenium —— 网页元素定位之CSS 选择器!
选择器例子描述.class.intro选择的所有元素。css 选择器以小数点标识类属性。#id#firstname选择的所有元素。css 选择器以 # 号标识 id 属性选择 name 属性值等于 “wd” 的所有元素。选择 src 属性值以 “https” 开头的所有链接(a)元素。选择 src 属性以 “.pdf” 结尾的所有链接(a)元素。选择 src 属性中包含 “abc” 子串的所有链接(a)元素。div>p选择 div 元素的所有 p 标签类型的子元素。原创 2024-01-22 16:38:05 · 1112 阅读 · 0 评论 -
Python + Selenium —— 网页元素定位之标签名和链接文本定位
tag name:tag name 为标签名定位,使用网页元素的标签名如a, div, input, span 等。但是有一个问题,常见的标签名比如,在同一个页面上有非常多。会不会觉得 tag name 没什么用呢?原创 2024-01-20 21:47:49 · 529 阅读 · 0 评论 -
Python + Selenium —— 常用控制方法!
Selenium 体系中用来操作浏览器的 API 就是 WebDriver,WebDriver 针对多种语言都实现了一套 API,支持多种编程语言。Selenium 通常用来做自动化测试,或者编写网络爬虫。通常我们说的 Selenium 自动化操作,指的就是 WebDriver 中提供的控制方法。一般我们讲 Selenium 多半都是在谈 WebDriver。原创 2024-01-19 16:10:56 · 948 阅读 · 0 评论 -
Python + Selenium —— ActionChains动作链!
当你需要执行复杂的操作时,比如将一个元素按住拖动到另一个元素上去,需要移动鼠标然后点击并按下键盘某个按键等等。当然,在 Web 页面上,这种操作好像比较少。但是,如果遇到了怎么办呢?这就需要用到 ActionChains 这个类啦。ActionChains 提供了对动作的链式操作,也就是可以生成一个操作的队列,将复杂的操作过程分解成单个操作,然后组合起来一次性执行。原创 2024-01-19 16:06:06 · 1012 阅读 · 0 评论 -
字节8年经验之谈 —— 详解python自动化单元测试!
说实话,除了测试要求,我实在不知道写单元测试有什么意义,一个函数50行代码,有多种参数组合,为了测试这些条件,需要编写测试用例,写完的测试用例比需要测试的函数还长。也就是说,除了写函数,还要写测试用例,增加的工作量不是一点点。特别是,需求经常变化,维护功能性代码本身就需要很大的工作量,还怎么记得要同步更新测试用例呢?很多程序员连基本的注释都做不好,还谈什么单元测试。原创 2024-01-18 15:36:22 · 1047 阅读 · 0 评论 -
Python自动化测试怎么去学习?熬夜7天整理出这一份3000字学习指南!
什么是自动化测试?广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,用于生成1到100个测试数据。所以实际上从广义上来讲:性能测试、接口测试等但凡用到测试工具的测试都称为"自动化测试"。原创 2024-01-18 15:33:16 · 972 阅读 · 0 评论 -
软件测试中的白盒测试,这些技巧你知道吗?
对于很多刚开始学习软件测试的小伙伴来说,如果能尽早将黑盒、白盒测试弄明白,掌握两种测试的结论和基本原理,将对自己后期的学习有较好的帮助。今天,我们就来聊聊黑盒、白盒测试的相关话题。原创 2024-01-17 16:43:13 · 866 阅读 · 0 评论 -
月薪2W的软件测试工程师,到底是做什么的?
其次国内的一二线城市,城市发展速度比较快,对人才的需求相对更多。软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,软件测试越早参与到软件开发过程中越好,这样开发出来的软件质量相对越高,时间和物力也越经济。另外,随着国内互联网的高速发展以及对软件测试人才的重视,测试人才的需求缺口是非常大的,而且软件测试的薪资也是随着互联网的发展逐年上升的。测试工作的最终目的是确保软件的质量,确保用户能够使用到优质量的软件,并且测试的时候,要站在用户的角度考虑软件的质量和性能。原创 2024-01-17 16:40:07 · 804 阅读 · 0 评论 -
新手也能看懂的【前端自动化测试入门】!
最近在网上搜索前端自动化测试相关的文档,但是发现网上的文章都是偏使用,没有把一些基础概念说清楚,导致后续一口气遇到一些karma、Jasmine、jest、Mocha、Chai、BDD等词汇的时候很容易一头雾水,这次一方面整理一下收获的知识一方面做个分享。原创 2024-01-16 15:31:47 · 941 阅读 · 0 评论 -
【涨薪技术】掌握加密签名接口测试实战!
我们比较熟悉的使用哈希存储数据的例子是:当我们登录某个已注册网站时,在忘记密码的情况下需要重置密码,此时网站会给你发一个随机的密码或者一个邮箱激活链接,而不是将之前的密码发给你,这就是因为哈希算法是不可逆的。从数学角度上讲,一个哈希算法是一个多对一的映射关系,对于目标文本 T,算法 H 可以将其唯一映射为 R,并且对于所有的 T,R 具有相同的长度,所以 H 不存在逆映射,也就是说哈希算法是不可逆的。摘要函数在特定的哈希算法中返回加密的值,并带有可选的salt,大写字母和变量名。原创 2024-01-16 15:25:21 · 783 阅读 · 0 评论 -
python常用的自动化小脚本!
一、list转json、string转json、可以使用Python内置的json模块将列表(List)和字符串(String)转换成JSON格式。List转JSON、假设我们有一个列表(List):my_list = ['apple', 'banana', 'cherry']我们可以使用json.dumps()函数将该列表转换成JSON格式:import jsonjson_data = json.dumps(my_list)print(json_data) # 输出结果:["apple"原创 2024-01-15 15:34:05 · 1088 阅读 · 0 评论 -
超详细的 pytest 钩子函数 —— 之初始钩子和引导钩子来啦!
前几篇文章介绍了 pytest 点的基本使用,学完前面几篇的内容基本上就可以满足工作中编写用例和进行自动化测试的需求。从这篇文章开始会陆续给大家介绍 pytest 中的钩子函数,插件开发等等。仔细去看过 pytest 文档的小伙伴,应该都有发现 pytest 这个框架提供了非常多的钩子。通过这些钩子我们可以对 pytest 用例收集、用例执行、报告输出等各个阶段进行干预,根据需求去开发对应的插件,以满足自己的使用场景。由于 pytest 提供的钩子函数非常的多,后续会分为多篇文章给大家分开介绍。这篇文章原创 2024-01-15 15:27:20 · 782 阅读 · 0 评论 -
甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar
在日常的软件开发中,测试是确保代码质量的关键步骤之一。然而,对于测试报告的生成和测试结果的可读性,一直以来都是开发者关注的焦点。Pytest插件pytest-sugar以其清晰而美观的输出,为我们提供了一种愉悦的测试体验。本文将深入介绍pytest-sugar插件的基本用法和实际案例,助你在测试过程中获得更愉悦的开发体验。原创 2024-01-13 16:22:34 · 949 阅读 · 0 评论 -
Jmeter 性能 —— 压测常遇问题+解决!
1、测试过程中CPU过高、用vmstat实时监控cpu使用情况。很小的压力AP cpu却到了80%多,指标是不能超过60%。vmstat 2(每二秒显示一次系统内存的统计信息) 分析是use cpu过高还是sys cpu过高,常见的是use cpu使用过高。如果是sys cpu使用过高,先把消耗cpu最多的进程找出来(top命令),再找到该线程下消耗cpu过高的是哪几个线程,再把该线程转换成16进制,再用jstack命令来dump线程栈,看这个线程栈在调用什么东西导致use cpu过高。t原创 2024-01-13 16:13:18 · 566 阅读 · 0 评论 -
自动化测试和人工测试分别有什么优缺点?
自动化测试、优点· 效率高:自动化测试可以快速执行大量测试用例,这对于大型项目或需要频繁进行回归测试的项目非常有用。 ·致性强:自动化测试每次执行都会产生相同的结果,这有助于确保测试结果的可靠性和可重复性。 · 可重复性:自动化测试可以很容易地重复执行,这对于需要对软件进行持续集成或持续部署的项目非常有用。 · 客观性:自动化测试不受人为因素的影响,因此可以提供更加客观和公正的测试结果。 缺点 · 开发成本高:自动化测试的开发成本可能很高,特别是对于复杂或需要大量原创 2024-01-12 15:53:37 · 422 阅读 · 0 评论 -
探索自动化测试断言:提升测试效率与质量的关键!
断言在自动化测试中起着关键的作用,它是验证测试结果是否符合预期的重要手段。如果在自动化测试过程中忽视了断言,那么这个测试就失去了其本质的意义,因为我们无法得知测试结果是否达到了预期的效果。因此,断言在自动化测试中的重要性不言而喻。那么,面对这样一个重要的环节,我们应该如何去进行有效的自动化测试断言呢?原创 2024-01-12 15:40:41 · 801 阅读 · 0 评论 -
Pytest测试 —— 如何使用属性来标记测试函数!
在软件开发领域,单元测试是确保代码质量和可维护性的关键一环。随着项目的不断发展,测试用例的管理变得愈发复杂,而一些测试可能需要特殊的处理、环境或者标记。在Python中,我们可以通过使用属性(Attribute)来为测试函数添加标记,从而更灵活地组织和执行测试。本文将深入探讨如何使用属性来标记测试函数,让你在测试世界中拥有更多的掌控力。原创 2024-01-11 15:56:01 · 390 阅读 · 0 评论 -
银行接口测试学习笔记:接口测试从分析到设计!
01\接口测试计划、制定:人员,工具/平台,脚本,时间,标准,输出接口测试计划文档02\银行接口文档解析①.接口名称:说明接口的作用,不用测试②.接口地址:http开头,和URL一样,不用测试③.请求方式:post/get/delete/put, 当一个接口有多个方式的时候是需要进行测试④.请求参数:字段名,字段值,约束条件,接口测试主要测试对象⑤.响应参数:不需要测试,但是判断是否为缺陷的依据,一般会提供正常数据的响应内容⑥.错误参照码:比如retcode:0 表示正常原创 2024-01-11 15:52:39 · 417 阅读 · 0 评论 -
渗透测试:保障网络安全的重要手段!
渗透测试作为一种重要的网络安全检测和评估方法,可以帮助企业发现和防范各种网络安全威胁。安全策略的制定:在渗透测试之前,需要制定完善的安全策略,明确测试的目的、范围和流程,确保测试的顺利进行。授权和保密:渗透测试需要严格授权和保密措施,确保测试人员遵守相关规定,不泄露企业的敏感信息。人员素质和专业性:渗透测试要求测试人员具备较高的技术水平和专业素养,能够准确分析和评估系统的安全性能。风险管理:企业需要根据渗透测试的结果,制定相应的风险管理策略,对发现的安全漏洞和弱点进行及时的修复和改进。原创 2024-01-10 15:26:55 · 424 阅读 · 0 评论