Linux重要的性能指标 -- Memory

1. 基本概念 Virtual Memory:虚拟内存就是采用硬盘对物理内存进行扩展 kswapd:kswapd进程负责确保内存空间总是在被释放中. pdflush:负责将内存中的内容和文件系统进行同步操作.即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上 2. MEM监测 •查看内存信息:cat /proc/meminfo • 显示当前的内存使用情况:free 第一行 Men: total:表示物理内存总量,total = used + free used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用 free:未被分... 详情

Linux重要的性能指标 -- CPU

1. 基本概念 •上下文切换(Context Switches):如果可运行的线程数大于CPU的数量,那么OS最终会强行换出正在执行的线程,从而使其他线程能够使用CPU,它会保存当前运行线程的执行上下文,并重建新调入线程的执行上下文。 •运行队列(Run Queue ):每个CPU 都维护一个线程的运行队列。如果CPU 子系统处于高负荷下,那就意味着内核调度将无法及时响应系统请求.导致结果,可运行状态进程拥塞在运行队列里.当运行队列越来越巨大,进程线程将花费更多的时间获取被执行.每个处理器应该运行队列不超过1-3个线程.例子,一个双核处理器应该运行队列不要超过6 个线程。 •load :就是指在CPU 队列中有多少数目的线程,以及其中当前有多少进程线程数目被执行的组合. ... 详情

【GBA】2012Q3-商品规则校验代码漏洞

Bug标题 规则使用or及and条件,当校验条件有before,而校验动作为发布时,整个规则被忽略 发现阶段:1-PRD评审前2-PRD评审时3-PRD评审后UC评审前4-UC评审时5-UC评审后测试执行前6-测试执行期间7-预发期间8-发布后9-daily回归10-测试用例评审时11-发布前遗留原因定位:1-需求2-设计3-后端编码4-前端与交互5-环境深度:1-很容易发现2-正常发现3-很难发现 Bug影响 商品发布规则限制条件在启用(校验DB商品场景+and和or关系都包含+发布动作)下,整个规则会被放过,导致该场景下商品发布限制规则会失效。 Bug发现过程 1.前期review规则后台代码,发现简单规则(只包含一个条件的规则)与多个条件的规则走的是不同的规则... 详情

【求解】 itest 数据准备 为啥会影响开发代码对数据库的操作?

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 遇到的问题: 单独运行用例A,是运行成功的,但是用maven命令全部运行时就失败,失败的原因是数据插入完毕后的返回值为0(本来应该返回该条记录的主键id值才对)。 排查方法: 查看运... 详情

[无线测试]android无线测试要点

上午,苏青来问我是不是做ios测试,android测试知道不,想了解一下android的测试,我说我现在2个都做,于是劈里啪啦地敲了一通键盘,然后她说你可以去写博了,good idea,我先把我想到的要点先罗列一下吧,有兴趣的同学可以参考。 业务测试就不说了,主要针对android客户端的特性,我们需要注意的点: 1、考虑Android的回退功能,我们要知道android进行回退操作后是可以返回到上一个activity的。此时,我们测试需要注意回退后会不会导致功能异常,是否会因开发处理的不恰当造成应用的crash,是否对本不应再显示的Activity做销毁处理等。 2、考虑消息push机制。android的消息PUSH机制没有IOS这么完善,需要客户端单独开发,那进... 详情

[2012 Q3 GBA] - 浏览器无规律死锁问题的发现和解决

Q3第一次参加GBA的评选就能拿到GBA大奖,还是挺开心的。现在离评选已经有一段时间了,也是该整理一下。在这里分享一下,与大家共勉。 这次参选的bug是一个关于浏览器无规律死锁的问题,从发现bug到解决bug共花了4个多月的时间,其中有很多感想和收获。这个bug解决后,我们也开发出了一套功能齐全的浏览器稳定性测试工具,可以对浏览器的死锁,crash,异常关闭等情况进行测试并且得到量化指标。关于工具的分享见我的另一篇博客:http://taobaotest.ruoguschool.com/blogs/2145 废话不多说了,下面来介绍这个bug的详细情况,如果有任何疑问的欢迎随时和我来联系。 参选bug: 使用过程中浏览器经常发生无规律的死锁,严重影响用户体验。 bug发现过程: 一开始... 详情

PRD之我见

PRD是项目中的重要输入文件,对测试人员来说,PRD是判断bug的基准,是测试执行的源头。入职半年以来,经手的PRD大小也有20+了,有的PRD写的十分详细,有的则截两张图草草了事,对这种PRD,测试是十分头疼的,然而,非要等PRD完美后才投入项目是不可能的,因为PRD不够完美就带着情绪进入项目更是不可取。以下是经过了各种令人头疼的PRD后的一些感悟,总结一下。 1,事无巨细的PRD固然很好,但现实的PRD肯定会有一些不完善的地方,学会不抱怨,接受PRD的不完美,针对如何提高PRD质量提出自己的建议和意见,协助PD将PRD整理的更好,业务逻辑和流程都更突出,流畅。 2,PRD读一遍是不够的。重要的业务细节,只有不断的推敲才能发现更多的用例,甚至不合理的地方,测试不仅... 详情

ioS开发初学系列1——objective-c基本知识点

下一篇:ioS开发初学系列2——基础知识cocoa及cocoa touch 摘要:objective-c是一门语言,但又不仅仅是学习语法就可以了,个人理解,objective-c=语法+部分(xcode+框架(cocoa touch)+MVC模式),听起来内容真多,不过在看代码和实践的过程中再来看这些知识点,会效果显著。 1.objective-c语法在ios开发中的地位。 在最开始学习ios开发的时候,以为objective-c语法是一座大山,(因为从来没用过,觉得objective-c长得好奇怪哦),每次打开一个学习教程,感觉都是前面几集都是在讲objective-c,有木有!!而到后来才发现,语法还是比较简单的一部分,那是因为——语法只是objective-c的一部... 详情

