您的 Web 应用程序或网站中是否有运行状况检查?[已关闭]

2022-08-30 12:44:23

我过去曾为几个项目构建过基于PHP的“健康检查”脚本,但它们总是为场合定制的,而不是作为独立产品为抽象而编写的。我想知道是否存在这样的解决办法。

我所说的“运行状况检查”是一个受保护的网页,其功能与一套单元测试非常相似,但在操作级别上,显示红色/黄色/绿色等内容的状态

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

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

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

我说的是一种轻量级的解决方案,它甚至可以在最小的基于PHP的Web软件包上运行,而无需扩展和服务器访问。

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

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


答案 1

有趣的问题,但这是相当广泛的。我还没有见过一个单元测试工具可以同时完成所有后端,中端和前端测试。我检查了这个列表,但没有人做所有的事情。但是,有一种通用方法,xUnit(全自动测试)。

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

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

无论如何,对于前端单元测试(HTML/CSS/JS/forms),我会推荐Selenium,或者如果你有钱,TestComplete。几年前,我看到它被IBM使用,看到它在行动中真是太棒了,测试人员对此非常满意。

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

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


答案 2

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

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

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


推荐