测试脚本

一个高并发的测试websocket脚本

蹲街弑〆低调 提交于 2019-11-29 01:28:05
一个高并发的测试websocket脚本 根据最近公司上线一个直播项目,但是有一天测试那边一脸苦逼的来找到我,问我有什么好工具可以实现高并发的测试,他使用jmeter限制了400个并发数(个人没去研究过不知道是否真的限制),后来我第一时间想到python写一个脚本,也没想多小就答应帮他搞一个测试脚本。 首先整理思: 要实现高并发不到两点 多进程 多线程 首先安装先要环境: pip install websocket pip install threadpool pip install websocket-client pip install multiprocessing 直接上脚本: #!/usr/bin/python #-*- coding:utf-8 -*- #__author__ == 'chenmingle' import websocket import time import threading import json import multiprocessing from threadpool import ThreadPool, makeRequests #修改成自己的websocket地址 WS_URL = "wss://ws.test.com/" #定义进程数 processes=5 #定义线程数(每个文件可能限制1024个,可以修改fs.file等参数)

网络服务综合性测试

时光总嘲笑我的痴心妄想 提交于 2019-11-28 19:59:09
192.168.200.113是第二题PXE装机得来的 第一题: 111: [root@localhost ~]# yum -y install dhpcd 第二题 省略 第三题脚本 必须关闭防火墙,否则113无法挂载 忘了创建index.html 建立即可 内容为自己的名字maoyanqing 第四题 apache脚本 113 操作 yum -y install rpcbind showmount -e 192.168.200.112 mount 192.168.200.112:/data /usr/local/apache/htdocs 第五题 111 112 113 来源: https://www.cnblogs.com/maoyanqing/p/11425211.html

bash脚本编程

余生长醉 提交于 2019-11-28 15:39:18
一、bash中的变量 变量类型: 本地变量:只对当前shell进程有效,对其子shell以及其它shell都无效;      定义变量:[set]Var_name="value"       变量赋值的3种方式:         (1)可以是直接字串name=" username "         (2)变量引用:name=$username,把变量username的值赋给name         (3)命令引用:name=`COMMAND` ,name=$(COMMAND)      引用变量:${name}或$name        如果在字符串中引用变量:          ""(双引号):弱引用,其中的变量引用会被替换为变量值          ' '(单引号):强引用,其中的变量引用不会被替换为变量值,而保留原字符串     显示已定义的所有变量:        # set     撤销变量:unset Var_name       unset -f 函数名 #删除函数 局部变量:local Var_name="value" 环境变量:使用export命名的的变量,对当前shell进程及其子shell有效     定义环境变量三种方法:       1、export Var_name="Value"       2、Var_name="Value"        

web网页测试用例(非常实用)

假如想象 提交于 2019-11-28 15:02:46
Web测试中,各类web控件测试点总结 一 、界面检查   进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验   1、页面名称title是否正确   2、当前位置是否可见 您的位置:xxx>xxxx   3、文字格式统一性   4、排版是否整齐   5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一   6、同一页面,是否出现 字段名称相同、值取不同的问题。   7、数据加载情况:除了文本框的值,还要注意:   复选框,是否保存打√,或者保存不打√   下拉框,是否保存选择的值   多文本框,值是否都被保存,空格,换行是否保存 二、单文本框(type=text)   边界:字段长度   判空:是否可以为空   唯一性:是否唯一 (小归结:边界、判空、唯一性、特殊字符、正确性)   考虑语言,操作环境   特殊符号测试输入:   ' or 1<>'1   ' or '1'='1  ' or '1'<>'2  "|?><   where a='xxx'   下划线是否允许  输入全部空格 输入 单引号   ><script>alert(“123”);</script>>   特殊字段输入限定:   框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉   输入金额文本框,整数首位为0,过滤掉,小数点后面

web网页测试用例(非常实用)

不羁岁月 提交于 2019-11-28 14:32:22
Web测试中,各类web控件测试点总结 一 、界面检查   进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验   1、页面名称title是否正确   2、当前位置是否可见 您的位置:xxx>xxxx   3、文字格式统一性   4、排版是否整齐   5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一   6、同一页面,是否出现 字段名称相同、值取不同的问题。   7、数据加载情况:除了文本框的值,还要注意:   复选框,是否保存打√,或者保存不打√   下拉框,是否保存选择的值   多文本框,值是否都被保存,空格,换行是否保存 二、单文本框(type=text)   边界:字段长度   判空:是否可以为空   唯一性:是否唯一 (小归结:边界、判空、唯一性、特殊字符、正确性)   考虑语言,操作环境   特殊符号测试输入:   ' or 1<>'1   ' or '1'='1  ' or '1'<>'2  "|?><   where a='xxx'   下划线是否允许  输入全部空格 输入 单引号   ><script>alert(“123”);</script>>   特殊字段输入限定:   框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉   输入金额文本框,整数首位为0,过滤掉,小数点后面

支付宝的性能测试

谁说我不能喝 提交于 2019-11-28 11:19:58
支付宝的性能测试 作者 付丽华 孙玉星 发布于 2014年5月22日 | 6 讨论 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 稍后阅读 我的阅读清单 一、性能测试支付宝场景介绍 2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战。 支付宝的性能测试场景分为性能基线测试,项目性能测试。 任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放。 相关厂商内容 滴滴出行iOS客户端架构演进之路! 微信客户端如何应对弱网络! 函数式编程中的Swift与Swift中的函数式编程! 你离成为一位合格的技术领导者还有多远? 国际范 最前沿 不容错过的容器技术盛会 相关赞助商 GMTC全球移动技术大会2016年6月24日-25日,北京, 点击了解详情 ! 我们有一个老的扫描平台A,现在需要构建一个新的扫描平台B,对A中关键技术进行升级,并增加额外的功能。扫描的策略是存储在DB中的,需要通过发布来更新到应用服务器的内存中。 二、性能测试需求分析和方案制定 a. 需求挖掘 1),查看业务方的显性需求。业务方给到的需求为平台B的分析性能要优于平台A的性能

JavaScript性能优化

▼魔方 西西 提交于 2019-11-28 05:44:56
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度。 这种情况下决定程序速度的另一个重要因素就是代码本身。 在这里我们会分门别类的介绍JavaScript性能优化的技巧,并提供相应的测试用例,供大家在自己使用的浏览器上验证, 同时会对特定的JavaScript背景知识做一定的介绍。 目录 变量查找优化 变量声明带上var 慎用全局变量 缓存重复使用的全局变量 避免使用with 核心语法优化 通过原型优化方法定义 避开闭包陷阱 避免使用属性访问方法 避免在循环中使用try-catch 使用for代替for…in…遍历数组 使用原始操作代替方法调用 传递方法取代方法字符串 脚本装载优化 使用工具精简脚本 启用Gzip压缩 设置Cache-Control和Expires头 异步加载脚本 DOM操作优化 减少DOM元素数量 优化CSS样式转换 优化节点添加 优化节点修改 减少使用元素位置操作 避免遍历大量元素 事件优化 使用事件代理 动画优化 设置动画元素为absolute或fixed 使用一个timer完成多个元素动画 变量查找优化 变量声明带上var 1. 如果声明变量忘记了var,那么js引擎将会遍历整个作用域查找这个变量,结果不管找到与否,都是悲剧。 如果在上级作用域找到了这个变量,上级作用域变量的内容将被无声的改写

Linux shell基础

余生颓废 提交于 2019-11-28 03:50:41
shell基础 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容。每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容。只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础。 1.2 学好Shell编程所需的基础知识 能够熟练使用vim编辑器,熟悉SSH终端 有一定的Linux命令基础,至少需要掌握80个以上Linux常用命令,并能够熟练使用它。 要熟练掌握Linux正则表达式及三剑客命令(grep,sed,awk) 1.3 如何学好Shel编程 学好Shel编程的 核心 :多练-->多思考-->再练-->再思考,坚持如此循环即可! 新手大忌 :不可拿来主义,可以模仿,但是要自己嚼烂了吃下去,否则会闹肚子。 格言 :你觉得会了并不一定会了,你认为对的并不一定对的。 大家要勤动手,自行完成学习笔记和代码的书写。通过每一个小目标培养自己的兴趣以及成就感 2,Shell脚本入门 2.1 什么是Shell Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话

Web 自动化

不问归期 提交于 2019-11-28 03:31:30
自动化:由机器设备代替人为自动完成指定目标的过程 自动化测试:由程序代替人为去验证程序功能的过程 为什么要进行自动化测试? 解决-回归测试 压力测试 兼容性测试 提高测试效率,保证产品质量 什么阶段开始自动化测试? 功能测试完毕(手工测试) 手工测试:就是由人去一个个输入测试用例,然后观察结果; 自动化测试所属分类(代码可见度) 黑盒测试 灰盒测试 白盒测试 提示: Web 自动化测试属于黑盒测试(功能测试) 优点: 较少时间内运行更多的测试用例 自动化脚本可重复运行 减少人为的错误 测试数据存储 缺点: 不能取代手工测试 手工测试比自动化测试发现的缺陷更多 测试人员技能要求 3. 自动化测试分类 Web(UI)自动化测试 接口-自动化测试 移动(app)-自动化测试 单元测试-自动化测试 什么Web 项目适合做自动化测试? 需求变动不频繁 项目周期长 项目需要回归测试 如何进行 Web 自动化测试? QTP(收费) Selenium (开源) Jmeter(开源,Web,接口,性能) LoadRunner(收费.Web,性能) Robot framework 基于Python 可扩展的( 关键字驱动 ) 自动化测试框架 主流工具-汇结: Web 自动化测试:selenium,robot framework App端:Appium MonkeyRunner,UIautomation

JMETER性能测试

五迷三道 提交于 2019-11-27 23:59:10
需要分析的系统信息 需要分析的业务信息  性能需求评估 确定性能测试点:   关键业务:   确定被测项目是否属于关键业务,有哪些主要的业务逻辑点,特别是跟交易相关的功能点。例如转账,扣款等接口。如果项目(或功能点)不属于关键业务(或关键业务点)   日请求量:   确定被测项目各功能点的日请求量(可以统计不同时间粒度下的请求量如:小时,日,周,月)。如果日请求量很高,系统压力很大,而且又是关键业务,该项目需要做性能测试,而且关键业务点,可以被确定为性能点   逻辑复杂度:   判定被测项目各功能点的逻辑复杂度。如果一个主要业务的日请求量不高,但是逻辑很复杂,则也需要通过性能测试。原因是,在分布式方式的调用中,当某一个环节响应较慢,就会影响到其它环节,造成雪崩效应。   运营推广活动:   根据运营的推广计划来判定待测系统未来的压力。未雨绸缪、防患于未然、降低运营风险是性能测试的主要目标。被测系统的性能不仅能满足当前压力,更需要满足未来一定时间段内的压力。因此,事先了解运营推广计划,对性能点的制定有很大的作用。例如,运营计划做活动,要求系统每天能支撑多少 PV、多少 UV,或者一个季度后,需要能支撑多大的访问量等等数据。当新项目(或功能点)属于运营重点推广计划范畴之内,则该项目(或功能点)也需要做性能测试。   建立性能指标 a.选取核心业务流程(重要程度/频繁)   b