摘要: 最近从山寨python解决些简单的文本分析,开始进一步深入学习。当然深入学习的开始,要从一个好的IDE开始。于是乎就开始配置起eclipse+pyDev,又由于开始学习从网页上下载文件,就配置起BeautifulSoup。题外话,发现自己习惯了c/c++,会告诉自己无数个理由不去用新的东西,这种... 阅读全文
posted @ 2014-07-01 11:33 宇月--测试开发梦想家 阅读(1760) 评论(0) 推荐(0) 编辑
摘要: 软件测试思维方式,转载http://www.cnblogs.com/mayingbao/archive/2006/11/09/554846.html1 正向思维方式正向思维是指软件可以正常运行状态下表现出来的特征如:某个功能点正确实现后是什么样?网站可以提供访问时如何展现?说明:所以测试按照正常思维方式,检查验证系统功能是否实现,通常是以需求为准则来判断。2 逆向思维方式逆向思维是相对于正常思维,通常是检查正常思维相违背的地方,比如功能点未实现后如何?网站不能访问时页面是如何展现?3 全局思维方式全局思维则是从全方位360角度去分析软件系统,如:系统上线后可能会碰到的诸如多种风险情况,针对每种 阅读全文
posted @ 2014-02-13 10:48 宇月--测试开发梦想家 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 一、什么是钩子 我们可以首先从字面上了解钩子,钩子是干什么的呢?日常生活中,我们的钩子是用来钩住某种东西的,比如,说,鱼钩是用来钓鱼的,一旦鱼咬了钩,钩子就一直钩住鱼了,任凭鱼在水里怎么游,也逃不出鱼钩的控制。同样的,Windows的钩子Hook也是用来钩东西的,比较抽象的是他是用来钩Windows事件或者消息的。最常见的就是鼠标和键盘钩子,用Hook钩子钩住鼠标、键盘,当你的鼠标、键盘有任何操作时,通过Hook就能知道他们都做了什么了,多么形象啊,把老鼠Mouse钩住了,不管你干什么,都逃不过我钩子Hook的手掌心。技术上讲,钩子(Hook)是Windows消息处理机制的一个很重要的内容,. 阅读全文
posted @ 2013-12-09 08:03 宇月--测试开发梦想家 阅读(10802) 评论(0) 推荐(1) 编辑
摘要: 第四讲 创建64位的配置编译器首先,你要确定你所使用的Visual Studio的版本允许你编译程序为64位代码。如果你想使用最新的版本(写本课本时)Visual Studio 2008 来开发64位应用,以下的表格帮助你理解你所需要的Visual Studio 版本。 表1 不同版本的VS2008的能力如果你使用的VS的版本使你可以去创建64位代码,你需要检查是否安装了64位的编译器, 图1显示在安装VS2008时,64位编译器没有被选中。 图1 安装VS2008时64位编译器没有被勾选创建64位的配置在VS2005/2008中创建一个64位应用是一个非常简单的过程。困难会出现在... 阅读全文
posted @ 2013-11-11 20:54 宇月--测试开发梦想家 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 第一讲 什么是64位系统 截至本课程编写的时间为止,市场上有两种受欢迎的64位微处理器体系结构:IA64 和Intel64IA-64是由 Intel 和HP 合作开发的64位微处理机体系结构。Itanium 和Itanium2 微处理机中就是用了这种体系结构。如想了解更多关于IA-64的信息,请查看Itanium。Intel 64 (EM64T / AMD64 / x86-64 / x64)是x86体系的继承,同时保持向后兼容。这种体系结构的名字有不同变型,因而导致了一些疑惑,但是以下这些名字所指的都是同样的事物:x86-64, AA-64, Hammer Architecture, AMD6 阅读全文
posted @ 2013-11-11 20:39 宇月--测试开发梦想家 阅读(5120) 评论(0) 推荐(0) 编辑
摘要: 本课程适用于在windows 64位环境下,使用visual studio2005/2008/2010 的C/C++应用开发者。其它64位系统的使用者也可参考。本课程包括了创建安全的64位应用的步骤,以及从32位向64位系统迁移应用所需的相关步骤。 本课程包含28讲。本课程介绍了64位系统,以及建立基于64位系统应用所面对的问题。同时也介绍了寻找64位典型错误和代码优化的方法。此外,本教程给出了计算移植应用 到64位系统所需花销的估计方法,从而展示了迁移应用的合理性。内容l 第一讲 什么是64位系统l 第二讲 64位Windows环境对32位应用的支持l 第三讲 将代码导入64位系统的优缺点. 阅读全文
posted @ 2013-11-11 20:29 宇月--测试开发梦想家 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 总结:1)Working Set看成一个进程可以用到(但不一定会使用)的物理内存。即不引起page fault异常就能够访问的内存。 Working Set包含了可能被其他程序共享的内存,例如DLL就是一个典型的可能被其他程序共享的资源。 所以所有进程的Working Set加起来有可能大于实际的物理内存。2)Private Bytes是只被本进程用占用的虚拟地址空间,不包括其他进程共享的内存。 Private Bytes既包括不引起page fault异常就能够访问的内存也包括引起page fault异常才能够访问的内存。 所以一般Private Bytes大于Working Set。但是如 阅读全文
posted @ 2013-07-09 17:08 宇月--测试开发梦想家 阅读(735) 评论(0) 推荐(0) 编辑
摘要: 最近看一些网站,里面说测试人员大概分7级,根据以下逐步进阶开一个bug;查找一些额外的资料如设计文档和历史,确定这是一个问题,然后给出详细的bug重现步骤;对重现步骤做一些精炼,确定能够重现bug的最少步骤;可能的话,将重现步骤做自动化;尝试通过研究代码确认问题所在;尝试给出一个fix;对错误的原因... 阅读全文
posted @ 2013-05-31 20:26 宇月--测试开发梦想家 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 伪共享(False Sharing)原文地址:http://ifeve.com/false-sharing/作者:Martin Thompson 译者:丁一缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。缓存行上的写竞争是运行在SMP系统中并行线程实现可伸缩性最重要的限制因素。有人将伪共享描述成无声的性能杀手,因为从代码中很难看清楚是否会出现伪共享。为了让可伸缩性与线程数呈线性关系,就必须确保不会有 阅读全文
posted @ 2013-03-15 14:37 宇月--测试开发梦想家 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 线程是瓶颈: 分析在瓶颈时的单个线程或者多个线程,来了解更多关于处理器的消耗情况。无论是单进程还是多进程,监控以下的几个因素,来分析线程是如何导致整个问题的。这几个因素是: *每个进程在瓶颈时运行的线程总数 *一个线程占用的处理器时间 *正在运行的线程的调度优先级 *在特权模式下线程使用处理的总时间 你能用计数器来分析线程的活动情况,和调整线程的调度,来让处在瓶颈的进程获得更多的处理器时间 除了调整线程调度的优先级外,你不能改变线程的行为,不能改变香港应用程序的程序代码。尽管如此,如果你有应用程序的源代码,你也可以写在一个较低的水平计数器来监视线程的活动。要了解更多信息的话,可以... 阅读全文
posted @ 2013-03-01 17:38 宇月--测试开发梦想家 阅读(892) 评论(0) 推荐(0) 编辑