摘要: 一. socket脚本lrs_startup(257);lrs_create_socket("socket1", "TCP", "RemoteHost=192.168.86.239:9503", LrsLastArg);lrs_set_recv_timeout(120, 0);lrs_set_socket_options("socket1", LRS_NO_DELAY, "TRUE");lrs_send("socket1", "buf1", LrsLast 阅读全文
posted @ 2012-09-24 09:31 Further 阅读(4338) 评论(0) 推荐(0) 编辑
摘要: 如果在生产环境下已经是chdir("/")的情况下,如何产生core文件a)首先确定ulimit 的设置 ulimit -a -->查看当前的ulimit限制; ulimit -c 1024000-->设置core file size大小,缺省为0即不让生成core文件 b)针对不同的操作系统,core文件生成的文件名及位置是可设置的; ----------- Linux ----------- 修改:/proc/sys/kernel/core_pattern 例如: echo "/tmp/core-%e-%p" >/proc/sys/ 阅读全文
posted @ 2012-09-24 09:08 Further 阅读(1459) 评论(0) 推荐(1) 编辑
摘要: 1. 静态分析工具 VS 编译器 编译器负责把C源程序快速、高效地转变为可执行文件,不对代码做类型检查(特别是对分别编译的程序),有益于做到快速与高效。 Lint没有“高效”的要求,可以花更多时间对代码进行更深入、仔细的检查。2. C代码静态分析工具 Its4读取一个或多个 C/C++源程序,将每个源程序分割成函数标志流,然后检查生成的标志是否存在于漏洞数据库中,从而得到每个源程序的所有错误警告列表,并带有相关的描 述。其规则库vulns.i4d定义了各种函数的危险等级,描述等,通过规则匹配来报出风险,但它不能理解程序上下文意思,存在很大的误报。Flawfinder词法扫描和分析,内嵌了一些. 阅读全文
posted @ 2012-09-13 16:10 Further 阅读(8168) 评论(0) 推荐(1) 编辑
摘要: 代码静态检查工具PC-Lint运用实践 如何提交zero bug的产品,如何尽早发现bug,是软件开发工程师和测试工程师都需要思考的问题。我认为高质量的代码是关键,具体实施保障办法有:框架约束,代码评审,以及测试用例的设计和执行。l 框架约束,可以将程序员从编写没有营养、易出错的代码工作中解放出来。程序员只需要写一些配置或描述,就可以由框架生成可运行的代码框架。这既提高了程序员的工作效率,使程序员关注在业务逻辑实现上,也由于框架的约束使程序形成了统一的风格和代码结构。同时由于是自动生成的框架代码,这部分经过严格的测试,可以确保是高质量的代码,大大降低Bug数。l 代码评审,可以发现一些表面问题 阅读全文
posted @ 2012-09-13 13:15 Further 阅读(6876) 评论(0) 推荐(0) 编辑
摘要: oracle中的number(16,2) 与 db2中的decimal(16,2)1. oracle中number(16,2)会四舍五入。2. db2的decimal(16,2)直接截掉有效位数后面的数字,不进行四舍五入。http://cache.baidu.com/c?m=9d78d513d99516fe03b2c7201a16a6651d4380123cc0d06429848449e3644f060738ece161645213d2b6617a51f11409fdf04171330237b7ec99d515c0e7c9727cd57b6f2a4fdb4219d91cb8cd4426c124 阅读全文
posted @ 2012-09-12 17:03 Further 阅读(1691) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#include <stdlib.h>int flag = 1;void * thr_fn(void * arg) { while (flag){ printf("******\n"); sleep(10); } printf("sleep test thread exit\n");}int main() { pthread_t thread; if (0 != pthread_create(&thread, NULL, thr_fn, NULL)) { printf("err 阅读全文
posted @ 2012-08-30 14:56 Further 阅读(32496) 评论(0) 推荐(2) 编辑
摘要: 早听过loadrunner大名,现在做了测试员,终于有机会下载loadrunner来玩玩。步骤知道的,无非就是 1.录制脚本 2.完善脚本 3.实施测试 4。分析以及监视场景。还有什么生成测试场景的。想法有误,其实步骤有:1. vitrual User Generator创建脚本、选择协议,录制脚本,完善脚本。2. 中央控制器来调度虚拟用户。创建scenario/压力测试用例, 选择脚本;设置机器虚拟用户数;设置schedule;如果模拟多机测试,设置ip spoofer。3. 运行脚本,分析scenario.4. 分析测试结果。可惜协议很多、很乱,不知道怎么选择协议,又由于工作,所以只好搁置 阅读全文
posted @ 2012-08-28 16:49 Further 阅读(433) 评论(1) 推荐(0) 编辑
摘要: 1. 一次申请很大一块内存,再不释放,每次使用从中分割一块。2.每次需要内存用malloc申请一块,但不free,delete时进行标记失效,方便之后使用。内容点:架构,代码结构,核心数据结构(settings, stats), 内存机制(简述,数据结构,代码解析)每个slab是1M大小的内存,slab+(1M*n)访问第n个slab。slabClass集合通过end_page_ptr访问第一个可用的trunk, 或者通过*slot访问无效的items。第三种方式是:淘汰已有的,引入新的,并把链接位置换到下一个大的slabClass集合中。一致性Hash:1. 实体A,B,C,D2. 实体虚拟 阅读全文
posted @ 2012-08-24 16:28 Further 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1..o 就相当于windows里的obj文件 ,一个.c或.cpp文件对应一个.o文件.a 是好多个.o合在一起,用于静态连接 ,即STATIC mode,多个.a可以链接生成一个exe的可执行文件.so 是shared object,用于动态连接的,和windows的dll差不多,使用时才载入。得到了ts:error while loading shared libraries: libs.so: cannot open shared object file: No such file or directory 系统不能找到我们自己定义的libs.so,那么告诉他,修改变量LD_LIBRA 阅读全文
posted @ 2012-08-22 14:56 Further 阅读(2284) 评论(0) 推荐(0) 编辑
摘要: 1. 用例图 (use case diagram),强调系统是什么而不是这个系统怎么工作。决定需求;客户通讯;产生测试用例。2. 类图 - 静态,它们显示出什么可以产生影响。(class diagram)关联(association),一个类的实例必须要用另一个类的实例才能完成工作。聚合(aggregation),带菱形的连线,Order是OrderDetails的容器。泛化(generalization),三角形指向超类。3. 对象图 - 静态,解释复杂关系的细小问题时(特别是递归关系时)很有用。实例名带有下划线。(object diagram)4. 顺序图 - 动态,二维图,关心when 阅读全文
posted @ 2012-07-24 15:27 Further 阅读(180) 评论(0) 推荐(0) 编辑