33

我很想知道其他开发人员如何测试他们的网站。PHP 特别是在我的情况下,但这可能跨越多种语言。我已经在一个网站上工作了一年多,我真的很想自动化我在版本之间进行的很多回归测试。

这个特定的站点在 CodeIgniter 中,所以我对我的模型进行了一些测试。我想超越只是测试这些。但是,我敢肯定,即使是非 MVC 开发人员也必须解决这个问题。

编辑:我认为满足我很多测试需求的功能是能够在脚本处理结束时断言参数具有特定值。就我而言,控制器中有很多逻辑,这是我想测试的主要区域。

4

7 回答 7

26

对于没有测试 UI 的实际单元测试,您应该只测试模型中的功能。无论如何,您的大部分功能都应该在那里。

你可能想看看Selenium来测试你网站的 UI。它可以记录您的操作并回放它们,或者您可以直接编辑脚本。 (来源:seleniumhq.org替代文字

于 2009-02-13T19:25:38.717 回答
5

你试过健身吗?

它有助于创建验收测试。它们对网站特别有用,做这种测试很痛苦。

网页内也有一些来自 unclebob 的视频。好消息是 Fitnesse 不受网站测试的限制,因此您对使用它的了解也可以与其他应用程序一起使用。

我正在做的项目是一个用 C++ 编写的桌面应用程序,它使用 Fitnesse 测试。

但是,如果您的意思是对模型进行单元测试(我认为您没有这样做),则可以使用 phpunit 库创建它们。我认为 ZEND 框架有一个类似的库。

于 2009-02-13T19:28:28.770 回答
2

您可能想查看 PHPUnit http://www.phpunit.de/manual/current/en/

我已经开始在我的 PHP 项目中使用它,它非常易于使用且非常强大。特别是学习和使用模拟: http ://www.phpunit.de/manual/3.0/en/mock-objects.html

在对执行数据库操作的应用程序进行单元测试时,模拟尤其重要。

于 2009-02-13T19:23:12.823 回答
1

看看吐司。它是专门为 CodeIgniter 构建的。它使用 CI 基础架构,因此您可以通过浏览器运行所有测试测试,并将结果显示为网页 (HTML)。使用起来非常简单。

我建议你也测试你的控制器。测试模型没问题,但模型只是数据库存储。控制器包含所有“业务逻辑”,是大多数事情出错的地方。

于 2009-07-16T00:04:51.163 回答
0

就测试网络应用程序而言,我听说过的最好的想法之一是创建一个脚本,该脚本将遍历站点中的所有页面并检查它们与之前扫描的差异,让您接受更改并修复回归。

一般来说,GUI 应用程序(网站是 GUI 应用程序)的自动测试是困难的并且通常是不必要的。单元测试最适合使用简单的库。

于 2009-02-13T19:30:01.513 回答
0

我使用 Canoo WebTest。它是目前最好的免费网站单元测试框架。它完全可以使用 XML 编写脚本,并且不需要浏览器,因此可以从构建服务器运行。

于 2009-02-13T19:34:10.427 回答
0

我们修改了 Waiter (Ruby)。它将 URL 和表单填充的“脚本”播放到 IE,我们添加了一个脚本“命令”来获取屏幕截图;将屏幕截图图像与已知良好图像(即主图像)进行比较,如果该图像不同,则将其记录下来(基本上准备了此类结果的网页),并且“人类”对主图像进行审查/ 测试图像。显然,此时有两种结果——“差异是故意的”或“存在不正确的变化”。在第一个实例中,主图像被新图像替换;在第二个我们去修复错误,并且更改将包含在下一次测试运行中

于 2009-02-13T19:34:43.843 回答