2010-03-09 38 views
38

我已經爲過去幾個項目構建了基於PHP的「健康檢查」腳本,但它們總是爲該場合量身定做,而不是作爲獨立產品的抽象書寫。我想知道這種解決方案是否存在。你的網站應用程序或網站有健康檢查嗎?

我的「健康檢查」 MEAM什麼是受保護的web頁面的功能很像一套單元測試,但在一個更具操作性的水平,顯示像

  • 的東西紅/黃/綠狀態緩存目錄是否可寫?
  • PHP版本是否正確,是否需要安裝擴展?
  • 數據庫服務器可以訪問嗎?
  • 數據庫中是否存在必要的表格?
  • 是否有足夠的磁盤空間可用?
  • 該網站的首頁是否可以訪問並呈現完全(=沒有PHP錯誤)?
  • 該項目的圖書館的MD5校驗和是否與原來的相匹配?
  • 首頁的輸出是否通過了W3C驗證器?

您是否在應用程序和網站中執行此操作(或其中的一部分)?

是否有任何標準化的工具可以帶來所有功能來執行測試(最好是插件),只需要進行相應配置?

我在談論一個輕量級解決方案,即使在最小的基於PHP的Web包中也可以運行,不需要擴展和服務器訪問。

是否有,也許,有一種方法來設置這使用一個單元測試框架可用於PHP(最好是PHPUnit)?如果是這樣,你知道任何資源/教程概述如何?

更新:似乎有不被這種流行的現成的解決方案,否則,有超過100個瀏覽,我肯定就不會有它的一些提。看到建立這樣一個工具作爲一個開源項目有一些初步的興趣,請隨時發佈一個理想的解決方案,你會看起來像什麼,它將具有什麼功能。

+0

這可能是一個XML文件作爲配置的通用工具真的很有趣。 – Franz 2010-03-09 01:34:04

+1

@Franz是絕對的,有文件操作插件(存在,可寫,md5),mySQL和Web客戶端來獲取和驗證頁面。將真的值得建設!.... – 2010-03-09 01:40:41

+0

如果健康檢查顯示問題,你會怎麼做?發送一些電子郵件? – Mawg 2010-03-09 01:55:36

回答

0

結帳Nagios。它可以配置爲輪詢URL並掃描字符串的存在/不存在,查找特定的響應代碼以及相當多的其他內容。如果您在網址中公開要查找的內容,Nagios可以完成剩下的工作。

@Franz Nagios支持花錢,但核心監控軟件是免費的。這是有點Redhat模型。

+0

再次重申它,他沒有這樣說,但我相信一些不是商業的會更好(這隻會對一部分有幫助):-( – Franz 2010-03-09 09:44:49

+0

@trenton乾杯,我知道Nagios,但它比它更多要求,對於我的想法來說,這完全是過度殺傷性的,我正在尋找一些東西放到現有的網站或應用程序上,甚至可以運行在Nagios無法做到的小型共享託管軟件包上。這個問題更清楚一點。 – 2010-03-09 10:38:55

3

有趣的問題,但這是相當廣泛的。我還沒有看到一個單元測試工具,它一次完成所有的後端,中間和前端測試。我檢查了this list,但沒有人完成這一切。然而,有一種通用方法,xUnit(全自動測試)。

主要的障礙是後端測試是平臺/數據庫特定的,中間測試是程序語言特定的。然後還沒有將這些限制與前端測試結合起來。然後,該工具必須支持世界所知道的幾乎所有語言和平臺。我不認爲這樣的工具可以在開源世界中獲得。這是一個烏托邦。

從理論上講,確實有可能擁有一個帶有插件功能的測試框架,可能基於xUnit思想體系,但尚未編寫/發明/開放它。您?這確實是市場上的漏洞。不管怎樣,對於前端單元測試(HTML/CSS/JS /表單),我會推薦Selenium,或者如果你有錢,TestComplete。幾年前我已經看到它在IBM使用過,看到它在行動,測試人員對此感到非常高興。對於中間單元測試(編程代碼,業務邏輯),只需繼續使用針對PHP的編程語言特定單元測試工具(如PHPUnit)和適用於Java的JUnit。關於後端單元測試(DB,文件系統),我已經使用PGTap作爲PostgreSQL,但也有一些通用的DB工具可用於此,例如SQLUnit(不過最近幾年已經有4年的歷史了......)。對於本地磁盤文件系統條件,您必須獲取特定於平臺的腳本語言。