2010-04-01 56 views
9

如何嚴格測試網站的安全性和速度?如何嚴格測試網站?

這是什麼方式和工具?

我們可以模仿數百名訪問該站點的虛擬用戶來查看其負載處理嗎?

+1

這可能被稱爲壓力測試... – Sarfraz 2010-04-01 08:15:35

+0

看看這個然後.. http://jakarta.apache.org/jmeter/ – ant 2010-04-01 08:22:26

+0

*(相關)* http://stackoverflow.com/questions/7492/如何做你的壓力測試的網絡應用 – Gordon 2010-04-01 08:25:30

回答

5

如果這只是應該是一個壓力測試,嘗試http://freshmeat.net/projects/siege/

圍城是一個迴歸測試和基準測試工具。它可以用一個用戶定義數量的模擬用戶來壓力測試單個URL,或者可以將很多URL讀入內存並同時強調它們。該程序報告記錄的點擊總數,傳輸的字節數,響應時間,併發性和返回狀態。 Siege支持HTTP/1.0和1.1協議,GET和POST指令,cookie,事務日誌記錄和基本身份驗證。它的功能可以根據每個用戶進行配置。

http://httpd.apache.org/docs/1.3/programs/ab.html

AB爲基準Apache的 超文本傳輸​​協議(HTTP)服務器的性能的工具。它通過 這樣做,可以指示您的Apache安裝每秒可以處理多少個請求 。

要測試您的PHP代碼,請使用PHPUnit。要測試你的前端,請使用Selenium

對於安全測試,我強烈建議購買審計並將其留給專門的專家。超出您的應用程序代碼的攻擊媒介太多了。

+0

@戈登:+1,謝謝你很高興知道這樣的工具,謝謝 – Sarfraz 2010-04-01 08:16:41

+1

而不是Selenium,我傾向於喜歡Celerity。它確實需要你知道如何編寫Ruby,但一旦你這樣做了,它就是一個很好的前端測試框架。 – 2010-04-01 09:56:42

+0

新的圍攻網址 - https://www.joedog.org/siege-home/ – 2018-02-16 14:10:34

1

你可以試試谷歌的Skipfish。這是一個安全掃描器,但它會偶然地產生相當多的請求到您的網站。

1

獲取Slashdot的的頭版

+0

請你詳細說明一下嗎? – Sarfraz 2010-04-01 08:17:21

+0

這就是所謂的slashdot效果 – ariefbayu 2010-04-01 08:21:45

+0

被稱爲slashdotted的網站已知會在所有流量下崩潰,因爲大量的極客們在服務器大門上敲門,急於獲取內容。但要小心,你可以認真勾選你的託管服務提供商;) – 2010-04-01 08:23:23

6

上,我建議你閱讀這篇文章,它是非常有用的我檢查我每建一個時間我的動態網站。

https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site#answer-305381

編輯:

http://jmeter.apache.org/

的Apache JMeter是開源軟件,100%純Java桌面應用而設計的負載測試功能行爲和衡量績效。 It was originally designed for testing Web Applications but has since expanded to other test functions.

1

http://seleniumhq.org/是尋找的技術。從他們的網站

行情:

硒是一種強大的工具集是 支持基於Web的應用程序測試 自動化的快速發展。 Selenium提供了一套豐富的測試功能 專門針對 來測試web 應用程序的需求。這些操作非常靈活,允許多個選項 用於查找UI元素,並比較 預期的測試結果與實際的 應用程序行爲。

Selenium的主要功能之一是 支持在多個瀏覽器平臺上執行一個測試 。

最重要的部分大概是: 硒-RC(遙控)

硒-RC允許測試自動化 開發人員使用的編程 語言最大的靈活性和 可擴展性在開發測試 邏輯。例如,如果被測 應用程序返回 結果集,如果自動測試 程序需要運行在結果集中的每個 元素測試, 編程語言的迭代 支持可用於通過 的迭代結果集,調用Selenium 命令在每個項目上運行測試。

