学习总结
文章平均质量分 78
牟小喵
不会写代码的猿猿不是一个好测试
展开
-
python+request+unitest 框架搭建
1、remove BOM:https://blog.csdn.net/mighty13/article/details/780778672、ConfigParser :读取配置文件的包https://www.cnblogs.com/zhou2019/p/10599953.html3、os:操作文件相关的包os.path.split(os.path.realpath(file)):按照路径将文件名和路径分隔开,获取当前执行脚本的绝对路径os.path.join:路径拼接函数4、使用Element原创 2020-10-15 14:33:57 · 383 阅读 · 0 评论 -
Linux文件操作相关命令
创建文件夹:mkdir a.txt创建文件:touch a.txt 复制文件:cp a.txt .. 将a.log复制到上级目录中cp a.txt ../b.txt 将a.log复制到上级目录中,并重命名为b.log删除文件:rm -r a.txt 递归删除rm -rf a.txt 强制删除查看文件:cat a.log // 查看a.log文件内容head a.log // 查看a.log的前10行, -n 20 查看20行t原创 2020-09-21 18:28:18 · 75 阅读 · 0 评论 -
pip 安装超时问题
问题现象:安装 flask 第三方模块会出现超时,具体报错:ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.原因分析:需要指定下载源解决方案:pip install -i https://pypi.douban.com/simple (安装的模块)pip install -i https://pypi.douban.com/simple flask.原创 2020-09-10 15:37:28 · 156 阅读 · 1 评论 -
乐观锁和悲观锁
乐观锁: 一般根据版本控制很乐观,认为别人都不会更新他的数据,所以每次更新前先查询,等到更新的时候再拿这个数据做比对,如果没问题就更新,有问题将错误返回;高并发场景会导致更新失败的几率增大悲观锁: 要注意预防死锁的发生;很悲观,认为别人每次都想要更新他的数据,所以每次更新前都要上锁,别人想要更新数据必须等到其他锁释放了才能更新。悲观锁依赖数据库锁,效率低。更新失败的概率比较低...原创 2020-09-09 17:09:25 · 182 阅读 · 0 评论 -
http状态码
3XX:重定向300:301:3024XX:客户端错误400: 通用的客户端错误,服务器收到客户端通过PUT或者POST请求提交的表示,表示的格式正确,但服务器不懂它什么意思401:客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书402:403: Forbidden,服务器不想处理它404:服务器无法把客户端请求的URI转换为一个资源。5XX:服务端错误500:通用的服务器错误响应501:502:表明代理方面出现问题503:服务器突然收到太多请求,以至于无法全部处原创 2020-09-09 17:08:01 · 94 阅读 · 0 评论 -
TCP和UDP区别
形象解释:https://blog.csdn.net/qq_32523587/article/details/80523781TCP:面向连接的传输协议 更可靠 能够保证顺序性每次发送数据前需要建立连接(三次握手)UDP:不面向连接的协议 UDP可能丢包 不能保证顺序性对实时应用很有用,如IP电话,实时视频会议等短连接的操作步骤是: 建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接长连接的操作步骤是:建立连接——数据传输…(保持连接)…数据传输——关闭连接长连接与短原创 2020-09-09 17:07:13 · 168 阅读 · 0 评论 -
代码时间复杂度计算
时间复杂度公示:下面分析一段代码:2、3、4行每一行都需要1个单位的执行时间,5、6行循环了N边,需要2N个单位时间,7、8行执行了n^2遍,所以一共需要执行时间:(2N ^2 + 2N + 3 )*单位时间。我们用T(n) 表示,O表示T(n)与f(n)成正比(单位时间),所以表达式可以写成:T(n) = O(2N ^2 + 2N + 3 ) ,这就是大O时间复杂度表示法,由于N无穷大,所以只需要表示最大量级即可,即:T(n) = O(N ^2 )时间复杂度分析:1、只关注循环执行次数最多原创 2020-08-26 21:42:28 · 9348 阅读 · 0 评论 -
力扣刷题总结-字符串翻转
1、给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。...原创 2020-08-25 16:11:32 · 395 阅读 · 0 评论 -
MySql数据库学习(四)group by、limit、函数
一、group by 用法原创 2020-08-21 15:06:49 · 401 阅读 · 0 评论 -
python
strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列str.strip([chars]);注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符str = "00000003210Runoob01230000000"; print str.strip( '0' ); # 去除首尾字符 0 str2 = " Runoob "; # 去除首尾空格print str2.strip();split()通过指定分隔符对字符串进行切片,如果原创 2020-08-19 14:55:43 · 88 阅读 · 0 评论 -
unitest框架学习(二)参数传递
1、ddt数据驱动,使用ddt进行参数传递;首先安装ddt pip install ddt然后导入from ddt import data,ddt,unpack使用时在类的前面进行参数传递的两种方式:一、二、文件传入def readFile(): params = [] file = open('params.txt','r') for line in file.readlines(): params.append(line.split('\原创 2020-08-19 11:47:19 · 223 阅读 · 0 评论 -
测试人员软素质--软件测试的艺术读书心得
软件测试是为了发现错误而执行程序的过程。测试不是为了证明程序能够正确运行而去测试程序,而是应该从一开始就假设程序中有错误,然后测试程序,从而发现更多的错误。通过测试提高程序的价值,是指通过测试提高了程序的可靠性和质量。...原创 2020-08-12 22:31:35 · 356 阅读 · 2 评论 -
Charles(二)模拟弱网测试
模拟弱网的场景: 端的测试有时需要模拟弱网测试,比如用户领取红包页面,每个红包对应唯一的红包码,如果用户网络不好,点了领取按钮,后端响应比较慢,此时用户会多次点击领取按钮,假如前端没有做处理,用户点击一次领取,前端就会用这个红包码向后端请求一次,后端接受第二次请求时,就会返回无效的红包码,导致一些不必要的报警。此时就需要模拟弱网场景,点击领取,模拟后端没有立即给前端返回,然后多次点击前端button,看前端会不会请求多次。模拟弱网步骤:1、Proxy–>Throttle Settings --&原创 2020-08-11 16:42:14 · 243 阅读 · 0 评论 -
写unitest遇到的问题
一、编码问题SyntaxError: Non-ASCII character ‘\xe4’ in file /Users/muxiaomiao/PycharmProjects/testUnit/Test1/testfile1.py on line 25, but no encoding declared;python的默认编码文件是用的ASCII码,将文件存成UTF-8,编译就可以通过。解决办法:在程序的第一行(必须是第一行)加上如下代码即可解决#coding=utf-8 ...原创 2020-08-11 11:58:16 · 158 阅读 · 0 评论 -
性能测试(一)
基准测试: 模拟但用户运行,产生基准性能测试数据。并发测试: 通过模拟多个用户并发访问,测试用户同时访问统一应用、模块或者数据观察系统是否存在问题;负载测试: 通过对被测系统上不断加压,直到超过预定的指标或者资源达到了一种饱和状态不能加压为止。压力测试: 系统达到了一定的饱和程度,例如CPU,磁盘处于饱和状态下,此时系统能够处理业务的能力,系统是否会出现错误。稳定性测试: 又称可靠性测试,给系统加载一定业务压力的情况下,使系统运行7*24,检测系统是否稳定。性能测试指标:系统指标:响应时间 :原创 2020-08-10 17:14:55 · 90 阅读 · 0 评论 -
幂等相关
一、为什么要做幂等案例:618刚到零点,小明就在淘宝购物车选择好商品,点击提交订单按钮,选择好支付方式,点了在支付宝收银台页面点击立即付款,因为人数众多,网络反应较慢,小明担心自己的商品被抢购一空,于是不断的点击立即付款按钮,此时支付宝应该只扣一次款,如果点击一次扣一次款,支付宝早就炸了。。。二、幂等概念1、幂等是指在多个同样的交易指令或请求同时或者先后到达后台,即使重复执行,系统也必须始终提供一致的状态,而不能有其他的副作用2、幂等特点:幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询原创 2020-08-07 17:20:18 · 254 阅读 · 0 评论 -
Linux常用命令
内存相关top:可以实时动态地查看系统的整体运行情况,包括进程 ID、内存占用率、CPU 占用率,使用截图:free可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区dudu会显示指定的目录或文件所占用的磁盘空间df在Linux系统上的文件系统的磁盘使用情况统计du与df区别:df可以看见已经删除的文件;文件操作相关mkdir 新建文件rmdir 删除文件cp 拷贝chmod 访问权限权限范围:u :目录或者文件的当前的用户g原创 2020-07-22 10:47:31 · 66 阅读 · 0 评论 -
MySql数据库学习(一)主键
一、什么是主键指一个列或者是多个列的组合,它的值能唯一地标识表中的每一行。主键是一种特殊的索引,并且是唯一性索引的一种,定义为:PRIMARY KEY在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录。例如:人事资料中有一个身份征号的字段﹐这个就可设为主键(因为身份征号不会重复)﹐但姓名就不可以﹐因为姓名可以重复。二、主键有那些特点1、一个表中只能有一个主键;2、主键可以是一个字段,也可以是多个字段组成主键;3、设置为主键的字段不能重复;4、设置为主键的字段不能为空;三原创 2020-07-15 15:55:57 · 2679 阅读 · 0 评论 -
安全测试之XSS攻击
一、XSS攻击的概念XSS的攻击方式就是想办法“教唆”用户的浏览器去执行一些这个网页中原本不存在的前端代码二、XSS攻击的现象2011年新浪就曾爆出过严重的xss漏洞,导致大量用户自动关注某个微博号并自动转发某条微博。三、XSS攻击的防范1、首先是过滤。对诸如< img> < script> < a>等标签进行过滤。2、其次是编码。像一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果原创 2020-07-14 22:26:02 · 397 阅读 · 0 评论 -
安全测试之SQL注入
一、SQL注入的概念SQL注入其实是恶意攻击者,将SQL或者字符作为参数输入,服务器在验证这个字段的时候,读取攻击者输入的数据,将其作为正常的值参与SQL语句的查询,从而达到删表或者获取数据库信息等目的。二、SQL注入的条件参数中含有SQL语句,并可以带入数据库正常执行;WEB应用和数据库交互时,必须携带参数传递至数据库;例如:POST请求体中的参数GET请求头URL中的参数Cookie三、SQL注入的几种场景1、字符串型注入场景1:假设登陆后台的校验逻辑为:从数据库查询对应用户名和原创 2020-07-14 18:28:47 · 3165 阅读 · 0 评论 -
测试支付后端接口关注点
原创 2020-07-14 16:48:40 · 371 阅读 · 0 评论 -
代码CR关注点
原创 2020-07-14 16:47:55 · 725 阅读 · 0 评论 -
技术方案评审关注点
原创 2020-07-14 16:47:08 · 1025 阅读 · 0 评论 -
Charles(一)抓包常见问题
一、抓http包乱码测试的时候发现抓http请求也会乱码,排查了好久,后来发现是测试包本身控制的,需要进行网络降级。android:进入到自测模式,将LazyPlugin改成未加密,再次进行抓包,即可。IOS测试包,进入到关于,将网络降级打开,然后再次进行抓包,抓包请求就是明文了。二、抓包时如何过滤无用的请求抓包时,经常会发现抓包工具有很多请求,但只有少部分是我们自己请求并且想要的,为了更方便的找到自己的请求,可以加一层过滤,只抓指定网段下的请求,步骤如下:Proxy->Recordi原创 2020-07-14 10:17:41 · 1115 阅读 · 0 评论 -
写testng遇到过的问题以及解决方法
一、java.util.IllegalFormatConversionException: d != java.lang.String定位到报错代码:trade_order传入的不是int类型,而是string类型,将%d换成%s就可以解决。二、 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0这是越界异常,但不是数组越界异常,数组越界异常报错:java.lang.ArrayIndexOutOfBoundsException查阅相关资原创 2020-07-08 10:50:48 · 650 阅读 · 0 评论