
软件测试
文章平均质量分 79
bug捕手
十年铸剑,只为炉火纯青;一朝出鞘, 定当倚天长鸣。
展开
-
老铁,测试小白也可以飙车了!XMind2TestCase,逼格满满!
注意,注意,注意,重要的事情说三遍!!!第六条规则,我们使用标注优先级图标作为”测试标题”与”测试步骤”界线,如果解析过程没有遇到优先级图标,则TestSuite后面的子主题链作为一条测试用例。一条测试用例支持只有标题,没有测试步骤和预期结果,因为实际测试过程中,我们常常通过用例标题就可以明确测试点了。之所以有第六条规则这样设计,因为实际测试用例设计过程中,我们所测产品往往有非常多的模块和层级。原创 2023-08-23 15:23:51 · 1753 阅读 · 4 评论 -
如何写好代码,如何写好单元测试?
写代码也有几年了,可能很多人都只是知道有单元测试这个东西,但是自己从来没有写过单元测试。单元测试好像从来都只是一个可选项,而不是必选项,因为就算没有单元测试,每个公司起码也还有专门的测试人员, 我们写好代码,然后放到测试环境交给测试人员去验证即可。这样看来好像没有单元测试也可以。但是在走过不少弯路之后发现,即使我们没有办法做到 100% 的单元测试覆盖率,仅仅对一些复杂的功能写上单元测试,也还是可以节省我们大量的时间。原创 2023-08-15 19:38:34 · 248 阅读 · 0 评论 -
测试开发工程师到底是做什么的?
所以对于测试人员来说,并不一定要对测试开发这个职位的技能有一定的界限或一个明确的范围,只要知道自己是做技术,而且在自己所擅长的领域不断的专研,你就是一个测试开发工程师。当然测试开发的待遇要比普通测试要高很多,同等年龄段的测试开发和开发人员的工资基本一样。在阿里,一个测试开发的P7要和开发人员的P7工资一样。工作这么多年,见过很多测试同事,有的同事只做自动化测试,年薪也能达到50多万。有的同事只做性能测试,一样可以拿到50多万。原创 2023-08-14 17:13:01 · 362 阅读 · 0 评论 -
pytest数据驱动(最简单)
第一种:通过yaml文件获取数据(一维列表)data.yaml文件内容如下:- '软件测试'- '单元测试'- '自动化测试'- '性能测试'- '测试开发'- '测试架构师'原创 2023-08-14 19:48:26 · 1076 阅读 · 0 评论 -
pytest数据驱动 pandas
主要过程:用pandas读取excel里面的数据,然后进行百度查询,并断言。原创 2023-08-14 19:45:25 · 1047 阅读 · 0 评论 -
压测秒杀场景常见问题
而且启动1000个请求,对于这个客户端的压力机配置要求也是挺高的,不建议在3秒内启动!我的建议就是:在做这个压测的时候,特别是秒杀抢购的这种压测的时候,最好是和这个相关的研发,还有这个架构师,还有这个产品经理沟通一下,你要模拟什么样子的场景,这才是最重要的,你要模拟1000个人进行秒杀抢购的时候,你要考虑这1000个人是怎么抢购秒杀的,这1000个人肯定是来自不同的笔记本电脑,手机或者客户端,肯定每个人用的都是不同的IP,你现在就用一台电脑模拟的,那肯定是一个IP建立的,这是完全是不对的!原创 2023-08-14 16:59:55 · 316 阅读 · 0 评论 -
shiro框架基本概念介绍
什么是Shiro: Shiro 是一个强大灵活的开源安全框架,可以完全处理身份验证、授权、加密和会话管理原创 2023-08-14 16:57:13 · 172 阅读 · 0 评论 -
简单易懂的 Postman Runner 参数自增教程
Postman Runner 是 Postman 工具中的一个强大功能,它可以用来批量运行 API 测试脚本。通过设置不同的参数组合,我们可以轻松地测试 API 的各种不同情况,并生成测试报告和测试结果。原创 2023-08-13 15:45:09 · 1471 阅读 · 0 评论 -
必备工具:Postman Newman 详解
Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境(Environment)进行自动化测试。它是 Postman 的命令行 Collection Runner,能够直接从命令行运行 Postman 集合。使用 Newman 可以测试 API 的功能、性能、可靠性和安全性,同时可以将测试结果输出成多种格式的报告,例如 HTML、JSON、JUnit 等,以方便开发人员进行问题定位和分析。原创 2023-08-13 15:41:04 · 813 阅读 · 0 评论 -
全面解析 Axios 请求库的基本使用方法
Axios 是一个流行的基于 Promise 的 HTTP 请求库,用于在浏览器和 Node.js 中进行 HTTP 请求。它提供了简单易用的 API,可以发送各种类型的请求(如 GET、POST、PUT、DELETE等),并处理响应数据,Axios 在前端工程化项目中有 99% 的概率会被优先选择。下面通过一个实践案例来了解它的基本使用——编写接口并调用 Apifox 生成的 Mock 数据。原创 2023-08-13 15:36:52 · 409 阅读 · 0 评论 -
深入了解 Postman Test 校验的使用方法
postman是一个广泛使用的 API 开发工具,它允许开发人员测试 API 的各个方面,包括请求、响应、身份验证等等,其中最常用的功能之一就是 Test 校验。那今天就一起来看看 Postman 的 Test 校验该如何使用。原创 2023-08-13 15:22:55 · 976 阅读 · 0 评论 -
Apache JMeter:完全指南
Apache JMeter 是一款开源的性能测试工具,可以用于测试 Web 应用程序、FTP 服务器、数据库等各种类型的服务器。本文将以 JMeter 5.5 为例介绍 JMeter 的使用方法。原创 2023-08-13 15:10:45 · 708 阅读 · 0 评论 -
使用 Postman 批量发送请求的最佳实践
但是我还是不放心,因为这些接口到底稳不稳定呢?上线后有没有隐患呢?所以我想做一个批量发送接口模拟~但是想要做到批量发送接口,必须要有一个条件比较你的产品有很多用户在同一时间去进行大批量的发送请求~举个例子,那肯定是不行的,那怎么办呢?那就要看你这个地铁入口怎么去做优化了但是你再怎么优化,你也不能马上就部署上线吧?肯定要在上线前,做一个规范的,看看你写的接口,以及你的服务器,到底能不能承受住这样的压力首先是创建一个集合,并且依次添加然后为了保险起见,在中添加断言校验。原创 2023-08-11 16:00:54 · 1035 阅读 · 0 评论 -
python接口自动化测试框架2.0,让你像Postman一样编写测试用例,支持多环境切换、多业务依赖、数据库断言等
接口自动化测试项目2.0公司突然要求你做自动化,但是没有代码基础不知道怎么做?或者有自动化基础,但是不知道如何系统性的做自动化, 放在 excel 文件中维护,不知道如何处理多业务依赖的逻辑,又或者你想想postman一样可以给每一条测试用例编写一些代码来处理脚本,但是又不知道怎么做。那么 gitee 中我的自动化测试框架,将为你解决这些问题。下面是一个关于一个用例中的所有字段,字段不是全部必填Id:测试用例的id,唯一,必填Name: 测试用例的名称,必填。原创 2023-08-11 15:58:36 · 3036 阅读 · 2 评论 -
简单入门seleniumUI自动化测试
Selenium是一个流行的自动化测试工具,用于测试Web应用程序的功能和用户界面。它可以模拟用户在浏览器中的操作,如点击、输入文本、选择下拉框等,以及验证页面元素的状态和属性。Selenium可以帮助测试人员自动执行重复的测试任务,提高测试效率并减少人工错误。原创 2023-08-11 15:38:22 · 1439 阅读 · 0 评论 -
CI+JUnit5并发单测机制创新实践
针对现如今高并发场景的业务系统,“并发问题” 终归是必不可少的一类(占比接近10%),每次出现问题和事故后,需要耗费大量人力成本排查分析并修复。那如果能在事前尽可能避免岂不是很香?原创 2023-08-11 15:30:49 · 1102 阅读 · 1 评论 -
【墙裂推荐!】十款开源测试开发工具(自动化、性能、造数据、流量复制)
AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理原创 2023-08-10 15:42:21 · 1641 阅读 · 0 评论 -
性能调优,看过的都说会了...
程序优化是治本的方法,也是我们大部分来解决性能问题的一个措施。当前性能测试大部分都是在SIT(集成测试)测试完成后再进行的,如果出现严重性能问题、修改代码等代价太大,这不是熬几个通宵的事情,有可能看不到第二天的太阳。所以为了规避这种问题,所以我们要提前做打算,这就体现了一个测试架构师的重要性。顺序是:先架构后程序(即先整体后个体)。原创 2023-08-10 15:32:12 · 174 阅读 · 0 评论 -
ctypes使用浅谈
ctypes是 Python 的一个标准库,用于与 C 语言进行交互。它提供了一组工具和函数,可以方便地调用动态链接库(DLL)或共享对象(SO)中的 C 函数,并处理 C 数据类型的转换。说的易懂点就是ctypes在c与python之间做类型转换的。既然是做类型转换的,那么对于c/c++中常用的类型,是如何用ctypes方式去做转换的,接下来一探究竟:原创 2023-08-10 15:27:29 · 1112 阅读 · 0 评论 -
在单元测试中使用Jest模拟VS Code extension API
对VS Code extension进行单元测试时通常会遇到一个问题,代码中所使用的VS Code编辑器的功能都依赖于库,但是我们在单元测试中并没有添加对库的依赖,所以导致运行单元测试时出错。由于库是作为第三方依赖被引入到我们的VS Code extension中的,所以它并不受我们的控制,最好的办法就是在单元测试中对其中的API进行模拟。本文中我将介绍如何使用来模拟vscode库的API。如果你还不太熟悉如何开始创建一个VS Code extension,的文档可以教你快速上手。原创 2023-08-10 15:16:34 · 1720 阅读 · 0 评论 -
测试角色在项目各阶段的项目管理tips
项目管理是一个繁杂的过程,每个阶段需要涉及到不同人员、资源的协调配合。每个角色都有自己的定位和任务,为了紧密配合项目经理或无分配项目经理运行项目的场景下确保项目成员共同达成项目目标,不同的角色掌握相应的项目管理意识就尤为重要。原创 2023-08-10 15:10:57 · 185 阅读 · 0 评论 -
【Python】单元测试框架unitest及其高级应用
在每次运行测试之前,都要手动修改报告的名称,如果忘记修改,就会把之前的报告覆盖,为了使每次生成的报告名称都不重复并且有意义,最好的方法是在报告名称中加入当前时间,这样生成的报告既不会重叠,又能更清晰的知道报告的生成时间。方法:通过时间操作的方法以指定的格式获取当前时间,将当前时间的字符串赋值给now变量,将now通过加号(+)拼接到生成的测试报告的文件名中,再次运行测试用例,生成测试报告文件名。.py':表示用例文件名的匹配原则,此处文件名以“test”开头的“.py”类型的文件,“原创 2023-08-09 15:13:13 · 533 阅读 · 0 评论 -
解决selenium的“can‘t access dead object”错误
在python执行过程中,提示selenium.common.exceptions.WebDriverException: Message: TypeError: can't access dead object。之后我会在评论区挨个私信发给你们~原创 2023-08-09 15:06:43 · 1575 阅读 · 0 评论 -
关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run
相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人原创 2023-08-09 15:03:43 · 1120 阅读 · 0 评论 -
【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。相较于其它系统资源监控工具,nmon所记录的信息比较全面。它可以对以下数据进行监控:原创 2023-08-09 15:00:47 · 1677 阅读 · 0 评论 -
基于Python 简易实现接口测试自动化
使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能。config目录下,config.py 获取配置文件信息的模块。之后我会在评论区挨个私信发给你们~原创 2023-08-09 14:57:23 · 1368 阅读 · 0 评论 -
使用Pytest集成Allure生成漂亮的图形测试报告
之前写过一篇生成测试报告的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jenkins的集成插件。这一次主要介绍如何把Allure集成到Python的Pytest单元测试框架中。原创 2023-08-08 16:16:56 · 1032 阅读 · 0 评论 -
使用Beautiful Soup等三种方式定制Jmeter测试脚本
我们在做性能调优时,时常需要根据实际压测的情况,调整线程组的参数,比如循环次数,线程数,所有线程启动的时间等。如果是在一台Linux机器上,就免不了在本机打开图形页面修改,然后最后传递到压测机上面的过程,所有为了解决这个业务痛点,使用Python写了一个能直接修改Jmeter基础压测参数的脚本,能修改jmx脚本的线程组数、循环次数、线程组全部启动需要花的时间。原创 2023-08-08 16:09:28 · 296 阅读 · 0 评论 -
【locust】使用locust + boomer实现对接口的压测
很早之前,考虑单机执行能力,使用locust做过公司短信网关的压测工作,后来发现了一个golang版本的locust,性能是python版本的5到10倍以上,但是一直没有机会使用。最近公司想做一个性能测试平台,技术选型要求和开发的语言一致,即golang,所以我想到了boomer,本文为boomer的使用记录。原创 2023-08-08 16:05:46 · 1251 阅读 · 0 评论 -
嗅探抓包工具,解决线上偶现问题来不及抓包的情况阅读目录
测试群里经常看到客户端的同学反馈发现了偶现Bug,但是来不及抓包,最后不了了之,最近出现得比较频繁,所以写个小脚本解决这个问题。原创 2023-08-08 16:02:24 · 755 阅读 · 0 评论 -
Python自动化测试用例:如何优雅的完成Json格式数据断言
优化后来在写用例生成过程中,发现重复的断言描述信息较多,大多数数据返回其实都是标准的json,所以将整个返回的json放到断言数据中:原创 2023-08-08 15:55:28 · 1025 阅读 · 0 评论 -
【Linux】结合Python 简易实现监控公司网站,邮件发送异常
由于一些原因,博主负责测试的网站的服务器切换到了香港,切换后出现了多次访问超时的情况于是主动请缨写一个自动监测的脚本,本来准备完全使用shell来写,后来发现shell发送邮件只能在测试机之间进行,所以添加了增加了一个Python文件来完成该功能。原创 2023-08-07 16:24:39 · 564 阅读 · 0 评论 -
【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题
时常有容器方面的需求,经常构建调试导致测试环境有些混乱,所以想在本地构建一套环境,镜像调试稳定后再放到测试环境中。Windows Docker 安装安装docker toolbox原创 2023-08-07 16:10:55 · 979 阅读 · 0 评论 -
【Docker】数据库动态授权组件在Kubernetes集群下的测试过程记录
我们都知道出于安全性考虑,生产环境的权限一般都是要做最小化控制,尤其是数据库的操作授权,更是重中之重。博主所在公司使用的是Kubernetes(k8s)进行的集群容器管理,因为容器发布时的IP都是动态分配的,而出于安全性考虑,数据库的授权又不能全部放开或者针对整个集群的IP,所以有了动态为节点进行数据库授权的需求,所以也就诞生我们今天的主角--数据库授权组件,Mysql-grant。当然,我们今天介绍的不是这个组件的开发,而是相关的测试过程记录。原创 2023-08-07 16:09:19 · 905 阅读 · 0 评论 -
【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abort
CentOS7 安装Docker后,load镜像时出现以下错误:Segmentation Fault or Critical Error encountered. Dumping core and aborting.原创 2023-08-07 16:07:42 · 548 阅读 · 1 评论 -
【现网】记一次并发冲突导致流量放大的生产问题
转账常见流程:转出方银行转入方...判断转账是否成功发起转账请求验证转出方信息验证转入方信息检查转账金额执行转账通知转账结果通知转账结果转出方银行转入方针对这个问题给我总结了以下几点:测试环境和生产环境的差异:测试环境很难完全模拟生产环境的各种情况,特别是在并发、性能和压力测试方面。因此,我们需要更加关注这些方面的测试,并尽量使测试环境接近生产环境。完善的测试用例:在设计测试用例时,需要考虑各种异常情况和边缘条件,包括系统之间的相互调用、失败重试等情况。原创 2023-08-06 16:35:49 · 222 阅读 · 0 评论 -
【Python】从同步到异步多核:测试桩性能优化,加速应用的开发和验证
在开发测试桩时,我们需要根据实际需求和后端服务的特点来设计测试桩的行为,为的是使其更接近实际后端服务的行为,确保测试结果具有更高的可靠性和准确性。可能还有其他的优化方案,欢迎大家提出。希望本文能对大家的工作带来帮助。原创 2023-08-06 16:32:44 · 828 阅读 · 0 评论 -
【Python】Locust持续优化:InfluxDB与Grafana实现数据持久化与可视化分析
在进行性能测试时,我们需要对测试结果进行监控和分析,以便于及时发现问题并进行优化。Locust在内存中维护了一个时间序列数据结构,用于存储每个事件的统计信息。这个数据结构允许我们在Charts标签页中查看不同时间点的性能指标,但是正因为Locust WebUI上展示的数据实际上是存储在内存中的。所以在Locust测试结束后,这些数据将不再可用。原创 2023-08-06 16:29:30 · 2034 阅读 · 0 评论 -
基于Python的Locust 性能测试指北(万字长文详解)
集合点用以同步虚拟用户,以便恰好在同一时刻执行任务。在[测试计划]中,可能会要求系统能够承受1000 人同时提交数据,可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,就检查同时有多少用户运行到集合点,如果不到1000 人,已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,1000 人同时去提交数据,从而达到测试计划中的需求。注意:Locust框架本身没有直接封装集合点的概念 ,需要间接通过gevent并发机制,使用gevent的锁来实现。gevent中的。原创 2023-08-06 16:26:04 · 500 阅读 · 0 评论 -
【性能测试】关于系统用户数,并发用户数,在线用户数,吞吐量
这也告诉我们,要好好测试一个系统的性能,必须先对用户的(业务)操作进行分析,分离出用户最常使用、最关心的(业务)操作,因为使用这些操作的人多,所以容易产生并发的情况。原创 2023-08-06 16:18:59 · 868 阅读 · 0 评论