硒-RC提供了一個API (應用編程接口) 和圖書館爲它的每個支持 語言:HTML,Java和C#,Perl和PHP, Python和Ruby。這種使用 Selenium-RC與高級 編程語言開發測試 案例的能力還允許將自動化 測試與 項目的自動構建環境集成。

2

您可以使用WEBLOAD。它的負載測試工具.. 轉到www.webload.com

3

另外,我會提到Tsung

從它們的引入雷丁:

崇是一個開源多協議 分佈式負載測試工具

它可用於強調HTTP,WebDAV的, SOAP時,PostgreSQL,MySQL和LDAP和 Jabber/XMPP服務器。 Tsung(原名爲 稱爲IDX海嘯)是一款免費的 軟件,根據GPLv2 許可證發佈。

崇的目的是模擬 用戶,以測試可擴展性 和基於IP的性能 客戶端/服務器應用程序。你可以用 來做你的服務器的負載和壓力測試 。許多協議已經實現並測試了 ,並且它可以很容易地擴展。最近添加了WebDAV,LDAP 和MySQL支持 (實驗性)。

它可以在幾個 客戶機進行分配,並能夠 模擬成千上萬的 虛擬用戶的同時(甚至 百萬,如果你有足夠的硬件 ...)。

聰在二郎發達,由愛立信 爲構建健壯的容錯 分佈式應用做出了 開源語言。

崇被處理,其中

4

我想只是擴大了一些建議,因爲我做了很多有益的。

圍攻是一個偉大的健康檢查,它有一個真正的低門檻。它是Ubuntu和其他標準軟件包,只需要命令行參數即可運行。所以你可以像你想要的那樣拼命地(或者敢於)看到你的網站突破點。我的經驗是,很少有網絡服務器以線性方式降級。隨着負載的增加,它們會慢一點,然後慢一點,然後BAM的加載時間會跳到20秒。瞭解這種情況何時發生,可以讓您瞭解需要擔心的事情以及是否需要完成。如果你沒有碰到500多個併發用戶,那麼你就有一些餘地。

但請注意,圍攻實際上更多地是測試您的Web服務器而不是您的Web站點。

正如前面提到的相同的海報硒是一個偉大的工具,但是,希望投入一些時間。實際上,您可以使用Selenium IDE彈出一些測試,然後在Selenium RC的瀏覽器中將它們作爲HTTP套件運行,而無需進入腳本(儘管您希望這樣做)。這種方法的優點和缺點在於,這爲真正的瀏覽器提供了動力,所以在一臺機器上運行測試不會讓您獲得真實世界的結果,因爲您的機器無法跟上。您需要運行並設置SRC和Selenium Grid可能是一項艱鉅的任務,但如果這是您將一次又一次執行的操作,那麼完全值得,尤其是如果您有一點VM知識。

創建Selenium的人現在提供了一個基於商業雲的RC,可運行所有標準瀏覽器並捕獲會話視頻(您可以關閉性能測試)。這是在http://saucelabs.com和負載測試,或免費快速測試在所有瀏覽器,這是偉大的。 (我仍然在本地運行功能測試)。再次,它的成本,但它是合理的。

我說得更清楚一些,因爲你的第一點是「有力地」測試你的網站,我假設這意味着測試所有功能,而不僅僅是測試大量的能量。

除了編寫完整的測試(這是您通常進入腳本的地方,因爲很多事情可以重複使用,例如填寫表單),我不知道有什麼靈丹妙藥。

最後一件事是,在你啓動之前,如果你沒有一個可用性程序,讓一些非程序員/網絡人員使用它並觀察它們並要求它們做各種「任務」(簽名沒有「點擊」的)這聽起來像是可用性測試,但對於這一點來說已經太遲了,但你會驚奇地發現,那些不認爲你喜歡的人會在你的代碼中發現錯誤。這應該有希望開創未測試領域的新視野。

我還沒有找到網絡應用程序的「覆蓋」工具。如果有的話,但我很樂意聽到它。