基于jmeter的性能测试工具--iper简介

性能模型 做性能测试时,基线测试可以帮助大家快速找到最大TPS以及最优的TPS,因此我们就需要有性能模型,并根据这种模型,来进行我们的压测数据准备,首先我们先看一下iper工具中实现的性能模型图: 从图上可以看出,随着并发数的增长,TPS是会上升的,到一个点之后,TPS下降,最终达到平稳值;另外响应时间随着并发数的增长,是一个上升趋势的曲线,用户可以根据响应时间跟TPS的对应关系,去找到最优的TPS,并可以用这个TPS做稳压测试,找到系统的最大可以承受的能力; 根据这个性能模型,我们基于jmeter开发了一个性能测试工具--iper; 我们可以先看看用iper压测出来的一个系统的实际图形: 从这个图形上可以看出,并发数到4的时候,达到了系统的最高并发TPS,之后TPS... 详情

iOS持续集成实践(四)

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 0 0 1 349 1991 TB 16 4 2336 14.0 Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE ... 详情

iOS持续集成实践(三)

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 0 0 1 185 1061 TB 8 2 1244 14.0 Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE ... 详情

iOS持续集成实践(二)

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 0 0 1 155 889 TB 7 2 1042 14.0 Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE ... 详情

iOS持续集成实践(一)

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 0 0 1 401 2286 TB 19 5 2682 14.0 Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE ... 详情

Trunner技术漫游 - 协议篇

Trunner节点之间通过JGroups消息进行通信,JGroups最大的一个优点就是内在支持集群特性,因此Trunner可以非常方便的实现负载均衡、可扩展性、高可用性。下面我们通过分析一下Trunner使用到的JGroups协议栈配置,来看看这些集群特性是怎么实现的。 UDP协议是JGroups底层的消息传送协议,注意这里的UDP和网络协议中的UDP概念不一样,除了说明底层数据传输使用的是UDP网络传输层协议之外还可以指定JGroups对消息处理的线程模型。这一层定义了两个线程池:thread_pool和oob_thread_pool,前者用来处理需要按序处理的消息,后者处理无序消息。UDP只是JGroups协议栈中传输的一个可选协议,用户也可以使用TCP来实现相同的功能。 PI... 详情

ios开发“石蜜”代码学习笔记

初学ios开发,还没有接触过实际的工程代码,以下记录了首次导入石蜜代码过程中遇到的一些问题,以及学习代码过程中,总结的比较好理解的查看代码流程。 Summary: Ø 首次编译出错,是由于sdk与xcode版本的问题 Ø 查看代码结构 1. 分清楚第三方类库,源码,.framework和.dylib 2. 找到入口文件.storyboard,以及相应的viewController文件 3. YaobaAppDelegate,了解AppDelegate的主要内容 4. 内容显示,包括图片字体,控件定义,消息请求和消息bean “石蜜”的控件都是用xib文件存储的,在视频教程中,多是用库中的控件如button,label等拖到storyBoard中的,所... 详情

ios 提供统一执行sql的方法

首先说一下进行的逻辑和思路:一般的数据访问 都是 connection, statement, execution, resultset, close。 这里写一个简单,不接受 任何参数,单纯执行的sql方法,接收sql串返回NSArray 对象 // It takes a SQL string and returns an NSArray of NSDictionary objects, // Each dictionary object represents one result row. If there are no results, // then an empty array will be returned. - (NSArray *)executeSql: (... 详情

石蜜“双十二新版首发”活动

1212,淘不一样,1212淘什么,淘宝最神秘的语音电台空间——石蜜,淘语音乐趣! 石蜜“双十二新版首发”,聚音活动马上开始! 你想成为最具甜美的语音主播嘛? 你想成为一个受人瞩目的站长么? 你想随时随地的大声喊出自己的告白么? 那么就来体验石蜜之旅吧! 下载地址: 安卓下载: http://app.taobao.com/software/detail.htm?spm=a210u.1000832.1000748.28.gMXnz9&appId=18886 IOS下载: 下载链接: https://itunes.apple.com/cn/app/shi-mi/id575824268?l=en&mt=8 二维码下载: ... 详情

淘宝双12无线app试用啦