ioS开发初学系列2——基础知识cocoa及cocoa touch

下一篇:ios例子1 Test_main——了解简单的ios应用程序如何启动 1.cocao及cocoa touch的关系 ios开发资料中经常提到以下概念,cocoa,cocao touch,foundation,uikit,xcode,uiview,uiviewController等。下面总结了这些这些概念及它们之间的关系。 编程环境,框架,和类名。分别用下图中图形表示。 Cocoa是苹果公司为Mac OS X所创建的原生面向对象的编程环境 ; Cocoa主要包括AppKit和Foundation两个框架; Cocoa touch是用于开发 iphone\ipod\ipad上的软件,是cocoa的一个子类,Cocoa touch主要包... 详情

ios例子1 Test_main——了解简单的ios应用程序如何启动

下一篇:ios例子2 Test_MVC——理解mvc模式应用 摘要:在查看代码时,首先需要找到程序的入口函数,本节创建了一个简单的应用,并介绍了程序入口main函数,和UIApplicationDelegate的生命周期。 1.创建一个empty应用 通过菜单创建一个新工程:路径为 File> New> New Project Xcode包含了几个内置的应用程序模板,例如,Tabbed 模板便于开发类 iTunes 的应用,而Master-Detail 模板便于开发类 Mail 的应用。Single View在一般的教程中经常用到,会自带一个storyBoard和controllView。为了便于初学者理解,我们新建一个Empty Application. ... 详情

httpclient模拟登陆操作实现

接口测试中,如果遇到http的接口,同时又需要登陆后的一些操作,怎么办? 性能测试中,jmeter工具下,一些需要登陆后的操作,登陆除了badboy的录制操作,还有没有别的办法? 在本地,用httpclient模拟用户登陆操作,给大家分享下一个登陆的实现方式。 1 cookie值的获取: 2 httpclient请求,对传入cookie值和需要访问的url进行登陆后的http请求操作: 3 该类继承AbstractJavaSampler,打包放到jmeter的lib/ext下 放到该目录下: 4 jmeter下线程组添加java请求 5 请求中添加调用方法所需的参数,进行调用 6 jmeter中java请求的代码格式: 这样就... 详情

初级Bug率,随时受不了

一听到初级Bug这个名字,很多开发工程师都会觉得很头痛,还有那个“初级Bug率”,让人随时受不了。 初级Bug这个概念,在多数缺陷跟踪工具中,是不存在的,可以说是淘宝研发部的特色。初级Bug对应Bug的一个属性:“Bug深度”,这个属性有三个选项:1很容易发现、2正常发现、3很难发现,其中“很容易发现”的Bug就是初级Bug。深度代表了发现Bug需要的成本和技术含量,初级Bug就是那些非常明显,通过简单的操作就能发现的Bug。 从初级Bug这个概念被提出,到现在大约有2年时间。最初的时候,在一次开发经理的周会上,研发部VP提出,开发工程师必须要提高代码质量,不要一提交测试,马上就被测试工程师找出一堆很低级的Bug。“低级Bug”这个概念因此诞生了,低级Bug... 详情

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

当前对象为StandardEngine[Catalina]。 1、将HashMapchildren=newHashMap(),转换为数组。复制给children[]。其中children是通过第六节注入进去,也就是server.xml中的。 2、进行[StandardEngine[Catalina].StandardHost[localhost]]的start()方法进行启动。类继承关系是classStandardHostextendsContainerBaseimplementsHost,abstractclassContainerBaseextendsLifecycleMBeanBaseimplementsContainer。 3、调用LifecycleBase的sta... 详情

Android客户端捕获http请求包的方法

对于Web测试,我们可以很容易的抓取到相关的http请求包,不用什么专业软件,甚至浏览器都能帮我们完成这个功能,拿到需要的http请求连接 。 http连接对于测试同学来说, 不论做功能、性能或是安全,都是非常重要的, 他过滤了前台的因素,让测试同学直接能对后台进行交互。 以上是http连接的重要性,基本等于废话,下面是正题。 客户端安全测试,同样需要拿到http的请求包,由于客户端的前段限制绕过比较麻烦,那么在做安全测试的过程中,直接拿到http的请求包显得更外重要。 有如下方法可以拿到请求的http包: 1、在不配置代理的情况下,对Android客户端(模拟器)的数据我们可以使用wireshark或者etherpeek等网络层抓包软件抓取,模拟器本身的数据交互是通过电脑主... 详情

HIVE使用技巧(一)--union all

HIVE语法中对于UNION ALL的使用是非常常见的,主要用于多表合并的场景。UNION ALL要求各表SELECT出的字段类型必须完全匹配。 在实际使用过程中,经常会出现对多表且不同字段的结果表进行合并操作。 例如:以下六张表中除seller_id字段相同外,其他字段均不相同。需要合并这六张表,来计算每个卖家是否做过店铺名称、电话、主营类目变更等行为。 解决合并多表且字段类型不同的问题,可用以下方法: 将每张表中没有的字段在select时,用‘ ’as 相同字段名 进行处理,将每张表补成拥有相同的字段类型: 最后的新表结果如下: 可以看到对于同一个卖家,可以用一条记录表示出是否有过店铺地址变更、是否有过主营类目变更等操作。 扩展... 详情