![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术分享
文章平均质量分 87
心软小念
一枚98年的测试小姐姐,喜欢帮助他人学习自动化测试,经常分享软件测试技术文章。
展开
-
Python实现数据库测试、性能测试、接口测试脚本(代码)
中,自动化测试是提高软件质量和稳定性的重要手段之一。本文将介绍几个常见的自动化测试案例,并提供详细的Python代码示例,帮助您更好地理解和应用自动化测试。在这个示例中,我们使用locust库定义了一个性能测试用户类MyUser,并使用@task装饰器标记了一个任务方法test_performance。性能测试是对软件系统的性能进行评估和验证的过程,主要测试系统在负载下的响应时间和吞吐量。在这个示例中,我们使用requests库发送一个GET请求到指定的URL,并对返回的响应进行断言。原创 2024-07-25 21:22:28 · 228 阅读 · 0 评论 -
Jmeter 性能压测 —— 混合场景
然后根据需要测试的混合场景并发数来为各个场景分配独立的并发数。需要考虑到各场景同时开始执行,并同时结束,保证整体并发数300的稳定性与性能测试结果的准确性。中的,独立运行每个线程组、主线程结束后运行teardown线程组均不勾选。各场景参与操作用户数 / 参与操作用户总数 = 得各场景的用户占比。,将每个重点测试场景各创建为一个线程组,同时运行多个线程组。结合各个场景用户的使用情况, 列出各场景参与操作的用户数。之后,还需要做一个混合场景的性能测试-评估系统整体性能。完成所有单个重点场景的。原创 2024-07-23 22:11:19 · 212 阅读 · 0 评论 -
postman接口自动化测试
除了前面介绍的一些功能,还有其他一些小功能在日常接口测试或许用得上。今天,我们就来盘点一下,如下所示:1.想要批量执行接口用例,我们一般会将对应的接口用例放在同一个Collection中,然后再通过Runner批量执行。这种方式适用于接口用例参数固定的情况下,但也存在另一个问题,如果每次运行时,接口参数都在变化,该如何操作了?认真看过前面文章的童鞋可能已经猜到,将变量参数化就可以了。使用Pre-request Script设置环境变量并进行赋值不论运行多少次,其实还是用固定的的数据进行测试。原创 2024-07-22 22:12:20 · 720 阅读 · 0 评论 -
软件测试面试必问的几个问题,拿好标准答案,有备无患~
由于测试是一个技术岗位且在项目中担当比较重要的位置,因此大部分企业在面试中都会比较严谨,总的来说,只要技术扎实,在面试过程中沉稳冷静,相信就一定能拿到一个好成绩~原创 2024-07-19 15:30:00 · 798 阅读 · 0 评论 -
3种自动发送测试报告的神仙方法
这个模块可以帮助我们将我们需要的图片内容添加到邮件中,需要我们将本地的图片导入到html中,通过html中进行发送,如果你通过链接的形式发送会失败,邮件会识别成恶意链接,从而进行拦截。前面已经将Python几种发送报告的库都做了一个简单的介绍,安静在这里在给大家通过UnitTest生成一份测试报告,然后在通过邮件的形式发送出去来进行演示,方便大家记忆。邮件发送通过Python中的email的库来实现的,其中email发送邮件可以支持多类型,比如纯文本、纯图片、文本加附件等方法,这里安静会一个个进行介绍。原创 2024-07-15 21:07:21 · 784 阅读 · 0 评论 -
Postman接口测试 - 全局变量/接口关联/加密/解密
1、对称的加密方式(私钥加密)// 转为UTF-8编码格式// 转为base64加密// 先解密// 解密后转为utf-8格式// adminRSA加密方式:由一个密码生成公钥和私钥,公钥加密、私钥解密;私钥加密、公钥解密3、只加密不解密MD5 、SHA系列// MD5加密// 选择32位大写{{$timestamp}} //自动生成当前时间的时间戳 (不方便做断言){{$randomInt}} //生成0-1000的随机数。原创 2024-07-08 21:53:03 · 824 阅读 · 0 评论 -
13 条自动化测试框架设计原则(建议收藏)
虽然,在实际工作中,我们经常听到大家抱怨说测试报告太烦琐了,又不产生什么直接价值,但完备详尽的测试报告,不仅可以述说 QA 到底做了哪些工作,还可以看出整个项目的生命周期运行得平稳与否,软件的质量如何。根据外部输入数据,动态切换运行用例。通用于不同的操作系统,比如,测试框架不仅适用在 Windows 操作系统上,还要适用在 MacOS、Linux 系统上,越通用,测试框架的受众就会越多。所以,你的框架能不能被认可,就在于它是否具有独特的功能特性,这是与其他框架区别开来的标签,也是弥补市场空白的撒手锏。原创 2024-07-04 22:23:56 · 366 阅读 · 0 评论 -
如何实现基于场景的接口自动化测试用例?
自动化本身是为了提高工作效率,不论选择何种框架,何种开发语言,我们最终想实现的效果,就是让大家用最少的代码,最小的投入,完成自动化测试的工作。基于这个想法,我们的,比如:脚本执行的环境、请求的 HOST、URL 路径、测试数据等;:依据不同的环境,选择不同的配置及对应的测试数据;;,实现可配置化;原创 2024-07-03 21:49:23 · 534 阅读 · 0 评论 -
web功能测试方法大全—完整!全面!(纯干货,建议收藏哦~)
本文通过六个部分为大家梳理了web功能测试过程中,容易出现的遗漏的部分,用以发掘自己工作中的疏漏。原创 2024-07-01 22:03:26 · 382 阅读 · 0 评论 -
使用【Python+Appium】实现自动化测试
Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看。安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK。解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决。然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到。打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试。原创 2024-06-26 22:04:19 · 559 阅读 · 0 评论 -
Postman做接口测试时一些实用的操作
Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用。原创 2024-06-26 22:02:59 · 969 阅读 · 0 评论 -
软件测试中完整的Web请求流程
在测试执行完成后,需要进行测试总结和报告,包括:1.缺陷记录:对测试过程中发现的缺陷进行记录,包括缺陷的描述、重现步骤和预期结果等。2.性能评估:根据测试结果评估系统的性能指标,如响应时间、并发数等,并与预期目标进行对比。3.报告撰写:根据测试总结和评估结果,撰写测试报告,包括测试目标、测试环境、测试步骤、测试结果和建议等内容。4.反馈和优化:将测试报告反馈给开发团队,与其共同解决测试中发现的问题,并持续优化系统的性能和质量。原创 2024-06-25 19:46:38 · 682 阅读 · 0 评论 -
如果项目在上线后才发现Bug怎么办?
这个问题在日常测试中挺常见的,首先要做的就是,将问题暴露给产品研发测试三方以及leader,三方评估影响范围以及修复成本。接口从三个方面来考虑进一步处理:一. 评估Bug的影响范围二. 解决线上问题三. 复盘线上问题。原创 2024-06-25 19:41:34 · 1023 阅读 · 0 评论 -
自动化软件测试流程的七个步骤和内容
自动化测试一般是指软件测试的自动化技术,自动化软件测试流程是把以人为驱动的测试行为转化为机器语言执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率。执行自动化测试时,一般有如下的基本流程。下面让我们一起来了解一下自动化软件测试流程。原创 2024-06-24 22:03:18 · 518 阅读 · 0 评论 -
Python+ddt+Excel实现接口自动化测试生成完美测试报告
是指通过编写代码或使用工具,模拟用户发送请求,验证接口是否符合设计规范和功能需求的过程。原创 2024-06-22 21:51:36 · 592 阅读 · 0 评论 -
Jmeter接口测试断言详解
可以在察看结果树中将响应报文的格式从Text切换为Json Path Tester,并在Json Path Expression栏中输入相应的Json Path ,点击Test,察看JsonPath的定位结果。响应断言和Json断言可以涵盖大部分的接口校验需求,针对更加复杂的接口校验需求,比如数据库校验,比如复杂计算逻辑的校验 ,可通过Beanshell断言组件编写脚本来实现断言。,通Json Path提取出Json响应报文中的字段,再采用纯文本或者正则去验证Json Path的提取结果,原创 2024-06-21 21:05:59 · 894 阅读 · 0 评论 -
安全测试概述和用例设计
定义:安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。概念:安全测试是检查系统对非法侵入渗透的防范能力。准则:理论上来讲,只要有足够的时间和资源,没有无法进入的系统。因此,系统安全设计的准则是使非法侵入的代价超过被保护信息的价值。目标:通过对系统进行精心、全面的脆弱性安全测试,发现系统未知的安全隐患并提出相关建议,确保系统的安全性。安全性一般分为应用程序级别和系统级别,区别如下:应用程序级别:包括对应数据或业务功能的访问,核实应用程序的用户权限。原创 2024-06-21 21:04:25 · 281 阅读 · 0 评论 -
leader必备技能——编写高质量测试计划
作为一个想成为leader(不论是整个测试部门还是小项目组的leader)的人,测试计划编写是必备技能。接下来我们先了解一下测试计划的一些基础知识再进一步了解。测试计划是对测试过程的整体设计,测试计划确定了测试产品所需的资源,确定了我们将测试什么,测试将怎样进行。测试计划的输出是一份或多份文档。原创 2024-06-19 21:47:17 · 808 阅读 · 0 评论 -
对自动化测试的一些展望与理解
之前,其实该项目以前的测试人员也已经写了很多的接口测试用例,但是大多数用例处于“半瘫痪”状态,在CI上无人维护(听说起初是有人维护的,但是后来用例多了,维护的人每次花很长时间去定位问题,结果却发现大部分的问题都是环境问题导致,花了半天时间定位却没什么收益,久而久之便不想去维护)。这里必须要指出的是,我跟的项目其实是一个对系统稳定性的要求要高于新功能的引入的一个后台项目,所以它的核心功能是比较固定的,其实大多数后台项目也是类似的,核心功能聚合、对系统的稳定性要求高。必须要承认的是,确实是如此。原创 2024-06-17 22:00:11 · 878 阅读 · 0 评论 -
如何搭建自动化测试框架
该框架基于Selenium WebDriver开源技术开发。本框架使用Maven工具进行Project管理,采用TestNG工具组织测试,应用CSV文件存储测试数据,实现测试数据与测试用例的分离,方便测试数据管理,降低自动化脚本的维护成本,实现数据驱动。此外,该框架还封装了丰富的Selenium方法关键字,借鉴了QTP语法结构,实现了直观清晰的结构化代码语法,如:Page.Item.Operate,降低自动化代码的冗余与重复。原创 2024-06-15 15:55:02 · 799 阅读 · 0 评论 -
pytest简介及jenkins集成
pytest介绍 -unittest\nosepytest:基于unittest之上的单元测试框架自动发现测试模块和测试方法断言使用assert+表达式即可可以设置测试会话级、模块级、类级、函数级的fixtures 数据准备 + 清理工作共享前置后置 -- conftest.py有丰富的插件库,目前在900个以上 allure。原创 2024-06-15 15:27:29 · 937 阅读 · 0 评论 -
自动化测试-ddt数据驱动yaml文件实战(详细)
ddt 驱动 yaml/yml 文件来实现数据驱动测试ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt会作为 yaml 类型处理,其他文件都会作为 json 文件处理。如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。如果文件是字典,字典的 key 会作为测试用例方法的后缀显示,字典的 value 会作为测试用例参数。1、yaml 文件基础格式要求。原创 2024-06-14 15:49:56 · 671 阅读 · 0 评论 -
Docker容器测试-常见问题+解决
在自己的服务器上想通过 nginx 镜像创建容器,并挂载镜像自带的 nginx.conf 文件将“/root/nginx.conf”挂载到“/etc/nginx/nginx.conf”的rootfs导致:通过procfd挂载:不是目录:未知:您是否试图将目录挂载到文件上(反之亦然)根因:不支持直接挂载文件,只能挂载文件夹想要挂载文件,必须宿主机也要有对应的同名文件解决方法:可以先不挂载 nginx.conf先从容器中复制 nginx.conf 出来。原创 2024-06-14 15:44:12 · 351 阅读 · 0 评论 -
接口测试|超详细面试题【附答案】
答:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。原创 2024-06-13 17:06:27 · 900 阅读 · 0 评论 -
APP测试要点有哪些?本文已经给你梳理好了!
2.手机客户端未锁屏时:app应用后台运行,消息推送是否可以正常接受,且可以点击查看;1.测试2G/3G/4G/5G/WIFI网络的切换,从wifi环境切换到4G环境,提示是否启用4G网络,会产生扣费是否有提醒。5.执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;2.测试有网/无网切换:有网到无网再到有网,数据是否可以自动恢复,正常加载;3、非强制升级版本:用户可以取消更新,老版本能够正常使用,用户在下次启动app时,仍能出现更新提示。原创 2024-06-13 17:05:26 · 861 阅读 · 0 评论 -
UI自动化测试神器:RunnerGo测试平台
RunnerGo提供从到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化测试。以一条简单的搜索场景为例,本文介绍RunnerGo UI自动化的配置方法。通过百度搜索的场景步骤为:进入百度搜索页面-点击输入框-输入搜索内容-点击百度搜索按钮-关闭页面。原创 2024-06-12 15:57:23 · 411 阅读 · 0 评论 -
说话老实 or 有话直说的人在职场中怎么混?真实案例!
良言一句三冬暖,恶语伤人六月寒。” 说话是一门艺术,更是一门学问。职场上,不会说话的人比不会做事的人更不受欢迎!心直口快一直都时职场上的大忌,如果你是个老实但说话直的人,那在初入职场时就做好良好的习惯,说的每句话都需要通过脑袋的过滤,还有思想的包装。尽量做到不得罪人,这样不论使你的工作前景还是人机关系都不会因此而受到损害。原创 2024-06-11 16:33:54 · 602 阅读 · 0 评论 -
使用Robot Framework实现多平台自动化测试
东莞证券基于开源的RF框架从0到1建立起通用自动化测试体系,并在手机APP、核心柜台、网上交易、接口、商城、网厅等项目中落地,同时结合Jenkins实现自动化测试持续集成和分布式构建,有效支撑了敏捷和快速迭代过程。限于篇幅,本文并未就APP、Web、桌面应用、接口等自动化测试开发方法展开详细论述,而是提供一种建立通用自动化测试持续集成管理平台的思路,希望对其他券商有一定的启发和借鉴意义。原创 2024-06-07 16:30:24 · 920 阅读 · 0 评论 -
软件测试人员需要了解的Linux相关技术
vi是linux系统下的命令行工具,对于测试人员来说,了解vi编辑器的三种模式并会简单的使用即可,不需要深入学习。vi编辑器三种工作模式命令行模式:通过对应的快捷键或者命令来管理文件(按ESC就可以回到命令模式)插入模式:主要用来对文件的增加、修改操作(i进入编辑模式)末行模式:用来保存文件或者退出文件(命令模式下按shift+;会进入到末行命令模式,wq!保存文件并退出vi编辑器)基本操作指令:yy: 复制当前行,n yy 复制 n 行p: 在光标所在位置向下新开一行,粘贴。原创 2024-06-06 15:30:13 · 410 阅读 · 0 评论 -
Postman终于支持Websocket接口了
在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在测试 WebSocket 的时候,可以使用 js 编写简单的页面,通过浏览器进行访问调试。连接建立成功后,在 Message 的信息栏中输入模拟数据,点击 “Send” 按钮,即可与服务端进行数据交互。在地址栏中输入相应的 WebSocket 请求地址,点击地址栏右侧的 “Connect” 按钮,即可建立连接。如:Text、JSON、XML、HTML、Binary等;原创 2024-06-06 15:28:30 · 766 阅读 · 0 评论 -
WEB测试之兼容性测试
对于测试来讲,必须针对需求规格说明书中建议的分辨率进行专门的测试。但大部分的项目,是不能指定浏览器的,针对这样的项目,那么我们必须针对当前的主流浏览器(含版本),在确保主流浏览器的兼容性测试通过的前提下,再对非主流浏览器(含版本)进行测试,尽量保证项目的浏览器的兼容性测试的完整性。大部分的其他项目,是不指定操作系统版本的,针对这样的项目,我们应当针对当前的主流操作系统版本进行兼容性测试,在确保主流操作系统版本兼容性测试的前提下在对非主流操作系统版本进行测试,尽量保证项目的操作系统版本的兼容性测试的完整性。原创 2024-06-05 21:48:56 · 843 阅读 · 0 评论 -
python的5种对象工厂模式(附代码示例)
当调用 create_product 方法时,工厂类会检查对象是否已经在缓存中,如果存在则返回缓存的对象,否则创建一个新的对象,并将其添加到缓存中。它可以根据需要创建不同类型的对象,根据配置文件动态创建对象,实现工厂方法模式创建特定类型的对象,创建单例对象的工厂,以及实现对象的缓存等功能。除了简单的对象创建,对象工厂模式还可以应用于更复杂的场景,例如根据不同的条件创建不同类型的对象,或者根据配置文件动态配置对象的创建过程等。这样,调用方不需要直接依赖于具体的对象类,而是通过工厂类来获取对象的实例。原创 2024-06-04 16:49:37 · 543 阅读 · 0 评论 -
什么是软件需求?以及需求的最佳实践?
软件需求业务需求是反应企业组织对软件系统的高层次目标要求,换句话说就是软件系统的建设目标,常常体现在这两个方面:问题和机会。问题:解决企业运作的过程中遇到的问题。机会:抓住外部环境变化所带来的机会,以便为企业带来新的发展。要记住:出发点不同,精神面貌就完全不一样,当然如果目标过于夸大也是不行的。可能会导致不必要的资源浪费。需求定义阶段就是项目的立项阶段,也与RUP的初始化阶段相对应。原创 2024-06-03 21:25:23 · 257 阅读 · 0 评论 -
抓 https 报文新方案 -Magisk+LSPosed,来试试吧
关于如何抓取端https报文,在之前一篇文章中有介绍可以通过VitualXposed+JustTrustMe模块禁用SSL验证,这样可以抓取到https,还是有一些同学反馈以下的一些问题:App在低版本的Android上不兼容,需要用高版本的Android系统VitualXposed在有些高版本模拟器上面运行不了,需要Android真机来抓。原创 2024-06-01 15:29:56 · 874 阅读 · 0 评论 -
通过Jmeter压测存储过程
d. Database URL: jdbc:oracle:thin:@{ip}/{oracle服务名},其中{ip}是数据库服务器ip,{oracle服务名}是TNS中的Service_Name,类似orcl这种。b. Variable Name for created pool,随便起一个,不过需要跟后续步骤的配置一致,建议就叫oracle。模拟实际的80%查询,20%写入的场景。c. Query: 如图,写存储过程调用,照图上格式写,参数用?d. Para Values,参数值,多个用逗号隔开。原创 2024-06-01 15:28:56 · 803 阅读 · 0 评论 -
在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?
相信大家在使用做网页自动化时,会遇到如下这样的一个场景:在你使用访问某一个网址时,会在页面中弹出如上图所示的弹出框。首先想到是利用Alert类来处理它。然而,很不幸,Alert类处理的结果就是没有结果,并不能够将这个关闭掉。原创 2024-05-30 15:41:01 · 781 阅读 · 0 评论 -
Jmeter脚本录制:抓取IOS手机请求包
4)“HTTP代理服务器”下,“HTTPS Domains”中设置本地电脑的IP地址,如果不知道,可以用ipconfig /all查一下,端口可以使用默认;“目标控制器配置”:“测试计划>线程组”点击已经连接成功的wifi,打开“无线局域网”页面,拉到下面,点击“配置代理”,打开“配置代理”;在“配置代理”,设置与jmeter中“HTTP代理服务器”一样的IP和端口,点击“存储”。3)“测试计划”中添加“HTTP代理服务器”;2)“测试计划”中添加“线程组”;此时操作手机,点点微信。点击“OK”,继续;原创 2024-05-30 15:40:07 · 367 阅读 · 0 评论 -
实在没货,简历(软件测试)咋写?
简历咋写?首先你要知道简历的作用。简历的作用是啥呢?如何让HR看你一眼,便相中你的简历,实现在众多简历中“脱颖而出”,这当然需要搞清楚简历的核心内容。所以本文的文章结构就出来了,一起看下:1)简历内容该该怎么写2)简历的素材该如何找4)简历投递和调整的建议。原创 2024-05-29 22:09:16 · 822 阅读 · 0 评论 -
几个Web自动化测试框架的比较:Cypress、Selenium和Playwright
介绍:Web自动化测试框架对于确保Web应用程序的质量和可靠性至关重要。它们帮助开发人员和测试人员自动执行重复性任务,跨多个浏览器和平台执行测试,并在开发早期发现问题。以下仅代表作者观点:本文探讨来3种流行的Web自动化测试框架——Cypress、Selenium和Playwright,总结了它们的优点和缺点,希望可以为大家在选择测试框架时提供参考。优点:高效测试和实时重载:Cypress通过内置的自动等待和实时重新加载简化了测试,使开发人员能够立即观察测试运行中的代码变化。时程调试:Cypress提供的调原创 2024-05-28 16:20:40 · 915 阅读 · 0 评论 -
实战:编写简单购票接口测试用例
导入需要的库# 定义购票接口的URL购票接口URL = "https://example.com/api/buy_ticket"# 定义请求参数的模板"location": "北京","discount_code": "无",# 定义响应数据的模板"message": "购票成功","order_status": "待支付",# 定义错误数据的模板"message": "购票失败",# 发送请求,获取购票信息。原创 2024-05-28 16:19:31 · 463 阅读 · 0 评论