Web Analytics

充实的一周

六十年之国庆日即将到来,对我们来说也算是个“利好消息”,因为这段时间里来自客户方面压力会减小不少,我们可以更多的做回自己-静下来做一些想做的、该做的事情。 ...

September 18, 2009 · 5 min · Tony Bai

Solaris 10安装二三事

部门服务器资源向来都比较紧张,每当忙碌季节到来,服务器资源消耗都较大,开发人员总是抱怨编辑代码慢、Build慢以及磁盘空间不足等问题,严重时甚至无法工作。部门也一直在尝试改善这个问题,无非加服务器、加磁盘等,但是这些措施似乎都难以满足开发和测试人员日益增长的对服务器资源的索求。 ...

September 10, 2009 · 5 min · Tony Bai

Bash文件描述符重定向符号的另类理解

在Unix平台工作的人都使用过Shell的重定向功能,多数人接触较多的是简单的重定向,比如: cmd > some_file 将cmd命令的标准输出重定向到some_file中 cmd < some_file 将some_file的内容作为cmd命令执行的标准输入,或者简单的说cmd命令从some_file读取输入 ...

September 8, 2009 · 3 min · Tony Bai

手机做MODEM实现无线上网

前不久和一位售前同事到北京出差,途中在动车上看到他把本子连到Nokia手机上并通过手机上网。现如今通过手机上网也不是什么新鲜事,关键看是否需要。平时上班有公司网络,下班家里有宽带,路途中可通过手机直接浏览WAP站点,所以对于我这样的开发人员而言倒是没有特别充分的让本子通过做MODEM的手机上网的需求。 公司信息安全改造屏蔽了外部的许多站点,其中包括BLOGBUS,而且目前BUS不支持WAP浏览。这让我在白天闲暇时维护自己的博客成为了一件困难事,就这样我也有了通过手机MODEM实现电脑无线上网的需求。当然出差途中也可以通过这种方式处理一些紧急事件。 ...

August 30, 2009 · 3 min · Tony Bai

梅西·坚强意志赢欧超级杯

北京时间2009年8月29日凌晨,“四冠王”球队巴塞罗那在法国摩纳哥路易二世球场有惊无险的拿到了2009年的第五座冠军奖杯-2009年欧洲超级杯,重演了里历史上的库巴 拉时代“五冠王”奇迹,甚至奖杯分量要远超历史上的那个时代的“五冠王”,但明眼人都清楚本场比赛是巴萨在2009年多项赛事决赛中打的“最难看”也最艰 难的一次,这个冠军让现场和全世界电视机前的球迷足足等待了116分钟。 ...

August 29, 2009 · 4 min · Tony Bai

梅西·荣膺欧足联最佳球员

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦! ...

August 28, 2009 · 6 min · Tony Bai

cmockery支持mock输出参数

近两天一有空就会去看看项目代码,思考一下如何利用cmockery对项目里已有的代码进行测试。项目代码中很多被调用的接口都带有输出参数,而且在这些接口中多利用返回值指示执行成败也否,而利用输出参数返回一些关键结果,这些结果值甚至影响着后续的函数执行流程。前期研究cmockery时没有注意到cmockery是否可以设置被mock接口的输出参数的值,不过回顾了一下cmockery实现的原理,觉得cmockery是应该可以支持的。遂重新翻看了一下cmockery的manual,发现在mock_query_database中确有对输出参数的mock调用,代码如下: // Mock query database function. unsigned int mock_query_database( DatabaseConnection* const connection, const char * const query_string, void *** const results) { *results = (void**)mock(); return (unsigned int)mock(); } void test_get_customer_id_by_name(void **state) { DatabaseConnection connection = { “somedatabase.somewhere.com”, 12345678, mock_query_database }; int customer_ids = 543; will_return(mock_query_database, &customer_ids); will_return(mock_query_database, 1); assert_int_equal(get_customer_id_by_name(&connection, “john doe”), 543); } ...

August 26, 2009 · 2 min · Tony Bai

C单元测试之使用cmockery

这么久以来一直没有找到一款很好的支持mock测试的C语言单元测试工具包,但前不久在一网友的评论中得知:去年Google曾发布了一款c语言的轻量级单元测试framework — “cmockery”,cmcokery很小巧,对其他开源包没有依赖,对被测试代码侵入性小;它支持mock test,同样也可以支持常规的单元测试。 之前在博客中曾描述过C语言实现mock的一个思路,不过和cmockery对比起来,当时我的思路显然还处于初级阶段,而cmockery则走到了更高级,使用起来也更为简便。 还是以我上一篇文章中的代码来举例,利用cmockery来对biz.c进行mock test。 应用层被测试代码不变: /* biz.h */ #ifndef BIZ_H #define BIZ_H ...

August 22, 2009 · 4 min · Tony Bai

模拟器陷阱

暑去清凉来,一场大雨让燥热一去不复返了,这让身体舒服了许多。本周四晚有一次产品升级操作,按惯例每次升级前的都会对产品做一次针对性的回归测试,这次也不例外,不过临近下班时测试组爆出一个莫名奇妙的问题。 测试人员在BUG说明中写到:产品在只运行某个流程A的情况是正常的,但是当流程A和流程B一起运行时,就会出XX异常情况。作为开发人员遇到类似的问题第一反映多为:这怎么可能呢?这个产品已经经过N轮测试并且早前已在某个省份上线运行了近两个月,如果有此潜在的BUG应该早就暴露出来了才对。及时找到测试人员沟通,测试人员很轻松的就复现出了该BUG,眼见为实!离升级时间点已经不多了,赶紧解决吧。 ...

August 22, 2009 · 2 min · Tony Bai

天儿太热了!

记得一年前的六月份到北京客户那里开会,从Taxi里出来后,走在北京著名的金融街上,那叫一个热!夹杂着湿气的热浪一阵阵的扑面而来,让我浑身不舒服,豆粒大的汗珠瞬间就从额头、颈部流了下来。见识过北京糟糕的夏季天气的我当时心里还在庆幸:还好这是在北京,远在东北的沈阳可从来没有这么热过,起码没热的这么难受。 ...

August 12, 2009 · 2 min · Tony Bai