您的网络应用程序或网站是否有健康检查?

时间:2010-03-09 00:28:54

标签: php maintenance

我过去为几个项目构建了基于PHP的“运行状况检查”脚本,但它们总是为场合定制,而不是作为独立产品进行抽象编写。我想知道这种解决方案是否存在。

“健康检查”是指受保护的网页,其功能与单元测试相似,但在更具操作性的层面上,显示红色/黄色/绿色状态,如

  • 缓存目录是否可写?
  • PHP版本是否正确,是否安装了必需的扩展程序?
  • 数据库服务器是否可访问?
  • 数据库中是否存在必要的表?
  • 是否有足够的可用磁盘空间?
  • 网站的首页是否可以访问并完全呈现(=没有PHP错误)?
  • 项目库的MD5校验和是否与原始校验和匹配?
  • 首页的输出是否通过了W3C验证器?

您是否在应用程序和网站中执行此操作或部分操作?

是否有任何标准化工具可以带来执行测试的所有功能(理想情况下是插件),只需要相应配置?

我说的是一个轻量级的解决方案,即使在最小的基于PHP的Web包上也可以运行,没有扩展和服务器访问。

是否有可能使用可用于PHP的单元测试框架(最好是PHPUnit)来设置它?如果是这样,您是否知道任何资源/教程概述如何?

  

更新:似乎没有一个流行的现成解决方案,否则,有超过100个视图,我相信会有一些提及它。由于最初对构建开源项目这样的工具感兴趣,请随时发布一个理想的解决方案,以及它必须具备的功能。

3 个答案:

答案 0 :(得分:3)

有趣的问题,但这是相当广泛的。我还没有看到一个单元测试工具,它可以立即执行所有后端,中端和前端测试。我检查了this list,但没有人做到这一切。然而,有一种通用方法,xUnit(全自动测试)。

主要阻碍者是后端测试是特定于平台/数据库的,并且中端测试是特定于编程语言的。然后将这些限制与前端测试结合起来。然后,该工具必须支持世界所知的几乎所有语言和平台。我不认为这种工具在开源世界中是可用的。这是一个乌托邦。

从理论上讲,确实有可能拥有一个带有插件功能的测试框架,可能基于xUnit的意识形态,但是还没有编写/发明/开源它。您?这确实是市场上的一个漏洞。

无论如何,对于前端单元测试(HTML / CSS / JS /表格),我建议Selenium,或者如果你有钱,TestComplete。我已经看到它在几年前在IBM上使用过,看到它在行动中非常棒,测试人员对此非常满意。

对于中端单元测试(编程代码,业务逻辑),继续使用特定于编程语言的单元测试工具,如PHP的PHPUnit和Java的JUnit

关于后端单元测试(DB,文件系统),我已经将PGTap用于PostgreSQL,但也有一些通用的数据库工具,例如SQLUnit(但最近更新了近4个)多年前......)对于本地磁盘文件系统条件,您必须获取特定于平台的脚本语言。

答案 1 :(得分:0)

结帐Nagios。它可以配置为轮询URL并扫描字符串的存在/不存在,查找某些响应代码以及相当多的其他内容。如果您在URL中公开要查找的内容,Nagios可以完成剩下的工作。

@Franz Nagios支持费用,但核心监控软件是免费的。这有点像Redhat模型。

答案 2 :(得分:0)

您可以使用CruiseControl和phpUnderControl完成所有这些操作。但是,当然,您需要指定要执行的所有任务,以便项目通过所有检查。

http://topecoders.blogspot.com/2010/04/how-to-install-cruisecontrol.html

使用CruiseControl,您可以为项目的每个构建添加多个要执行的任务。