天生我才必有用

本地安装W3C Link checker

Posted in 测试,网站设计    作者:Ray    2008年五月29日

对于网站的完整性来说,主要会发生的问题就是网站页面中出现的Dead Link。如何检验这种错误呢?当然你可以使用最笨的方法点击每一个链接,不过相信没人愿意去干这种枯燥乏味的体力活。其实最简单的方法是使用W3C Link checker,但这种Check却存在唯一的缺陷,无法解决内部网站的验证,除非你能把这些内部网站暴露在Internet上,让W3C Link Checker可以访问到它们。

要解决访问这个问题其实也不是非常困难,在参照W3C页面的Install it locally 说明来做就可以了。

如果你想我一样,有Debian/Ubuntu的环境,那么安装更方便。

  1. sudo apt-get install w3c-linkchecke。
  2. 修改/etc/w3c/checklink.conf文件,可以把Allow_Private_IPs = 1,这样可以验证non-public IP address,修改Doc_URLStyle_URL到正确的地址。
  3. 访问http://<servername>/w3c-linkchecker/checklink.html,可以了解是否安装成 功,最好把此html进行修改,把其中的localhost替换成实际的机器名称<servername>。(此页面是说明页面)
  4. 访问http://<servername>/cgi-bin/checklink,此地址才是正确校验工具的地址。(如步骤2 Style_URL设置有误,此时可能CSS会出现一些问题,但对任何功能没有影响)

现在就可以尝试验证一下你的网站,看看是否有问题了。

验证工作不仅可以使用Web方式,其实你也可以在命令行中输入checklink完成相同的工作。

不过这两种校验速度还是慢了点,现在还不清楚是否有没有其他的什么参数可以设置,来加快验证的工作。

标签: ,

PHPUnit 方法说明

Posted in PHP    作者:Ray    2008年五月23日

PHPUnit Assertion 方法解释:

1. assertEquals( $val1, $val2, $delta, $message)

如何$val1不等于$val2,测试失败。$delta设定两个数值比较时的误差。

2. assertFalse( $expression, $message)

测试$expression的值是否为False,如果不为False则测试失败。

3. assertTrue( $expression, $message)

测试$expression的值是否为True,如果不为True则测试失败。

4. assertNotNull( $val, $message )

如果$val 为 null,则测试失败。

5. assertNull( $val, $message )

如果$val 不为 null,则测试失败。

6. assertSame( $val1, $val2, $message )

如何$val1等于$val2,同时$val1和$val2必须是相同的数据类型,否则测试失败。

7. assertNotSame( $val1, $val2, $message )

如何$val1不等于$val2,或者$val1和$val2的数据类型不同,则测试失败。

8. assertRegExp( $regexp, $val, $message )

如果$val不能匹配正则表达式$regexp,则测试失败。

9. assertType( $typestring, $val, $message )

如果$val不是$typestring所描述的类型,则测试失败。

10. assertAttributeSame($val, $attribute, $classname, $message)

如果$val和$classname::$attribute.的数值不同或者类型不同,则测试失败。

11. fail()

测试永远返回失败。(主要用于Exception的测试)

以上是一些常用的测试方法,PHPUnit还有不少其他assertion的方法。

最后介绍一下如何进行PHP的Exception的测试判断,PHPUnit中并没有已定制的函数,你必须通过使用try…catch和fail来实现Exception的测试。请参考以下示例:

public function testException() {
    try {
        //应产生异常的函数
        $this->store->addUser( "bob williams", "bob@example.com", "ff" );
    } catch ( Exception $e ) { return; }
    $this->fail("Short password exception expected");
}
标签:

单元测试、集成测试和系统测试

Posted in 测试    作者:Ray    2008年五月16日

这几个词汇在测试工作中出现的频率非常的高,从字面的可以理解为“单元测试”(Unit Test)、”整合测试”(Integration Test)和系统测试(System Test)。但做了怎么多年的开发其实一直没有搞清楚它们之间的区别,特别是整合测试和系统测试,给我的感觉似乎所指的是同一件事物。

今天从”Manage Software Testing”这本书中,我得到了这个问题的解答,书中对这几个词的解释并不长,但言简意赅。

  • Unit Test : Do the units do what they’re supposed to
  • Integration Test : Do the components integrate properly?
  • System Test : Does the system do what is required of it?

简单说就是Unit Test是确保你设计编码的单元功能都已经完成,Integration Test是确保各个单元之间组合在一起时不会出现任何问题,而系统测试就是确保所完成的功能都符合和满足客户需求的定义。

其中“单元测试”主要有开发人员完成,而“整合测试”是开发人员和测试人员共同完成,最后的“系统测试”主要是由测试人员完成。

标签:

PHP实现trackback

Posted in PHP    作者:Ray    2008年五月3日

Trackback是Blog中非常Cool的一个功能,通过它可以了解有多少站点引用了你的文章。如何使用PHP实现这样的功能?其实可以使用Pear库的Services_Trackback即可。

IBM Developerwork有相关介绍文章:使用 PHP 实现引用链接(trackback)

标签: , ,

柏杨和《丑陋的中国人》

Posted in 随笔    作者:Ray    2008年五月1日

知名作家柏杨29日凌晨病逝 享年89岁。自己其实对他一点都不熟悉,但最近许多对他的报道,让我开始慢慢了解他。

最初吸引我的是他的一本著作《丑陋的中国人》。看到书名时的第一个反应就是让我想起来了林语堂的《吾国吾民》。其实能以一颗平常心,写一本客观评价中国人的书是非常不容易、不简单的一件事情,特别是还揭露中国人的部分阴暗面。种种这些原因让我挺想了解中国人到底是个啥样。

这两天虽然只看了一部分,但是对文中所述还是挺有感触。其实如想提升自己的品德,这本书会提供给你很多的建议。

新浪网在线阅读