天生我才必有用

Symfony的单元测试方法总结

分类: PHP, 极限编程    作者:Ray    2008年03月10日

Symfony中使用了一种类似Perl的Test::More的单元测试库lime,语法上的确比PHPUnit2简单许多。

1. diag($msg) :简单的输出$msg的内容,不做任何测试。

2. ok($test, $msg) :如果$test为真则通过测试。

3. is($value1, $value2, $msg):如果$value1等于$value2则通过测试。

4. isnt($value1, $value2, $msg):如果$value1不等于$value2则通过测试。

5. like($string, $regx, $msg):如果$string匹配正则表达式$regx则通过测试。

6. unlike($string, $regx, $msg):如果$string不匹配正则表达式$regx则通过测试。

7. cmpok($value1, $operator, $value2, $msg) :如果$value1和$value2进行制定运算后结果为零则通过测试。

8. isa_ok($variable, $type, $msg):检查$variable是不是$type的类型。

9. isa_ok($object, $class, $msg) :检查$object是不是$class的类定义类型。

10. can_ok($object, $method, $msg) :检查$object是否有$method的方法。

11. is_deeply($array1, $array2, $msg):检查两个数组是否相同。

12. include_ok($file, $msg) :检查$file是否可以包含到。

13. fail() :永远返回失败,在异常中使用。

14. pass(): 永远返回成功,在异常中使用。

15. skip($msg, $nb_tests) :如果$nb_tests是否为真,则跳过此测试。

16. todo():测试代码还未完成。

标签: ,

Trac 0.11 Beta试用

分类: 项目管理    作者:Ray    2008年01月19日

今天安装了一下Trac 0.11,安装非常的简单,只需先安装setup_tools。

接着,运行以下指令:

easy_install Pygments
easy_install Genshi
easy_install Trac

不过这样只安装了最基本的部件,如果需要subversion支持、mysql或者sqlite,其他等等还需要安装更多的组件。不过大多数都可以使用easy_install来简单进行安装。

接着去trac-hacks网站安装了一些自己常用的组件,不过由于0.11还是Beta版本,很多组件都支持了不是很好,不过TracWysiwygPlugin 还是可以工作,这样就不用记忆很多wiki的指令,特别是这些wiki语法还和其他wiki的不兼容,一直被它搞了头晕晕的。

界面也非常的不错,改成了一种sliver的效果,同时浏览svn时还是用了ajax功能,非常不错。总体来说还是非常满意,等待它出正式的版本了

标签: ,

为Trac增加测试员信息

分类: 网站设计, 项目管理    作者:Ray    2008年01月3日

一个完整的软件开发过程并不单单只有开发人员,同时也有测试人员的一份辛勤的劳动。但许多Bug跟踪系统中去缺少测试人员信息的记录,造成日后对此Bug单测试追溯造成不小的困难。如果你是使用Trac系统,那你可是非常的幸运,你可以不用进行任何的二次开发,而实现添加测试员信息的功能。

1.使用Trac的自定义栏位(TracTicketsCustomFields):

[ticket-custom]
verifier = select
verifier.label = Verifier
verifier.options = user1|user2|user3
verifier.value = 0

具体使用可以参考Trac的官方说明。通过这些设定会在Trac的ticket中看到一个新的栏位Verfier,用户可以使用下拉方式来选择测试人员,同时options中的user1这些候选值必须和实际登入的用户名称相同

2.添加新的Report

  • Report的标题title,我们定义为:All Tickets By Verifier(这个可以按你的喜好自己定义)。
  • Description:对此Report进行一些简单的描述。
  • 最后添加查询的SQL语句:

SELECT p.value AS __color__,
id AS ticket, summary, component, version, milestone, t.type AS type, status,
(CASE status WHEN ‘assigned’ THEN owner||’ *’ ELSE owner END) AS owner,
c.value as verifier , time AS created,
changetime AS _changetime, description AS _description,
reporter AS _reporter
FROM ticket t
LEFT JOIN enum p ON p.name = t.priority AND p.type = ‘priority’
LEFT JOIN ticket_custom c ON c.ticket = t.id
WHERE c.name=’verifier’ and c.value= $USER
ORDER BY p.value, milestone, t.type, time

以上就大功告成了,快去试一下吧。

PHPUnit的安装