感谢素萍、芮炜、哲成的贡献 公司内的亲们可以到下面地址通过二维码扫描的方式使用: 操作说明: 1. wifi设置:选择alibaba-inc网络; 2. 打开链接: http://mtl.taobaotest.com/package/iOS 3. 扫描“淘1212”二维码即可安装。(温馨提示:鼠标移至二维码时,将自动放大,请扫描放大的二维码) 公司外的朋友们可以通过如下方式访问: 操作说明: 1. 这个操作在pc端就可以完成啦!使用新浪微博账号到下面链接中下载ipa文件,亲,如果您喜欢这个app请再点击下“喜欢”icon哦; http://vdisk.weibo.com/s/knGyr/1355239623 2. 在pc端下载ifunbox或同步推软... 详情

谈谈我理解的测试的核心价值

测试人员的核心价值 随着公司组织架构的调整,战略调整,产品的实现技术不断变化,现在的测试人员可以说是什么都可以干。 有些人做产品,有些人做平台,有些人做工具...... 有些人有点象专职开发,有些人有点象专职运营...... Facebook,google的一些敏捷测试理念中,测试人员应该致力于提出测试解决方案,研究各种测试工具为主,具体的测试执行工作,由coding的开发同学去做。 变化后面也有很多不变的,测试手段无外呼白盒测试,黑盒测试,静态测试,动态测试,单元测试,集成测试,系统测试,安全测试,性能测试等等。那些奋斗在一线的测试工程师的工作内容实则没有什么大的变化,访谈的结果是大家觉得自己也没有成就感,工作很累。 这一切都让我迷惑了,很多人象我一样也... 详情

Ruby对象文本序列化及反序列化的实现

序列化是将对象的状态信息(即成员变量或者属性)转换为可以存储或传输的形式的过程。反序列化是序列化的逆过程,通过从存储或传输数据中读取对象的状态,重新创建对象。 序列化可分成2种。第一种是计算机能识别的二进制流,如窗口控件的大小&位置属性等,用户一般不关心属性如何保存,也极少去手动设置属性。第二种是用于向用户提供数据的文本流,如参数配置文件,执行结果数据等,需要有较强的可读性和易修改性。 序列化的主要原理,是获取对象的属性(状态信息)并进行二进制或文本流存储。在Ruby中,YAML模块可以方便的实现对象二进制序列化和反序列化,但是文本序列化并没有现成模块来实现。 在Ruby中,通过Object#instance_variables方法可以获取对象的成员变量名... 详情

单元测试中mock的使用及mock神器jmockit实践

在最近的refund应用的单元测试中,经常需要用到mock,可以说mock在ut (unit test)中是无处不在的。而在refund的ut实践中也找到了一种很简洁的mock方式,不仅解决了ut中所有需要mock的地方,而且可以很少量的代码来完成mock。详见下文。 一.Mock的使用场景: 比如以下场景: 1. mock掉外部依赖的应用的HSF service的调用,比如uic,tp 的hsf服务依赖。 2. 对DAO层(访问mysql、oracle、tair、tfs等底层存储)的调用mock等。 3. 对系统间异步交互notify消息的mock。 4. 对method_A里面调用到的method_B 的mock 。 5. 对一些应用里面自己的class(... 详情

自动化测试综述

本文主要对自动化测试相关知识做了一些阐述,以便于从事自动化测试人员对自动化测试相关领 域知识有个更为全面的认识。 手动测试与自动化测试: 手工测试 依据测试用例,依次对产品进行输入等操作并进行实际结果与期望结果对比的测试手段。测试人员需要具备手工测试过程中发现缺陷的基本技能。测试人员素质以及其他不确定因素会影响手工测试结果,导致差错率的发生。 自动化测试 把人为驱动的测试过程转变为机器执行的一种过程,避免操作过程中人为的疏忽和错误。 什么是测试框架? 定义 由一个或多个自... 详情

Tomcat源码解读--代码走读之(二十一的2-1)realm.start(二十二)

这里介绍一下realm,当前对象是LockOutRealm,类继承关系是LockOutRealmextendsCombinedRealm,CombinedRealmextendsRealmBase,RealmBaseextendsLifecycleMBeanBaseimplementsRealm,LifecycleMBeanBaseextendsLifecycleBaseimplementsMBeanRegistration,LifecycleBaseimplementsLifecycle。 LockOutRealm间接继承了LifecycleBase,所以调用父类的start方法,里面的主要步骤为。 1、init方法进行初始化, (1)、因为LockOutRealm的liste... 详情