- 博客(42)
- 收藏
- 关注

原创 自动化测试用例的分层与目录总结
以前的测试用例的目录和分层比较乱,调研和总结的结果供以后借鉴。测试用例分层结构:大多数分为四层1 case测试用例的运行case2 case直接调的lib。(如对被测试系统的操作类,对比测试结果类,清理环境类等)3 lib调用的公共基础函数或类baselib。(操作数据库,操作文件,操作Linux命令,操作基础数据)4 数据层(数据库数据结构,加载数据文件等)测试目录结构:
2017-03-26 17:59:26
4738

原创 测试团队所处的阶段和水平
下面是从一个国外论坛上看到的翻译过来的,可能不是特别准确,大体意思应该不差。1初建的测试团队开发基本结束后再转测试开发期间完成大部分test case设计有自动化功能测试,发挥一定作用测试工作基本以手工测试为主2成长中的测试团队开发部分阶段与测试并行自动化测试在每个迭代中发挥作用,每次迭代后都会增加该迭代的自动化测试自动化测试具备一定数量并起到了一定保障作用
2017-03-23 16:56:03
1991
1
原创 mac 隔空投送(airdrop)不能发送
mac隔空投送卡死mac隔空投送点击没有反应mac隔空投送为什么点不了mac隔空投送取消点不了mac隔空投送失败隔空投送 点了没有反应原因是一前的不知道某些配置操作导致,可以执行一下内存设置的操作还原设置,可能解决问题:Mac 会将某些设置储存在特殊内存区域中,而且即使关机这些设置也不会丢失(除非存在电池问题)。 在基于 Intel 的 Mac 上,存储位置是称为 NVRAM 的内存;而在基于 P...
2018-02-11 17:05:00
46280
1
原创 linux shell重定向(2>&1)
描述符介绍:0 是一个文件描述符,表示标准输入(stdin)1 是一个文件描述符,表示标准输出(stdout)2 是一个文件描述符,表示标准错误(stderr)在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard 键盘输入,并返回在前端 stdout(1): monitor 正确返回值 输出到前端 stderr(2): monitor 错误
2017-05-16 18:48:56
887
原创 gatling java内存溢出解决方法
java内存溢出解决方法可以用JAVA_OPTS="-server -Xms4096m -Xmx4096m -Xss512k" bin/gatling.sh命令运行原理介绍: Total memory:java虚拟机正在使用的已经从系统那里挖到的内存大小,也就是java虚拟机这个进程当时所占用的所有 内存。如果在运行java的时候没有添加-Xms参数,那么,在java程
2017-05-04 15:17:47
1194
原创 性能测试类型
平时工作中所说的性能测试和压力测试都是广义概念,没有细分,但是对于重要的系统需要各个阶段不同的性能指标。广义的性能测试和负载测试和压力测试是同样的含义,这里介绍的是细分后的概念。性能测试类型性能测试 (a-b)负载测试 (b)压力测试 (b-d)稳定性测试 (a-b)性能测试:定义: 狭义的性能测试,是指以性能预期目标为前提,对系统不断施加压力,
2017-05-03 11:30:20
1018
原创 Python paramiko总结
介绍: paramiko 可以用例批量在远程linux用来执行命令,拷贝文件。一 安装: pip install paramiko pip 使用http://blog.youkuaiyun.com/qq_37023538/article/details/53615342 二 paramiko 使用#encoding=gbkimport para
2017-04-26 18:22:11
583
原创 vim 批量处理缩进
方法 一 : 1 ctrl + v 进入 visual block模式 2 上下键选择操作的line 3 shift + i 进入insert模式 4 输入空格 5 输入两次esc方法 二: 1 shift + v 进入 visual line模式 2
2017-04-25 16:26:26
4136
原创 php代码覆盖率
一 php单元测试代码覆盖率 phpunit包含PHP_CodeCoverage组件,运行输出覆盖率结果。 运行phpunit 查看使用方法 Code Coverage Options: --coverage-clover Generate code coverage report in Clover XML format. --coverage-crap4j Gen
2017-04-07 16:26:28
3802
1
原创 unittest 源代码分析(二)--main.py代码分析
1 介绍 main.py是unittest主文件。2 main.py调用过程 TestProgram.__init__() ==> TestProgram.parseArgs() ==> TestProgram.createTests() ==> TestProgram.runTests() __init__() 初始化调用parseArgs()和runTests(
2017-04-04 19:39:09
998
原创 unittest 源代码分析(一)--unittest代码结构分析
需要对unittest添加功能,unittest包含在Python源代码中,可以看出unitest代码质量比较高。全面阅读unittest代码可以更好的添加功能,以后的也可以借鉴一下高质量代码的经验。1 代码获得 unittest在Python2.7版本后源代码中。 找到python的安装目录,unittest目录就是源代码。2 代码结构介绍 case.py
2017-03-29 14:05:33
2371
原创 nosetest 搭建smoke测试用例集
在很多时候,用例可以分不同的等级来运行,在nose中很增加了这个功能,使用attrib将用例进行划分。用nose的这个特性搭建smoke测试用例集test.pyimport unittest from nose.plugins.attrib import attrdef level(lev): def wrap_ob(ob): setattr(ob,'
2017-03-26 19:23:27
1129
原创 unittet skip 测试用例
unittet可以分无条件忽略和有条件忽略,通过装饰器实现介绍: @unittest.skip(reason): skip(reason)装饰器:无条件跳过装饰的测试,并说明跳过测试的原因。@unittest.skipIf(reason): skipIf(condition,reason)装饰器:条件为真时,跳过装饰的测试,并说明跳过测试的原因。@unittest.skipUnl
2017-03-26 15:01:40
1995
原创 C/C++白盒测试 Cppcheck安装使用
cppcheck能够检查出部分c/c++代码的错误,可以从不同维度未测试提供一道保障。一 下载 http://sourceforge.net/projects/cppcheck/二 安装 解压,make ,make install 运行命令查看安装成功 # cppcheck --version Cppcheck 1.63三 使用 检查
2017-03-21 15:07:46
2152
原创 jenkins构建触发
持续集成需要多种自动化触发构建,jenkins是可以实现的几种功能。Build after other projects are built在其他项目完成后触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定时候触发项目Poll SCM:定时检查源码变更,如果代码更新就checkout最新code下来,然后执行构建动作。配置如下:*/2 * * * * (
2017-03-20 11:08:10
1554
原创 安装jenkins
一 下载jenkins http://jenkins-ci.org/ 下载jenkins.war(war格式安装包)二 安装jenkins 安装tomcat,修改tomcat端口,启动tomcat,下载war包,放在tomcat的webapps下,就可以访问jenkins。
2017-03-20 00:42:53
360
原创 time wait和close wait
一 查看方法 http://blog.youkuaiyun.com/qq_37023538/article/details/63008901二 介绍time wait和close wait 客户端TCP状态: CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED
2017-03-19 13:14:17
664
1
原创 Linux netstat命令详解
1 介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态2 参数 -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态
2017-03-18 00:24:32
434
原创 nmon linux系统性能监控
1 nmon命令下载:wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz2 nmon命令安装:根据不同的平台,初始化对应平台的nmon工具:chmod +x nmon_x86_64_centos6 cp nmon_x86_centos6 /bin/nmon 3 nmon命令介绍:
2017-02-16 19:08:12
536
原创 gatling模拟线上实际压力
gatling压力脚本import io.gatling.core.Predef._import io.gatling.http.Predef._import scala.concurrent.duration._class testapi extends Simulation { val httpConf = http .baseURL("http://test111.
2017-02-15 17:20:08
782
原创 python使用uuid生成唯一id或str
介绍:UUID是128位的全局唯一标识符,通常由32字节的字符串表示。使用:import uuid print uuid.uuid1()14bfe806-f1c7-11e6-83b5-0680f3c45093uuid1()——基于MAC地址、当前时间戳、随机数生成。import uuidprint uuid.uuid3(uuid.NAMESPACE_DNS, 'te
2017-02-13 16:43:04
7119
原创 gatling详细使用
gatling详细使用1 几种压测场景示例://600秒跑1000个用户setUp(scn.inject(rampUsers(10000) over (6000 seconds)).protocols(httpConf))//10分钟内从每秒250个用户增长到每秒300个用户setUp(scn.inject(rampUsersPerSec(250) to
2017-02-09 18:49:52
9264
原创 chrome 模仿手机(iOS/Android)浏览器
chrome模仿ios和android手机浏览器。1 打开chrome浏览器,F12打开开发者模式。2 点击toggle device toolbar。3 选择模仿的设备4 其他功能,进入选择设备edit
2017-02-04 11:57:19
27272
1
原创 tcp python socket client
接口测试遇到tcp socket server的测试,需要模拟socket client,发送各种格式包,接受server返回值验证正确性。tcp socket server例子:http://blog.youkuaiyun.com/qq_37023538/article/details/53957308socket client代码import socketclass TcpComm:
2017-01-17 14:53:24
1217
原创 python 递归比较两个dict或json(相等,包含)
使用python经常会遇到对比dict和json相等问题。1 比较两个json相等,先将json转换dict。然后进行比较。 转换的的方法:http://blog.youkuaiyun.com/qq_37023538/article/details/536932222 python递归对比两个dict的代码:def cmp_dict(src_data,dst_data): asse
2017-01-12 17:15:58
13650
3
原创 压力测试工具gatling安装和介绍
Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等。优点: 1.gatling和其他压力工具相比有个好处是放在同一内网环境下linux服务器上,这样避免其他压力使用办公机使用共有网络,网络情况对压力测试的影响。 2 生成比较详细的压力测试报告。 3 能够更灵活的编写压力脚本。 4 可以jenkins集合,将压力测试整合自动化持续集成
2017-01-09 16:40:37
11751
原创 python unittest测试框架介绍
接口测试随着测试用例变多,需要构建测试用例和测试集合,就需要测试框架来完成这些工作。unittest自带的测试框架。单个文件测试test_001.pyimport unittestclass Test(unittest.TestCase): def setUp(self): print "setup()" def tearDown(sel
2017-01-04 19:31:13
2248
原创 selenium python环境搭建
selenium python 环境搭建web页面自动化测试需要搭建selenium环境,selenium支持多种语言,这里介绍python环境。1 环境 windows环境,配置没有要求。2 python安装: 下载地址 https://www.python.org/getit/ 安装python 2.7.*版本,其他版本目前支持不好 尝试cmd下输入pyth
2017-01-04 14:54:33
1788
1
原创 selenium原理介绍
网上selenium的原理介绍比较复杂,在公司的介绍为了能让大家马上明白原理,对重点做了提取。selenium有selenium 1 和selenium 2 两个版本。selenium 1通过selenium脚本调用selenium rc,selenium rc在浏览器中运行JavaScript应用,控制页面完成所需要的操作。 selenium 2
2017-01-04 13:49:59
2077
原创 接口测试tcp mock编写
接口测试中经常会有下游的tcp服务,这样就需要些一个mock来模拟tcp。import sysimport socketclass TcpServer: def __init__(self,_ip,_port): self.recv_addr = (_ip, _port) self.buffersize = 10240000 self.
2016-12-31 17:40:04
3176
原创 接口测试webserver mock编写
接口测试中经常会有下游的webserver服务,这样就需要些一个mock来模拟webserver。mock.pyimport thread, timefrom BaseHTTPServer import *class MyRequestHandler(BaseHTTPRequestHandler): def do_GET(self): self.send_resp
2016-12-29 18:44:26
1726
原创 svn代码统计生成详细html报告
公司使用git和svn,都的做统计,总结svn统计代码的方法:1 下载statsvn http://www.statsvn.org/downloads.html2 使用statsvn 下载代码 svn co http://xxxx.xxxxx.xxxxx/xxxxx 输出svn日志 svn log --xml -v > svn.log 生成报告 jav
2016-12-29 17:23:19
9325
1
原创 git代码统计-生成详细html报告
持续集成中会有代码统计,现在总结一下git统计方法。使用gitstat工具1 安装gitstat: 有详细安装方法 http://gitstats.sourceforge.net/2 使用: 现在代码到code目录 git clone ssh://xxxx@xxxx29418/xxxxx code 使用gitstat工具分析code目录代码生成结果到result
2016-12-29 16:54:56
23726
1
原创 c/c++代码覆盖率总结
c/c++代码覆盖率总结,具体如下1 安装工具: 安装lcov wget http://sourceforge.net/projects/ltp/files/Coverage%20Analysis/LCOV-1.12/lcov-1.12.tar.gz 解压;进入目录;make install即可 安装gcove wget
2016-12-29 11:12:09
6073
原创 python代码覆盖率
python代码覆盖率,使用的coverage包,生成代码覆盖率报告。1 安装coverage: $ pip install coverage2 python代码覆盖率生成: 执行代码覆盖率统计 #coverage run my_test.py arg1 arg2 启动覆盖率测试,跑完后,会自动生成一个覆盖率统计结果文件.coverage。 生成报告: $ c
2016-12-28 19:29:07
2928
1
原创 nodejs代码覆盖率
总结最近做node.js代码覆盖率,主要使用Istanbul包,没有其他语言的覆盖率工具功能多。1 安装: $ npm install -g istanbul2 覆盖率测试: nodejs文件test.js内容: var a = 1; var b = 1; if ((a + b) > 2) { console.log('more than
2016-12-28 16:19:07
4388
原创 linux 无密码登录 rsa加密原理
linux的无密码登录,利用RSA加密原理。使用rsa生成公钥和私钥。可以理解为:公钥是锁放在被登录的服务器上,私钥是钥匙放在客户端。锁和钥匙匹配就可以登录。1 安装相关软件: yum install ssh ssh里包含ssh和ssh-keygen2 在客户机生成公钥和私钥: cd ~/.ssh/ ssh-keygen -t rsa (默认3次回车
2016-12-20 18:21:51
1926
转载 http状态码详解
常用的状态码解析:200 - 服务器成功返回网页302 - 跳转状态 例如:跳转到http头headers的location字段的url404 - 请求的网页不存在502 - 网关错误 例如:nginx可以提供服务,nginx请求的php程序不能提供服务,就返回502.503 - 服务不可用
2016-12-19 15:06:21
2094
原创 python json操作
python使用中经常会遇到json解析数据的处理,json字符串转化成dict,dict转化成json字符串。1 安装json包: pip install json2 pyton操作json代码: >>>import json json字符串转化成dict >>> print json.loads('{"ll": null,
2016-12-16 14:58:09
10559
原创 linux nc命令 查看端口通不通
当某个服务不能访问,首先要查看服务的端口是否能够访问。如何查看服务器的端口是否处在监听状态,并能被client端访问。服务器网络是联通,端口没有ip策略封封掉。linux的nc命令,NetCat,在网络工具中有“瑞士军刀”美誉“,是解决这个问题的工具。nc命令安装: yum install ncnc命令参数解析: nc [-hlnruz][-g]
2016-12-15 15:45:33
16617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人