分类: PHP, 极限编程    作者:Ray    2007年12月20日

第一步不用说,当然是连接PHPUnit的官方网站,下载所需的安装程序。不过有一件事情千万别搞混了,在Pear库里也有一套PHPUnit,不过这个版本已经很旧了,现在都使用www.phpunit.de网站的PHPUnit程序,千万别搞错了,否则怎么写了半天的代码都是错的。

安装其实非常方便,也是通过Pear Installer来进行的。

1. 新增一个Pear库的Channel,因为它不是标准的Pear库中包含的内容。
pear channel-discover pear.phpunit.de

2. 输入Pear的安装命令,安装的过程就会自动开始了。
pear install phpunit/PHPUnit

3. 如需同时安装一些附加包,可以使用以下命令替代命令2。(建议使用这个选项安装,如果需使用PHPUnit生成一些报表,会使用到这些附加包)
pear install –alldeps phpunit/PHPUnit

当然也可以使用手动的方式进行,不过步骤比较多,有一定的复杂性。如有兴趣可参考PHPUnit官方说明自行安装。

以上只是简单的安装说明,慢慢会分享PHPUnit的使用心得。

标签:

VisualSVN Server 的设定

分类: 技术, 项目管理    作者:Ray    2007年12月6日

VisualSVN Server 提供了一个管理的UI,界面有点类似Windows各类服务的管理。通过这个管理见面你可以新增Repository,添加删除用户以及用户组等功能,避免了原来比较繁琐的手工配置功能。

1.如何建立Repository

选择Repositories,右击鼠标 ,在弹出菜单中选择Create Repositories菜单项。或者在Action菜单中选择Create Repositories菜单项。

在弹出对话框中,输入Repository名字就可以了。建议把“create default repository structure (i.e. folders trunk, branches and tags). ”勾选上,其实这样的结构已经成为Subversion不成文的规则了。

2.建立用户

选择Users,右击鼠标 ,在弹出菜单中选择Create User菜单项。或者在Action菜单中选择Create User…菜单项。

在弹出的对话框中输入用户名和密码即可。(用户名需分大小写)。

修改密码只需右击此用户名, 选择”Set Password…”菜单项即可。

未完待续

相关文章:

敏捷开发网址收集

分类: 过程改进    作者:Ray    2007年12月2日
标签:

极限编程的生命周期

分类: 极限编程    作者:Ray    2007年12月2日

项目论证常用名词解释

分类: 项目管理    作者:Ray    2007年11月30日

1.投资

  • 项目实施和项目投产以后的生产过程中所需投入的资金,包括花费在项目建设上的全部活劳动和物化劳动的消耗总和。

2.成本(生产成本)

  • 原料及辅助资料费、生产工人工资及附加工资、公用工程费用(水、电、汽等)、维修费用、车间折旧费、车间管理费、工厂折旧费、企业管理费和销售费用等。
  • 成本分类:直接成本和间接成本、总成本和单位产品成本、核算成本和预算成本、固定成本和变动成本。

3.投资收益率

  • 投资收益率E,又称投资利润率,它是项目投资后所获的年净现金收入(或利润)R与投资额K的比值 。即E=R/K或   E=1/T

4.投资回收期T

  • 投资回收期T是指用项目投产后每年的净收入(或利润)补尝原始投资所需的年限,它是投资收益率的倒数,即T=1/E=K/R

5.现值(PV)和净现值

  • 现值(PV)即将来某一笔金的现在价值。
  • 净现值法是将整个项目投资过程的现金流按要求的投资收益率(折现率),折算到时间等于零时,得到现金流的折现累计值(净现值NPV),然后加以分析和评估。

项目的整体性质

分类: 项目管理    作者:Ray    2007年11月28日

项目的整体性质:(The Integrity of the project)

  1. 项目范围的整体性 (The integrity of the project scope)。
  2. 项目目标的整体性 (The integrity of the project object)。
  3. 项目过程的整体性 (The integrity of the project process)。
标签:

项目管理的要素

分类: 项目管理    作者:Ray    2007年11月28日

项目管理的要素:(The elements of the Project Management)

  1. 资源 (Resource)
  2. 需求和目标 (Requirement and Object)
  3. 项目组织 (Project Organization)
  4. 项目环境 (Project Environment)
标签: